[Bug 733235] decodebin:Handle the multi-queue size flexible
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Aug 10 04:05:24 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=733235
Sebastian Dröge (slomo) <slomo at coaxion.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #308520|none |needs-work
status| |
--- Comment #25 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 308520:
--> (https://bugzilla.gnome.org/review?bug=733235&attachment=308520)
Please describe in the commit message also *what* you do to fix that, and *how*
that is fixing this case and *why* it is the right thing to do :) Additional to
the problem description.
::: gst/playback/gstdecodebin2.c
@@ +3373,3 @@
+ "'playing' buffering mode", group);
+ group->overrun = TRUE;
+ dbin->extra_buffer_required = FALSE;
This doesn't seem 100% correct. Consider the case where you set
extra_buffer_required=TRUE before. It will then buffer a bit more again. And
then at some point might overrun again. You would then set the limits to small
again, without the extra buffer space, making things even worse.
@@ +3391,3 @@
+ dbin->extra_buffer_required = TRUE;
+ decodebin_set_queue_size (group->dbin, group->multiqueue, FALSE,
+ (group->parent ? group->parent->seekable : TRUE));
Now you have two else cases in multiqueue_overrun_cb() that set the queue size.
It would be good to have the queue size setting all in a single place to keep
code a bit more readable.
--
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