GNOME Bugzilla – Bug 678329
Setting ring-buffer-max-size on playbin2 degrades playback
Last modified: 2014-11-24 14:12:20 UTC
Created attachment 216682 [details] Playback tutorial 3 from the GStreamer SDK When setting the Download flag on playbin2 and limiting the ring-buffer-max-size, playback is interrupted constantly by buffering messages. The network is fast enough to play flawlessly if ring-buffer-max-size is disabled. Find attached sample code (taken from docs.gstreamer.com). Note that the ranges returned by the Buffering Query also look wierd: sometimes the current position is completely outside the dowloaded area.
As mentioned on IRC this does happen without limiting the ringbuffer size too... it's just more noticeable with limiting it.
- g_object_set (pipeline, "ring-buffer-max-size", (guint64)2000000, NULL); The ringbuffer max-size is smaller than the buffer size? this is expected then...
Well spotted. Setting a bigger ring-buffer-size removes the continuous buffering. However, two issues remain: 1. The current position still moves outside the downloaded area (BYTES / TIME discrepancies?) 2. When not limiting the ring-buffer-size (and the network is slow), it goes to buffering even when, apparently, there's still downloaded data available (again, this might be a discrepancy between the BYTES format used for the buffering query and the TIME format used for position queries)
(In reply to comment #3) > Well spotted. Setting a bigger ring-buffer-size removes the continuous > buffering. > However, two issues remain: > 1. The current position still moves outside the downloaded area (BYTES / TIME > discrepancies?) I think so. what format? > 2. When not limiting the ring-buffer-size (and the network is slow), it goes to > buffering even when, apparently, there's still downloaded data available > (again, this might be a discrepancy between the BYTES format used for the > buffering query and the TIME format used for position queries) Yes, likely
(In reply to comment #4) > I think so. what format? I do not understand the question. The buffering query is made in GST_FORMAT_PERCENT and the position/duration query in GST_FORMAT_TIME. The code is attached.
(In reply to comment #5) > (In reply to comment #4) > > I think so. what format? > > I do not understand the question. The buffering query is made in > GST_FORMAT_PERCENT and the position/duration query in GST_FORMAT_TIME. The code > is attached. The container and codec that you used.
Created attachment 216752 [details] Media details
The media is a Webm with Vorbis/VP8
Does this still happen with 1.x ? Note that there are known issues with queue2 that are only fixed post-0.10.36 (not even sure all were fixed in 0.10 git).
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for. Thanks!