<font><div>Hi Ross,</div></font>I add a class  H264VideoUDPSource to live555 for my IP Camera project. <div>when  played by VLC, its picture does not updated,and i can see a lot of picture drop in VLC information. <br><div>code is like this:<font><div>class H264VideoUDPSource: public FramedSource</div><div><br></div><div>void H264VideoUDPSource::doGetNextFrame() {</div><div>//fill a h264 frame</div><div>...</div></font><div>//set timestamp, since it is live source, i guess it can be wall clock time?</div> gettimeofday(&fPresentationTime, NULL);</div><div>//live source don't need set duration</div><div>//fDurationInMicroseconds</div><div><div>  nextTask() = envir().taskScheduler().scheduleDelayedTask(0,</div><div><span class="Apple-tab-span" style="white-space:pre">                           </span>(TaskFunc*)FramedSource::afterGetting, this);</div></div><div>}</div><div><br></div><div><br></div><div>//------</div><div>I also  try another way, when played in VLC, video is ok, but it get pause every few seconds.</div><div><div>  // Set the 'presentation time':</div><div>  if (fPresentationTime.tv_sec == 0 && fPresentationTime.tv_usec == 0) </div><div>    gettimeofday(&fPresentationTime, NULL);</div><div>  else </div><div>  <span class="Apple-tab-span" style="white-space:pre">   </span>{</div><div>    // Increment by the play time of the previous frame:</div><div>    unsigned uSeconds = fPresentationTime.tv_usec + 1000000/25; //25fps, the real frame speed from camera is about 5~7frames/s</div><div>    fPresentationTime.tv_sec += uSeconds/1000000;</div><div>    fPresentationTime.tv_usec = uSeconds%1000000;</div><div>  }</div></div><div><font><div><br></div><div><br></div><div>Thank you!</div><div>jerry yang</div><div><br></div></font></div></div>