javauis/mmapi_qt/baseline/javasrc/com/nokia/microedition/media/protocol/SourceStreamReader.java
changeset 79 2f468c1958d0
parent 26 dc7c549001d5
--- 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);
             }