mpegtsbase: Move known PSI PIDs to where they belong

This avoids tsdemux parsing data is doesn't really care about

Conflicts:

	gst/mpegtsdemux/mpegtsparse.c
This commit is contained in:
Edward Hervey 2012-06-28 18:04:10 +02:00 committed by Sebastian Dröge
parent ada9990092
commit d3271381ee
2 changed files with 31 additions and 20 deletions

View file

@ -200,33 +200,14 @@ mpegts_base_reset (MpegTSBase * base)
memset (base->is_pes, 0, 1024);
memset (base->known_psi, 0, 1024);
/* Known PIDs : PAT, CAT, TSDT, IPMP CIT */
/* Known PIDs : PAT, TSDT, IPMP CIT */
MPEGTS_BIT_SET (base->known_psi, 0);
MPEGTS_BIT_SET (base->known_psi, 1);
MPEGTS_BIT_SET (base->known_psi, 2);
MPEGTS_BIT_SET (base->known_psi, 3);
/* NIT, ST */
MPEGTS_BIT_SET (base->known_psi, 0x10);
/* SDT, BAT, ST */
MPEGTS_BIT_SET (base->known_psi, 0x11);
/* EIT, ST, CIT (TS 102 323) */
MPEGTS_BIT_SET (base->known_psi, 0x12);
/* RST, ST */
MPEGTS_BIT_SET (base->known_psi, 0x13);
/* TDT, TOT, ST */
MPEGTS_BIT_SET (base->known_psi, 0x14);
/* network synchronization */
MPEGTS_BIT_SET (base->known_psi, 0x15);
/* RNT (TS 102 323) */
MPEGTS_BIT_SET (base->known_psi, 0x16);
/* inband signalling */
MPEGTS_BIT_SET (base->known_psi, 0x1c);
/* measurement */
MPEGTS_BIT_SET (base->known_psi, 0x1d);
/* DIT */
MPEGTS_BIT_SET (base->known_psi, 0x1e);
/* SIT */
MPEGTS_BIT_SET (base->known_psi, 0x1f);
/* FIXME : Commenting the Following lines is to be in sync with the following
* commit

View file

@ -108,6 +108,7 @@ static gboolean push_event (MpegTSBase * base, GstEvent * event);
#define mpegts_parse_parent_class parent_class
G_DEFINE_TYPE (MpegTSParse2, mpegts_parse, GST_TYPE_MPEGTS_BASE);
static void mpegts_parse_reset (MpegTSBase * base);
static void
mpegts_parse_class_init (MpegTSParse2Class * klass)
@ -136,6 +137,7 @@ mpegts_parse_class_init (MpegTSParse2Class * klass)
ts_class->push_event = GST_DEBUG_FUNCPTR (push_event);
ts_class->program_started = GST_DEBUG_FUNCPTR (mpegts_parse_program_started);
ts_class->program_stopped = GST_DEBUG_FUNCPTR (mpegts_parse_program_stopped);
ts_class->reset = GST_DEBUG_FUNCPTR (mpegts_parse_reset);
}
static void
@ -147,6 +149,34 @@ mpegts_parse_init (MpegTSParse2 * parse)
gst_element_add_pad (GST_ELEMENT (parse), parse->srcpad);
}
static void
mpegts_parse_reset (MpegTSBase * base)
{
/* Set the various know PIDs we are interested in */
/* CAT */
MPEGTS_BIT_SET (base->known_psi, 1);
/* NIT, ST */
MPEGTS_BIT_SET (base->known_psi, 0x10);
/* SDT, BAT, ST */
MPEGTS_BIT_SET (base->known_psi, 0x11);
/* EIT, ST, CIT (TS 102 323) */
MPEGTS_BIT_SET (base->known_psi, 0x12);
/* RST, ST */
MPEGTS_BIT_SET (base->known_psi, 0x13);
/* RNT (TS 102 323) */
MPEGTS_BIT_SET (base->known_psi, 0x16);
/* inband signalling */
MPEGTS_BIT_SET (base->known_psi, 0x1c);
/* measurement */
MPEGTS_BIT_SET (base->known_psi, 0x1d);
/* DIT */
MPEGTS_BIT_SET (base->known_psi, 0x1e);
/* SIT */
MPEGTS_BIT_SET (base->known_psi, 0x1f);
}
static gboolean
push_event (MpegTSBase * base, GstEvent * event)
{