[meego-commits] 24118: Changes to MeeGo:1.2:oss/gst-plugins-flumpegdemux

jieyang no_reply at build.meego.com
Fri Sep 23 05:14:39 UTC 2011


Hi,
I have made the following changes to gst-plugins-flumpegdemux in project MeeGo:1.2:oss. Please review and accept ASAP.

Thank You,
jieyang

[This message was auto-generated]

---

Request #24118:

  submit:   MeeGo:1.2:oss:Testing/gst-plugins-flumpegdemux -> MeeGo:1.2:oss/gst-plugins-flumpegdemux


Message:
    forward

State:   new          2011-09-22T22:03:29 jieyang
Comment: None



changes files:
--------------

new:
----
  0002-emit-no-more-pad-singal.patch

spec files:
-----------
--- gst-plugins-flumpegdemux.spec
+++ gst-plugins-flumpegdemux.spec
@@ -18,6 +18,7 @@
 Source0:    gst-fluendo-mpegdemux-%{version}.tar.bz2
 Source100:  gst-plugins-flumpegdemux.yaml
 Patch0:     0001-add-DVB-subtitle-support.patch
+Patch1:     0002-emit-no-more-pad-singal.patch
 BuildRequires:  %{gstreamer}-devel >= %{gst_minver}
 BuildRequires:  gettext
 
@@ -32,6 +33,8 @@
 
 # 0001-add-DVB-subtitle-support.patch
 %patch0 -p1
+# 0002-emit-no-more-pad-singal.patch
+%patch1 -p1
 # >> setup
 # << setup
 

other changes:
--------------

++++++ 0002-emit-no-more-pad-singal.patch (new)
--- 0002-emit-no-more-pad-singal.patch
+++ 0002-emit-no-more-pad-singal.patch
+From e94928e96ddc638f6fb74282031f47ecaf74e5bc Mon Sep 17 00:00:00 2001
+From: WuZhiwen <wuzw at wuzw-desktop.intel.com>
+Date: Fri, 23 Sep 2011 11:02:37 +0800
+Subject: [PATCH] emit no-more-pad singal
+
+---
+ src/gstmpegtsdemux.c |   44 ++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 44 insertions(+), 0 deletions(-)
+
+diff --git a/src/gstmpegtsdemux.c b/src/gstmpegtsdemux.c
+index 80b82b2..b27c7c2 100644
+--- a/src/gstmpegtsdemux.c
++++ b/src/gstmpegtsdemux.c
+@@ -201,6 +201,7 @@ static GstStateChangeReturn gst_fluts_demux_change_state (GstElement * element,
+ static FluTsPmtInfo *fluts_demux_build_pmt_info (GstFluTSDemux * demux,
+     guint16 pmt_pid);
+ 
++static gboolean gst_fluts_demux_no_more_pads (GstFluTSDemux *demux);
+ 
+ static GstElementClass *parent_class = NULL;
+ 
+@@ -1262,6 +1263,10 @@ gst_fluts_demux_data_cb (GstPESFilter * filter, gboolean first,
+     /* activate and add */
+     gst_pad_set_active (srcpad, TRUE);
+     gst_element_add_pad (GST_ELEMENT_CAST (demux), srcpad);
++    if (gst_fluts_demux_no_more_pads (demux)) {
++      GST_DEBUG_OBJECT (demux, "all elementary pads added, issue no-more-pads signal");
++      gst_element_no_more_pads ((GstElement *) demux);
++    }
+ 
+     demux->need_no_more_pads = TRUE;
+ 
+@@ -3461,3 +3466,42 @@ gst_fluts_demux_plugin_init (GstPlugin * plugin)
+ 
+   return TRUE;
+ }
++
++gboolean 
++gst_fluts_demux_no_more_pads (GstFluTSDemux *demux)
++{
++  gint i;
++  GstFluTSPMT *PMT = NULL;
++  GstFluTSStream *stream = NULL;
++
++  g_return_val_if_fail (demux, FALSE);
++
++  //check the elementary stream from pmt
++  if (demux->current_PMT == 0 || demux->streams[demux->current_PMT] == NULL)
++    return FALSE;
++
++  PMT = &(demux->streams[demux->current_PMT]->PMT);
++
++  for (i = 0; i < PMT->entries->len; i++) {
++    GstFluTSPMTEntry *cur_entry = &g_array_index (PMT->entries, GstFluTSPMTEntry, i);
++    stream = demux->streams[cur_entry->PID];
++    if (!stream->pad) {
++      return FALSE;
++    }
++  }
++
++  if (!demux->elementary_pids || demux->nb_elementary_pids == 0) {
++    //no es pids provided
++    return TRUE;
++  }
++
++  //check extra stream created by PROP_ES_PIDS property
++  for (i = 0; i < demux->nb_elementary_pids; i++) {
++    stream = demux->streams[demux->elementary_pids[i]];
++    if (!stream->pad) {
++      return FALSE;
++    }
++  }
++
++  return TRUE;
++}
+-- 
+1.7.1
+

++++++ gst-fluendo-mpegdemux-0.10.58.tar.bz2
--- src/gstmpegtsdemux.c
+++ src/gstmpegtsdemux.c
@@ -200,7 +200,6 @@
 
 static FluTsPmtInfo *fluts_demux_build_pmt_info (GstFluTSDemux * demux,
     guint16 pmt_pid);
-static gboolean gst_fluts_demux_no_more_pads (GstFluTSDemux *demux);
 
 
 static GstElementClass *parent_class = NULL;
@@ -1258,11 +1257,6 @@
     /* activate and add */
     gst_pad_set_active (srcpad, TRUE);
     gst_element_add_pad (GST_ELEMENT_CAST (demux), srcpad);
-    if (gst_fluts_demux_no_more_pads (demux)) {
-      GST_DEBUG_OBJECT (demux, "all elementary pads added, issue no-more-pads signal");
-      gst_element_no_more_pads ((GstElement *) demux);
-    }
-    demux->need_no_more_pads = TRUE;
 
     demux->need_no_more_pads = TRUE;
 
@@ -3462,43 +3456,3 @@
 
   return TRUE;
 }
-
-gboolean 
-gst_fluts_demux_no_more_pads (GstFluTSDemux *demux)
-{
-  gint i;
-  GstFluTSPMT *PMT = NULL;
-  GstFluTSStream *stream = NULL;
-
-  g_return_val_if_fail (demux, FALSE);
-
-
-  //check the elementary stream from pmt
-  if (demux->current_PMT == 0 || demux->streams[demux->current_PMT] == NULL)
-    return FALSE;
-
-  PMT = &(demux->streams[demux->current_PMT]->PMT);
-
-  for (i = 0; i < PMT->entries->len; i++) {
-    GstFluTSPMTEntry *cur_entry = &g_array_index (PMT->entries, GstFluTSPMTEntry, i);
-    stream = demux->streams[cur_entry->PID];
-    if (!stream->pad) {
-      return FALSE;
-    }
-  }
-
-  if (!demux->elementary_pids || demux->nb_elementary_pids == 0) {
-    //no es pids provided
-    return TRUE;
-  }
-
-  //check extra stream created by PROP_ES_PIDS property
-  for (i = 0; i < demux->nb_elementary_pids; i++) {
-    stream = demux->streams[demux->elementary_pids[i]];
-    if (!stream->pad) {
-      return FALSE;
-    }
-  }
-
-  return TRUE;
-}

++++++ gst-plugins-flumpegdemux.yaml
--- gst-plugins-flumpegdemux.yaml
+++ gst-plugins-flumpegdemux.yaml
@@ -9,6 +9,8 @@
     - gst-fluendo-mpegdemux-%{version}.tar.bz2
 Patches:
     - 0001-add-DVB-subtitle-support.patch
+    - 0002-emit-no-more-pad-singal.patch
+
 Description: Fluendo GStreamer plug-in for MPEG demuxing.
 
 PkgBR:



More information about the MeeGo-commits mailing list