Hi all,
I've encountered a problem with icydemux not working with decodebin; patches that fix it for me are following, and can be pulled from my git tree git://github.com/an146/gst-plugins-good.git; and here's the sample output with 'warning-if-setting-srcpad-caps-fails' one applied: $ gst-launch-1.0 --gst-debug=3 playbin uri=http://u16b.di.fm:80/di_ambient Setting pipeline to PAUSED ... Pipeline is PREROLLING ... 0:00:00.140571669 10141 0x2619b70 WARN GST_PADS gstpad.c:3432:gst_pad_peer_query:<typefindelement0:src> pad has no peer 0:00:00.768875073 10141 0x2619b70 WARN GST_PADS gstpad.c:3432:gst_pad_peer_query:<queue2-0:src> pad has no peer 0:00:00.775417927 10141 0x7f0adc0239e0 WARN icydemux gsticydemux.c:237:gst_icydemux_add_srcpad:<icydemux0> Failed to set caps on src pad 0:00:00.775472401 10141 0x7f0adc0239e0 WARN decodebin gstdecodebin2.c:1707:analyze_new_pad:<icydemux0:src> pad has ANY caps, not able to autoplug to anything 0:00:00.898384015 10141 0x2619b70 WARN basesrc gstbasesrc.c:2710:gst_base_src_loop:<source> error: Internal data flow error. 0:00:00.898422780 10141 0x2619b70 WARN basesrc gstbasesrc.c:2710:gst_base_src_loop:<source> error: streaming task paused, reason not-linked (-1) ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstSoupHTTPSrc:source: Internal data flow error. Additional debug info: gstbasesrc.c(2710): gst_base_src_loop (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstSoupHTTPSrc:source: streaming task paused, reason not-linked (-1) ERROR: pipeline doesn't want to preroll. Anton Novikov (2): icydemux: warning if setting srcpad caps fails icydemux: activate srcpad before setting caps gst/icydemux/gsticydemux.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) -- 1.7.10.2 _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
---
gst/icydemux/gsticydemux.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gst/icydemux/gsticydemux.c b/gst/icydemux/gsticydemux.c index 4970745..757d19d 100644 --- a/gst/icydemux/gsticydemux.c +++ b/gst/icydemux/gsticydemux.c @@ -232,8 +232,10 @@ gst_icydemux_add_srcpad (GstICYDemux * icydemux, GstCaps * new_caps) gst_pad_use_fixed_caps (icydemux->srcpad); - if (icydemux->src_caps) - gst_pad_set_caps (icydemux->srcpad, icydemux->src_caps); + if (icydemux->src_caps) { + if (!gst_pad_set_caps (icydemux->srcpad, icydemux->src_caps)) + GST_WARNING_OBJECT (icydemux, "Failed to set caps on src pad"); + } GST_DEBUG_OBJECT (icydemux, "Adding src pad with caps %" GST_PTR_FORMAT, icydemux->src_caps); -- 1.7.10.2 _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Anton Novikov
Before gst_pad_set_active() is called, the pad has
FLUSHING flag set, so setting the caps fails --- gst/icydemux/gsticydemux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst/icydemux/gsticydemux.c b/gst/icydemux/gsticydemux.c index 757d19d..4265529 100644 --- a/gst/icydemux/gsticydemux.c +++ b/gst/icydemux/gsticydemux.c @@ -231,6 +231,7 @@ gst_icydemux_add_srcpad (GstICYDemux * icydemux, GstCaps * new_caps) g_return_val_if_fail (icydemux->srcpad != NULL, FALSE); gst_pad_use_fixed_caps (icydemux->srcpad); + gst_pad_set_active (icydemux->srcpad, TRUE); if (icydemux->src_caps) { if (!gst_pad_set_caps (icydemux->srcpad, icydemux->src_caps)) @@ -240,7 +241,6 @@ gst_icydemux_add_srcpad (GstICYDemux * icydemux, GstCaps * new_caps) GST_DEBUG_OBJECT (icydemux, "Adding src pad with caps %" GST_PTR_FORMAT, icydemux->src_caps); - gst_pad_set_active (icydemux->srcpad, TRUE); if (!(gst_element_add_pad (GST_ELEMENT (icydemux), icydemux->srcpad))) return FALSE; gst_element_no_more_pads (GST_ELEMENT (icydemux)); -- 1.7.10.2 _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Anton Novikov
On Tue, 2012-05-22 at 15:10 +0400, Anton Novikov wrote:
Hi Anton, > Anton Novikov (2): > icydemux: warning if setting srcpad caps fails > icydemux: activate srcpad before setting caps > > gst/icydemux/gsticydemux.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) thanks for the patches, but could you please put them in bugzilla, so we don't forget about them? http://gstreamer.freedesktop.org/bugs/ http://gstreamer.freedesktop.org/wiki/SubmittingPatches (ignore the outdated bit on how to make patches) Cheers -Tim _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Ok, done; https://bugzilla.gnome.org/show_bug.cgi?id=676549
2012/5/22 Tim-Philipp Müller <[hidden email]>: > On Tue, 2012-05-22 at 15:10 +0400, Anton Novikov wrote: > > Hi Anton, > >> Anton Novikov (2): >> icydemux: warning if setting srcpad caps fails >> icydemux: activate srcpad before setting caps >> >> gst/icydemux/gsticydemux.c | 8 +++++--- >> 1 file changed, 5 insertions(+), 3 deletions(-) > > thanks for the patches, but could you please put them in bugzilla, so we > don't forget about them? > > http://gstreamer.freedesktop.org/bugs/ > > http://gstreamer.freedesktop.org/wiki/SubmittingPatches > (ignore the outdated bit on how to make patches) > > Cheers > -Tim > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |