[Live-devel] problems with New FramedSource creation

anand meher kvmsanand at gmail.com
Wed Dec 3 05:46:30 PST 2008


Hi everyone,
                   I am developing software which is a multithreaded program
and one thread requires the transport stream packets to be streamed from my
data structures. I should also take care of mutual exclusion to the access
of the data structure .I have created a new Device Source and implemented
the doGetNextFrame() and deliverFrame() functions.

the doGetNextFrame() function reads from the data strcutres and calls the
deliver frame function.
the deliverFrame function copies the data to fTo and then deletes the
respective bytes from the data strucutre.

//I have modelled the actual thread which streams along the lines of
testMPEG2TransportStreamer.cpp




in the play() function i do the following steps

vectorSource = VectorDeviceSource::createNew(*env, g_packets_outputvector,
g_packets_outputvectorlock,signal_vector);

//where vectorSource is the new Device Source i have created.

videoSource = MPEG2TransportStreamFramer::createNew(*env, vectorSource);
 //then i create a videoSource for Framer and i pass theVectorSource object.

then i call

videoSink->startPlaying(*videoSource, afterPlaying, videoSink);




BUT my program some how does not work properly...

firslty it gets stuck in the deliverFrame() function always ....and uses lot
of CPU and causes the other threads running to slow down as well.....

I read some of the posts of live555 and feared that may be the program is
going to a infinite loop..so i tried using the watchVariable in the event
loop , but even that did not work .....


1) it would be great if some can help me in what i am missing .....


i can claify if something is missing .........

Regards
Anand.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20081203/189632cb/attachment.html>


More information about the live-devel mailing list