[linux-dvb] CC when using software demux

Felix Domke tmbinc at elitedvb.net
Fri Aug 12 16:01:07 CEST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

when starting a new section feed, using hardware with TS PID filters, so
the software demux is used, it seems that the first useable section will
be dropped in many (most) cases.

As far as i understand dvb_dmx_swfilter_section_packet, the CC will be
checked, and if it's not ok (like on the first packet, or after a
discontinuity), the whole packet will be dropped, regardless if there's
PUSI set.

However, i think, if PUSI is set, the packet doesn't need to be dropped,
only the "before" part.

Effectively, on most section pids, currently the first section is always
dropped. This increases, for example, the zapping time by 2 periods of
the PAT/PMT repetition. Is this the indended behaviour, or am i just
missing something here?

So my (untested, please comment!) suggestion is:

- --- dvb_demux.c 2 Mar 2005 21:42:00 -0000   1.63
+++ dvb_demux.c 12 Aug 2005 13:55:58 -0000
@@ -336,7 +336,6 @@ static int dvb_dmx_swfilter_section_pack
   */
   feed->pusi_seen = 0;
   dvb_dmx_swfilter_section_new(feed);
- -  return 0;
  }

  if (buf[1] & 0x40) {

Details:
dvb_dmx_swfilter_section_copy_dump ignores data if pusi_seen is 0.
pusi_seen will stay 0 after a discontinuity, thus everything before the
next PUSI will be dropped. pusi_seen is set in the correct situation to
1 (right before processing the valid "after" data).

Comments?

Felix
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (MingW32)

iD8DBQFC/KujNPfnQ8mzczcRAvriAJ4oYXWFllz/fmRQlIbGq7CIIFMwaACdGAXZ
4gD/r7/haJeYp6Eg7VGGUbU=
=ehKj
-----END PGP SIGNATURE-----




More information about the linux-dvb mailing list