<div>Hi</div>
<div>I am making multiple client so i can receive the multiple streams (H264 1080P 30fps).</div>
<div>I have modified the single step in the basictaskscheduler as </div>
<div> </div>
<div>1. While one loop is removed </div>
<div><font size="2"><font color="#0000ff" size="2"><font color="#0000ff" size="2">
<p>void</p></font></font><font size="2"> BasicTaskScheduler0::doEventLoop(</font><font color="#0000ff" size="2"><font color="#0000ff" size="2">char</font></font><font size="2">* watchVariable) {
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">// Repeatedly loop, handling readble sockets and timed events:</font></font><font size="2">
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">// while (1) {</font></font><font size="2">
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (watchVariable != NULL && *watchVariable != 0)
<p>{</p>
<p>}</p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">else</font></font><font size="2">
<p>SingleStep();</p>
<p></p></font><font color="#008000" size="2"><font color="#008000" size="2">// }</font></font><font size="2">
<p>}</p></font>
<p>2. call back function is modified</p><font size="2">
<p>Boolean FileSink::continuePlaying() {</p>
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (fSource == NULL) </font><font color="#0000ff" size="2"><font color="#0000ff" size="2">return</font></font><font size="2"> False;
<p>fSource->getNextFrame(fBuffer, fBufferSize,</p>
<p><font color="#ff0000">myafterGettingFrame</font>, </p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">this</font></font><font size="2">,
<p>onSourceClosure, </p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">this</font></font><font size="2">);
<p></p></font><font color="#0000ff" size="2"><font color="#0000ff" size="2">return</font></font><font size="2"> True;
<p>}</p></font>
<p>3. <font color="#ff0000">myafterGettingFrame set a flag <font size="2"></font></font></p>
<p>data_available</p></font>
<p>4.  call this function to get the data</p>
<p>while (1)</p>
<p>{</p>
<p>env1->taskScheduler().doEventLoop();</p>
<p><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (data_available == TRUE)</font></p>
<p>{</p>
<p>fileSink1->AftetGetFrame();</p>
<p>data_available = FALSE;</p>
<p>}</p>
<p>env2->taskScheduler().doEventLoop();</p>
<p><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (data_available == TRUE)</font></p>
<p>{</p>
<p>fileSink2->AftetGetFrame();</p>
<p>data_available = FALSE;</p>
<p>}</p>
<p>env3->taskScheduler().doEventLoop();</p>
<p><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (data_available == TRUE)</font></p>
<p>{</p>
<p>fileSink3->AftetGetFrame();</p>
<p>data_available = FALSE;</p>
<p>}</p>
<p>env4->taskScheduler().doEventLoop();</p>
<p><font color="#0000ff" size="2"><font color="#0000ff" size="2">if</font></font><font size="2"> (data_available == TRUE)</font></p>
<p>{</p>
<p>fileSink4->AftetGetFrame();</p>
<p>data_available = FALSE;</p>
<p>}</p>
<p>}</p>
<p> </p>
<p>When i receive single channel i receive without any errors.</p>
<p>But when i receive two or more streams then there is error in the decoder (H264 decoding)</p>
<p>Can anybody tell me the way i am calling the here is correct?</p>
<p>Or Do i need to call  env->taskScheduler().doEventLoop(); in seperate thread?</p>
<p>Please guide in this regards,</p>
<p>Komal Kumar</p></div>