<div style="line-height:1.7;color:#000000;font-size:14px;font-family:arial">If I did as you said. VLC always said the input buffer is empty.<br><br><br><br><br><div></div><div id="divNeteaseMailCard"></div><br>At 2013-10-26 12:05:12,"Ross Finlayson" <finlayson@live555.com> wrote:<br> <blockquote id="isReplyContent" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><blockquote type="cite"><div style="line-height: 1.7; font-family: arial;">    nextTask() = envir().taskScheduler().scheduleDelayedTask(20000,(TaskFunc*)FramedSource::afterGetting, this);<br></div></blockquote>[...]<br><div><blockquote type="cite"><div style="line-height: 1.7; font-family: arial;">   nextTask() = envir().taskScheduler().scheduleDelayedTask(8000,(TaskFunc*)FramedSource::afterGetting, this);<br></div></blockquote><br></div>This is wrong.  Once you've delivered a frame of data (using your "GetNextAudioFrame()"/"GetNextVideoFrame()" calls) to the downstream object, you shouldn't be delaying at all before you complete delivery of the object.  Instead, just call</div><div><span class="Apple-tab-span" style="white-space: pre;">  </span>FramedSource::afterGetting(this):</div><div>directly, in each case.</div><div><br></div><div>Note, however, that you call this ***only if*** you were able to successfully deliver a frame of data - i.e., if the acquired frame size was >0.  If, instead, you were not able to deliver a frame of data (i.e., the acquired frame size was 0), then you must arrange for the delivery (and the call to "FramedSource::afterGetting(this):") to take place later, when a frame of data becomes available.</div><div><br></div><div>Once again, I suggest using the "DeviceSource" code as a model.</div><br><br><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></div></div></blockquote></div><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>