[Live-devel] Live555 Streaming from a live source

Sagi Ben Moshe sagi at netvision.net.il
Thu Jul 8 13:53:06 PDT 2010


Hi, 

 

We are trying to stream from a live source with Live555. 

We implement our own DeviceSource class. In this class we implement
doGetNextFrame in the following (logic) way. We remove all the unnecessary
implementation details so you can see the idea 

 

If no frame is available do the following

 

  nextTask() =
envir().taskScheduler().scheduleDelayedTask(30000,(TaskFunc*)nextTime,
this);

If a frame is available do the following 

 

If (fFrameSize < fMaxSize)

{

memcpy(fTo, Buffer_getUserPtr(hEncBuf) ,fFrameSize); // copy the frame to
Live555 

nextTask() =
envir().taskScheduler().scheduleDelayedTask(0,(TaskFunc*)FramedSource::after
Getting, this);

}

else 

{

What should we do? (We do not understand what should we do in this option) 

}

 

As you can see we would like to feed the Live555 frame by frame from the
live source. However, after some calls of the function doGetNextFrame the
fMaxSize is smaller than fFrameSize and the application is in deadlock
state. 

We do not understand what should we do in order to eliminate this state. 

We can give part of a frame to Live555 but then it means that we are not
going to feed the Live555 library in frame by frame scenario. (We can build
a byte buffer between the live source and live555 but we do not sure it is
the right way) 

 

Please let us know what is the preferred way of handing this issue 

 

Thanks,

Sagi

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20100708/6a0d2814/attachment.html>


More information about the live-devel mailing list