GNOME Bugzilla – Bug 446551
[queue2] Buffering is not working properly if it is set to buffer the entire stream before playing
Last modified: 2007-06-12 08:38:21 UTC
Please describe the problem: When setting the queue2 properties max-size-buffers, max-size-bytes and max-size-time to zero, meaning that no limit is set, it should buffer the entire stream to start playing. But it never starts playing. If we set one of those properties to a value > 0 it works. Steps to reproduce: 1. Create a pipeline with queue2 2. Set the properties mentioned to 0 3. Set use-buffering to true Actual results: The stream isn't played. Expected results: It should buffer the entire stream until EOS and then start playing Does this happen every time? Yes Other information:
Created attachment 89781 [details] [review] Fixes the bug. The problem was that the update_buffering was only called when a buffer was enqueued. In this case, we needed to receive the EOS to start playing, so the update_buffering was never called when it was received and the pipeline remained on buffering status.
Patches by: Thiago Sousa Santos <thiagossantos at gmail dot com> * gst/playback/gstqueue2.c: (update_buffering), (gst_queue_locked_enqueue): Fix a division by zero when the max percent is <= 0. Fixes #446572. also update the buffering status when receiving events. Fixes #446551.