[Bug 733235] decodebin:Handle the multi-queue size flexible

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Aug 18 05:22:43 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=733235

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #40 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Please test if these changes work fine for you


commit a3b24f0241bd55a005a072ba8ddcd53e0fdbf827
Author: Sebastian Dröge <sebastian at centricular.com>
Date:   Tue Aug 18 15:16:25 2015 +0300

    decodebin: If extra buffers are going to be required, we're still
prerolling

commit 1ea81114ea6bd48b581f19002018680933aa7a12
Author: Sebastian Dröge <sebastian at centricular.com>
Date:   Tue Aug 18 15:01:33 2015 +0300

    decodebin: Store extra_buffer_required per group, not globally

    It's only relevant for each group, and by storing it in the group
    we have locking and everything else like for the other buffering-related
    variables. Locking looks a bit fishy still, but it was like that for a long
    time already so shouldn't be worse than before.

commit 5c8ef0ea05123506dfc35c70c8b165bca7435dad
Author: Myoungsun Lee <ohmygod0327 at gmail.com>
Date:   Thu Jul 30 10:33:25 2015 +0900

    decodebin: Handle the preroll multi-queue size

    Overview:
    There are some of interleaved streams which has long-term location of audio
data.
    It mean the audio data is located far away more than multiqueue size.
    In this case, because of multiqueue overrun, the pipeline is stopped.
    To prevent hanging-like state, the decodebin needs to handle the queue
size.

    Caused:
    The multiqueue size is not enough, the pipeline will stay being stalled
status
    and decodebin cannot complete to build decode chain.
    In this issue file, decodebin did not receive no_more_pads signal or audio
data yet.

    Steps to Reproduce:
    play the high-resolution(4K file) files or some streaming media(push mode).

    Actual Results:
    There is no audio or subtitle.
    We can see only video or infinite loading.

    Resolution:
    Decodebin detect this problem, and add extra buffer size to multiqueue.
    The multiqueue is larger than before, the next data can be pushed the
downstream element.

    Additional Information:
    The max-preroll extra buffer size is set 8MB.
    We can use total pre-roll buffer 10MB.
    Only first overrun callback can handle multiqueue size.

    https://bugzilla.gnome.org/show_bug.cgi?id=733235

-- 
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