diff -r 4ad59aaee882 -r 2f468c1958d0 javauis/mmapi_qt/baseline/javasrc/com/nokia/microedition/media/protocol/SourceStreamReader.java --- a/javauis/mmapi_qt/baseline/javasrc/com/nokia/microedition/media/protocol/SourceStreamReader.java Fri Sep 17 08:28:21 2010 +0300 +++ b/javauis/mmapi_qt/baseline/javasrc/com/nokia/microedition/media/protocol/SourceStreamReader.java Mon Oct 04 00:10:53 2010 +0300 @@ -236,12 +236,37 @@ { // start new seak thread, thread will notify iWaitObject // when completed - (new SeekThread(iWaitObject, - (SeekControl)control)).start(); + // seek thread will open a new connection in case of http, + // and notify here so that read thread is started + + try + { + synchronized (iWaitObject) + { + Logger.LOG(Logger.EJavaMMAPI, Logger.EInfo,"SourceStreamReader:: read() before creating seekthread thread id = "+Thread.currentThread().getName()); + (new SeekThread(iWaitObject, + (SeekControl)control)).start(); + Logger.LOG(Logger.EJavaMMAPI, Logger.EInfo,"SourceStreamReader::read() - after seekthread before wait"); + + iWaitObject.wait(); + Logger.LOG(Logger.EJavaMMAPI, Logger.EInfo,"SourceStreamReader::read() - after seekthread after wait"); + } + } + catch (InterruptedException ex) + { + Logger.LOG(Logger.EJavaMMAPI, Logger.EInfo,"SourceStreamReader::read() - InterruptedException exception"); + } + + t1 = new Thread(this); + t1.start(); + + + } else { // stream is not seekable, so informing native object + Logger.LOG(Logger.EJavaMMAPI, Logger.EInfo,"SourceStreamReader:: read() before _write "); _write(iHandle, iEventSourceHandle, new byte[ 0 ], 0, ERR_EOF, iPlayerHandle); }