[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