[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