[Live-devel] FileSink work in infinity loop with continuePlaying()

Brilliantov Kirill Vladimirovich brilliantov at byterg.ru
Thu Dec 5 06:54:55 PST 2013


Hello!
I use live555 2013.12.04 on board with FreeScale iMX53 CPU.
Class File is subclass Filesink, I rewtite void
File::afterGettingFrame(unsigned frameSize, unsigned numTruncatedBytes,
struct timeval presentationTime);
Unfortunally if I use continuePlaying() function in it programm work in
infinity loop, but if I not use continuePlaying() programm saved only
one frame.
Programm is very simple:
// create FramedSource subclass
frame = new Frame(env, SEM_NAME);
// create FileSink subclass
file = File::createNew(env, frame, pwd, MAX_SHARED_SIZE, true, cfg);
// running stream via this->startPlaying(frame, NULL, NULL);
file->start();
// main loop
env->taskScheduler().doEventLoop(&is_stop);

Output without continuePlaying():
virtual void File::afterGettingFrame(unsigned int, unsigned int, timeval)
Starting write file FTP-server // otput after startPlaying()
^CStopping write file to FTP-server //output after stopPlaying()

Output with continuePlaying():
virtual void File::afterGettingFrame(unsigned int, unsigned int, timeval)
virtual void File::afterGettingFrame(unsigned int, unsigned int, timeval)
...........
virtual void File::afterGettingFrame(unsigned int, unsigned int, timeval)
virtual void File::afterGettingFrame(unsigned int, unsigned int, timeval)

How should I rewrite my class for solve this problem?

Thank you and excuse me for my bad english.

-- 
Best regards,
Brilliantov Kirill Vladimirovich



More information about the live-devel mailing list