[Bug 791258] amcvideoenc: when flushing, better handle IllegalStateException received from getOutputBuffer

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Dec 6 08:32:49 UTC 2017


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

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

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

--- Comment #7 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
commit 236398ee3f603cfee05a026582ecbc0beda516ea (HEAD -> master)
Author: Ursula Maplehurst <ursula at kangatronix.co.uk>
Date:   Fri Dec 1 13:02:12 2017 +0000

    androidmedia: when flushing, better handle IllegalStateException received
from getOutputBuffer

    1. Similar to 880f3d8, don't consider not getting an output buffer as
       an error during flushing. I've seen the following sometimes when
       encoding:

       W GStreamer+amcvideoenc: java.lang.IllegalStateException
       W GStreamer+amcvideoenc:         at
android.media.MediaCodec.getBuffer(Native Method)
       W GStreamer+amcvideoenc:         at
android.media.MediaCodec.getOutputBuffer(MediaCodec.java:2886)

    2. For amcvideodec/enc, call _find_nearest_frame (which grabs a fresh
       reference on a GstVideoCodecFrame) after we have an output buffer,
       so as to not leak the reference, in case getting an output buffer
       fails.

       Otherwise, if we get an error grabbing the output buffer, we leak
       the reference to the frame. This can cause issues with a
       v4l2bufferpool feeding the encoder not being able to clean itself
       up properly due to buffers still being marked as in-use.

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

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