Mailing List archive

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

Making the driver work 'non-blocking' with PES



I am currently struggling to make the DVB driver work with
non-blocking mode when replaying PES. However, my efforts
so far haven't resulted in a working solution :-(

Here's what I did, maybe somebody else can take a look at
this and possibly make it work:

- get the latest CVS driver version from linuxtv.org:

  cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv login
  cvs -d :pserver:anonymous@linuxtv.org:/cvs/linuxtv co DVB

- get the patch from http://www.cadsoft.de/people/kls/vdr/nonblock.tgz

- apply the patch (3 'diff' files) to the appropriate files in the
  DVB/driver directory

- make the driver

- 'make rmmod' for any running driver version

- 'make insmod' for the patched driver (note: no 'outstream=0'!)

- create a short recording with 'cat /dev/video > x.pes'

- compile the file 'xplay.c' that comes with the 'nonblock.tgz' archive

  g++ xplay.c -o xplay

- run the 'xplay' program in the directory where you created the
  'x.pes' file

The playback is rather distorted and ends way too soon. 
When you change the line 'bool UseSelect = true;' in xplay.c to
'bool UseSelect = false;', then the example program will not use
non-blocking mode, and it runs just fine.

If anybody could tell me what I'm doing wrong here, I'd greatly
appreciate that. Having the driver work with non-blocking mode
is necessary in order to switch VDR from recording AV_PES to PES.

Greetings
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
_______________________________________________________________


Home | Main Index | Thread Index