linux/drivers/media/dvb
Henrik Kurelid 166987c698 V4L/DVB (12482): firedtv: add PID filtering for SW zigzag retune
The AVC protocol uses the same command for tuning and PID filtering and
since dvb-core uses a software zigzagging to do automatic retuning this
could cause all PID filters to be cleared.  PID filter information is
now included in all DSD commands to the card.

Background:

There is a problem in the firedtv driver that causes recordings to stop
if the SW zigzag algorithm in dvb-core kicks in with a retune after the
application has set up the PID filters.  Since tuning and setting PID
filters uses the same AVC command (DSD) and only the replace subfunction
is supported by the card, it is not possible to do a retune without
setting the PID filters.  This means that the PID filtering has to be
sent in each tune.

This problem applies to C and T cards since S and S2 cards tune using a
vendor specific command.  The patch corrects the problem by sending the
PID list in each tune.  I have tested it on my T card with a good
result.

How to trigger problem:  Zap to a channel and output AV to a file, e.g.
"tzap -c channels.conf SVT1 -r -o SVT1.ts".  After a short while, pull
the antenna cable from the card.  The lock on the channel will disappear
and the TS file will stop increasing in size. Wait a couple of seconds.
Replug the cable again.  You will get a lock on the channel again, but
the TS file will never increase in size agains sinze no PIDS are
filtered.

Tested with kaffeine with DVB-T and DVB-C:  Fixes retuning after antenna
was plugged out and back in with DVB-T.  Does not fix this with DVB-C,
but also doesn't regress on DVB-C.

Signed-off-by: Henrik Kurelid <henrik@kurelid.se>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-09-12 12:19:08 -03:00
..
b2c2 V4L/DVB (12294): b2c2: Use dvb-pll for Cablestar2 2009-09-12 12:17:52 -03:00
bt8xx V4L/DVB (12477): Use dst_type field instead of type_flags 2009-09-12 12:19:03 -03:00
dm1105 V4L/DVB (12332): Create card parameters array in SDMC DM1105 driver 2009-09-12 12:18:09 -03:00
dvb-core V4L/DVB (12276): Remove a useless check from dvb_dmx_swfilter_packet() 2009-09-12 12:17:44 -03:00
dvb-usb V4L/DVB: af9015: add new USB ID for KWorld PlusTV Dual DVB-T Stick (DVB-T 399U) 2009-09-12 12:19:06 -03:00
firewire V4L/DVB (12482): firedtv: add PID filtering for SW zigzag retune 2009-09-12 12:19:08 -03:00
frontends V4L/DVB (12481): Fix lowband tuning with tda8261 2009-09-12 12:19:07 -03:00
pluto2
siano V4L/DVB (12451): Update KConfig File to enable SDIO and USB interfaces 2009-08-31 02:24:53 -03:00
ttpci V4L/DVB (12199): remove redundant tests on unsigned 2009-09-12 12:17:23 -03:00
ttusb-budget
ttusb-dec
Kconfig
Makefile