[Bug 715192] videodecoder: Cannot accumulate buffer while downstream is blocked

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jan 19 05:46:47 PST 2015


https://bugzilla.gnome.org/show_bug.cgi?id=715192
  GStreamer | gst-plugins-base | git master

George Kiagiadakis <george.kiagiadakis> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |george.kiagiadakis at collabor
                   |                            |a.com

--- Comment #19 from George Kiagiadakis <george.kiagiadakis at collabora.com> 2015-01-19 13:46:41 UTC ---
I have recently encountered this problem here. My usage scenario is omxvideodec
running on a rpi with the following pipeline:

 filesrc ! queue ! decodebin (typefind ! h264parse ! omxh264dec) ! custom video
sink

This video sink is made so that it blocks in render() until the frame has been
displayed, so eventually the time that the lock is available for the queue
thread to push frames in, is minimal.

Eventually, I found it was causing big delays (big enough to skip frames) on
the call to GST_VIDEO_DECODER_STREAM_LOCK(decoder) inside the
gst_omx_video_dec_loop() function. Obviously the queue thread also needs some
time to run, so it is reasonable to lock the other thread out for a while,
however it is a problem to skip frames.

I solved this with the following patches:

http://cgit.collabora.com/git/user/gkiagia/gst-plugins-base.git/commit/?h=sil-1.2.0&id=905f138876c55f8c906925f13971efa49ca66c51
http://cgit.collabora.com/git/user/gkiagia/gst-omx.git/commit/?h=sil-1.0.0.2&id=690e303dc64009d32acd2b7ebee654ee893bfe24

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