[Bug 720597] decodebin: query allocation always sent twice
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Dec 18 02:32:32 PST 2013
https://bugzilla.gnome.org/show_bug.cgi?id=720597
GStreamer | gst-plugins-base | 1.2.1
--- Comment #5 from Julien Isorce <julien.isorce at gmail.com> 2013-12-18 10:32:27 UTC ---
(In reply to comment #3)
> No you're right :) The flag should be unset somewhere in the middle of the
> allocation procedure before doing the allocation query
I was about to do the fix like the following in
gst_video_decoder_negotiate_default:
ret = gst_pad_set_caps (decoder->srcpad, state->caps);
+if (ret)
+ gst_pad_check_reconfigure (decoder->srcpad);
But then I noticed that when using playbin (or even 2 decodebin: gst-launch-1.0
filesrc location=/home/julien/Videos/mp4/big_buck_bunny.mp4 ! decodebin !
decodebin ! xvimagesink )
then the call gst_pad_peer_query set the reconfigure flag.
So maybe clearing the flag before calling klass->decide_allocation (decoder,
query) is a better place than between gst_pad_set_caps and gst_pad_peer_query.
So something like that in gst_video_decoder_negotiate_pool:
+gst_pad_check_reconfigure (decoder->srcpad);
+
g_assert (klass->decide_allocation != NULL);
ret = klass->decide_allocation (decoder, query);
what do you think ?
Also I think in the end this patch will increase the time that the pipeline
spends before reaching the PAUSED state, mostly for big graphs.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list