Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: [PATCH] Reduce CPU usage during playback



Sascha Volkenandt wrote:
At Freitag, 13. Juni 2003 19:15 Jon Burgess wrote:

I've encountered this behaviour ONLY when replaying MPEG1-Files put into the

Remarkable is, that this patch applies at a completely different location (Poller GETS data, but no playFrame is available afterwards) and drops CPU
It is a bit weird, it appears like the dvbplayer ringbuffer has emptied, which should only happen if the source (the disk) can't keep up with the output device. What is the data rate of the MPEG1 stream?

Could there be some code looking for something MPEG2 specific in the datastream, which an MEPG1 stream doesn't have. Hence it skips filling the ringbuffer for a long time?

If you have a file I can access then I could try to take a look. How are the files generated?

I think dvbplayer would work better and be more reliable if it was split into 2 threads. One reading the disk and filling the ringbuffer, the second emptying the ringbuffer into the output device. It looks like a lot of these usleep()s are making sure that the main loop goes around just fast enough to service the two halves of reading and writing the data without doing too much work. I think it would be simplified if the two task just ran separately.

Jon



--
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index