Mailing List archive

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

[linux-dvb] Re: Replay problems with latest CVS



Andreas Peter wrote:
> 
> Hi,
> i've strange problems with latest CVS (co 12:00).
> Replay with VDR stops after 1-2 s .

Just stumbled over this one here, too.
Please replace the function cReplayBuffer::Output() in dvbapi.c
with the following code:

---------------------------------------------------------
void cReplayBuffer::Output(void)
{
  dsyslog(LOG_INFO, "output thread started (pid=%d)", getpid());

  uchar b[MINVIDEODATA];
  while (Busy()) {
        int r = blockOutput ? 0 : Get(b, sizeof(b));
        if (r > 0) {
           uchar *p = b;
           while (r > 0 && Busy() && !blockOutput) {
                 cFile::FileReadyForWriting(videoDev, 100);
                 int w = write(videoDev, p, r);
                 if (w > 0) {
                    p += w;
                    r -= w;
                    fileOffset += w;
                    }
                 else if (w < 0 && errno != EAGAIN) {
                    LOG_ERROR;
                    Stop(); 
                    return;
                    }
                 }
           }
        if (blockOutput > 1)
           blockOutput = 1;
        }

  dsyslog(LOG_INFO, "output thread ended (pid=%d)", getpid());
}
---------------------------------------------------------

(Sorry it's no 'diff', but I'm currently in the middle of some
heavy editing...)

Klaus
-- 
_______________________________________________________________

Klaus Schmidinger                       Phone: +49-8635-6989-10
CadSoft Computer GmbH                   Fax:   +49-8635-6989-40
Hofmark 2                               Email:   kls@cadsoft.de
D-84568 Pleiskirchen, Germany           URL:     www.cadsoft.de
_______________________________________________________________


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



Home | Main Index | Thread Index