Mailing List archive

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

[vdr] Re: Observations on vdr 1.1.15



On 05 Nov 2002 Klaus Schmidinger <Klaus.Schmidinger@cadsoft.de> wrote:

> I am also observing an unusually high load when doing Transfer Mode from
> my MPEG2 encoder card to the primary DVB-S card (like 15-20%). Haven't yet
> found out, though, what causes this...

I would suggest the following to get rid of the high load and the
buffer empty messages:

--- vdr-1.1.15-orig/transfer.c	Sun Nov  3 12:24:02 2002
+++ vdr-1.1.15/transfer.c	Tue Nov  5 18:30:21 2002
@@ -62,12 +62,9 @@
 
   uchar b[MINVIDEODATA];
   int r = 0;
+  cPoller Poller;
   active = true;
   while (active) {
-
-        //XXX+ Maybe we need this to avoid "buffer empty" log messages from the driver.
-        //XXX+ But then again, it appears to play just fine without this...
-        /*
         if (!gotBufferReserve) {
            if (ringBuffer->Available() < 4 * MAXFRAMESIZE) {
               usleep(100000); // allow the buffer to collect some reserve
@@ -76,7 +73,6 @@
            else
               gotBufferReserve = true;
            }
-           */
 
         // Get data from the buffer:
 
@@ -91,7 +87,7 @@
            uchar *p = remux->Process(b, Count, Result);
            if (p) {
               StripAudioPackets(p, Result, audioTrack);
-              while (Result > 0 && active) {
+              while (Result > 0 && active && DevicePoll(Poller, 10000)) {
                     int w = PlayVideo(p, Result);
                     if (w > 0) {
                        p += w;

-- 
Stefan Huelswitt
huels@iname.com  | http://home.pages.de/~nathan


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



Home | Main Index | Thread Index