[prev in list] [next in list] [prev in thread] [next in thread]
List: gstreamer-cvs
Subject: gst-plugins-bad: mpegtsbase: Move known PSI PIDs to where they belong
From: slomo () kemper ! freedesktop ! org (Sebastian Dröge)
Date: 2012-06-29 8:02:44
Message-ID: 20120629080244.2A0C01004C () kemper ! freedesktop ! org
[Download RAW message or body]
Module: gst-plugins-bad
Branch: master
Commit: d3271381ee81451f89a647dd71d00231856009ca
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=d3271381ee81451f89a647dd71d00231856009ca
Author: Edward Hervey <edward.hervey@collabora.co.uk>
Date: Thu Jun 28 18:04:10 2012 +0200
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
---
gst/mpegtsdemux/mpegtsbase.c | 21 +--------------------
gst/mpegtsdemux/mpegtsparse.c | 30 ++++++++++++++++++++++++++++++
2 files changed, 31 insertions(+), 20 deletions(-)
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index 13dfdb0..1df7119 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -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
diff --git a/gst/mpegtsdemux/mpegtsparse.c b/gst/mpegtsdemux/mpegtsparse.c
index 045635d..6341d0e 100644
--- a/gst/mpegtsdemux/mpegtsparse.c
+++ b/gst/mpegtsdemux/mpegtsparse.c
@@ -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)
{
_______________________________________________
gstreamer-commits mailing list
gstreamer-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic