[Bug 721400] New: playbin: query allocation always sent twice
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Jan 3 07:19:12 PST 2014
https://bugzilla.gnome.org/show_bug.cgi?id=721400
GStreamer | gst-plugins-base | git
Summary: playbin: query allocation always sent twice
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: julien.isorce at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=265222)
View: https://bugzilla.gnome.org/attachment.cgi?id=265222
Review: https://bugzilla.gnome.org/review?bug=721400&attachment=265222
videodecoder: add some debug about pool negotiation
* steps to reproduce:
GST_DEBUG=*videodecoder*:5,2 gst-launch-1.0 playbin
uri=http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4
* actual result:
2 allocation queries. During the second one, the decoder decides the same pool
instance as previously and fails to set the config because already active.
But the caps didn't changed so no really a big problem.
Also at the end it inactivate it and then reactivate the same pool.
This is just weird and not optimal.
Maybe the decoder should call "gst_video_decoder_reset (decoder, TRUE, TRUE);"
before to send the query again, just like when going from paused to ready
state.
Another solution would be to also call "gst_pad_check_reconfigure
(decoder->srcpad);" in "done" label of "gst_video_decoder_negotiate_pool".
After all if the first negotiate succeded, why not clear the reconfigure flag.
What do you think ? :)
* log with the attached patch that add debug and GST_DEBUG=*videodecoder*:5,2 :
0:00:00.073061995 31870 0x1b356d0 DEBUG videodecoder
gstvideodecoder.c:3122:gst_video_decoder_negotiate_pool:<avdec_h264-0> about to
query allocation
0:00:00.146459932 31870 0x1b356d0 DEBUG videodecoder
gstvideodecoder.c:3080:gst_video_decoder_decide_allocation_default:<avdec_h264-0>
setting config <xvimagebufferpool0>
0:00:00.146623625 31870 0x1b356d0 DEBUG videodecoder
gstvideodecoder.c:3132:gst_video_decoder_negotiate_pool:<avdec_h264-0>
ALLOCATION (1) params: allocation query
0:00:00.187834955 31870 0x1b356d0 DEBUG videodecoder
gstvideodecoder.c:3122:gst_video_decoder_negotiate_pool:<avdec_h264-0> about to
query allocation
0:00:00.188163056 31870 0x1b356d0 DEBUG videodecoder
gstvideodecoder.c:3080:gst_video_decoder_decide_allocation_default:<avdec_h264-0>
setting config <xvimagebufferpool0>
0:00:00.188183331 31870 0x1b356d0 WARN bufferpool
gstbufferpool.c:632:gst_buffer_pool_set_config:<xvimagebufferpool0> can't
change config, we are active
0:00:00.188215961 31870 0x1b356d0 WARN bufferpool
gstbufferpool.c:632:gst_buffer_pool_set_config:<xvimagebufferpool0> can't
change config, we are active
0:00:00.188225047 31870 0x1b356d0 DEBUG videodecoder
gstvideodecoder.c:3132:gst_video_decoder_negotiate_pool:<avdec_h264-0>
ALLOCATION (1) params: allocation query
0:00:00.188289928 31870 0x1b356d0 DEBUG videodecoder
gstvideodecoder.c:3162:gst_video_decoder_negotiate_pool:<avdec_h264-0>
inactivate pool <xvimagebufferpool0>
0:00:00.189572092 31870 0x1b356d0 DEBUG videodecoder
gstvideodecoder.c:3169:gst_video_decoder_negotiate_pool:<avdec_h264-0> activate
pool <xvimagebufferpool0>
* other infos:
(In reply to comment #15 of https://bugzilla.gnome.org/show_bug.cgi?id=720597)
> I think it's correct that
> another ALLOCATION query happens if one happened before and then things are
> relinked (e.g. because decodebin exposes the pads, or because it continues
> autoplugging). Doing two ALLOCATION queries just because and if nothing has
> changed is not ideal though, but is this happening here?
--
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