Mailing List archive

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

[linux-dvb] Re: Tuning with driver 2001-05-28



Johannes Stezenbach <js@convergence.de> said:
>...
> 
> Well, there is a catch associated with setting the PIDs:
> Assuming channel A has video/audio PIDs 100/101, and channel
> B has PIDs 101/102 (on a different transponder, obviously).
> Then when switching from A to B you will get "device or resource
> busy" when trying to set the video PID because the old audio PID
> is still active (the demux hardware allows only one PES filter per PID).
> 
> If the driver is loaded with pids_off=0 (default in the Makefile
> from the CVS distribution), DMX_STOP and/or closing the demux file
> descriptor will *not* free the hardware filter.
> (pids_off=0 is meant to be used with tuxzap/tuxview, so you can
> continue to watch with tuxview after you have quit tuxzap.)
> 
> OTOH, when you try to set a PID filter and it fails, the hardware
> filter formerly associated with this demux file descriptor will be freed.
> 
> Solution: If one of the DMX_SET_PES_FILTER ioctls returned EBUSY,
> retry them all (i.e. set A/V/TT, and when one failed, set A/V/TT again).
> If you have set a teletext PID for some channel, and then tune to a
> channel w/o teletext PID, reset the teletext PID to 0x1fff (which will
> generate an error, but the hardware filter will be freed).
> If you tune to a radio channel, be shure to reset the video PID to
> 0x1fff, too.
> 
I've had the same problem here with switching teletext PIDs. A simpler 
solution is to close/reopen all "PES-type" demux-devices with each channel 
switch, this definitely frees all hardware filter PIDs.

Regards

Rolf




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



Home | Main Index | Thread Index