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

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Dec 5 12:27:52 UTC 2017


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

            Bug ID: 791258
           Summary: amcvideoenc: when flushing, better handle
                    IllegalStateException received from getOutputBuffer
    Classification: Platform
           Product: GStreamer
           Version: 1.10.5
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: ursula at kangatronix.co.uk
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

I have been stress testing amcvideoenc in a pipeline which was being repeatedly
built up and torn down by GstRTSPServer. I found that sometimes flushing did
not complete as nicely as it should do, with the following in the logs:

11-04 03:21:41.153  1859  2691 I GStreamer+rtspstream: 0:05:26.696659656
0xb88998c0 rtsp-stream.c:3318:update_transport removing 10.0.0.4:42288-42289
11-04 03:21:41.160  1859  2714 D GStreamer+amcvideoenc: 0:05:26.703632531
0xb88cc290
gstamcvideoenc.c:1513:gst_amc_video_enc_handle_frame:<amcvideoenc-omxrkvideoencoderavc17>
Queueing buffer 1: size 622080 time 4201972 flags 0x00000000
11-04 03:21:41.168  1859  2691 I GStreamer+rtspstream: 0:05:26.711672614
0xb88998c0 rtsp-stream.c:1763:caps_notify stream 0xb88a3198 received caps 0x0,
(NULL)
11-04 03:21:41.175  1859  2717 D GStreamer+amcvideoenc: 0:05:26.717868198
0xb88fd150
gstamcvideoenc.c:1017:gst_amc_video_enc_loop:<amcvideoenc-omxrkvideoencoderavc17>
Got output buffer at index 0: size 19653 time 4201972 flags 0x00000000
11-04 03:21:41.176  1859  2717 W GStreamer+amcvideoenc: 0:05:26.719513198
0xb88fd150
gstamcvideoenc.c:1147:gst_amc_video_enc_loop:<amcvideoenc-omxrkvideoencoderavc17>
error: Failed to call Java method: java.lang.IllegalStateException
11-04 03:21:41.176  1859  2717 W GStreamer+amcvideoenc:
java.lang.IllegalStateException
11-04 03:21:41.176  1859  2717 W GStreamer+amcvideoenc:         at
android.media.MediaCodec.getBuffer(Native Method)
11-04 03:21:41.176  1859  2717 W GStreamer+amcvideoenc:         at
android.media.MediaCodec.getOutputBuffer(MediaCodec.java:2886)
11-04 03:21:41.176  1859  2717 W GStreamer+amcvideoenc: 
11-04 03:21:41.181  1859  2691 D GStreamer+amcvideoenc: 0:05:26.724001656
0xb88998c0
gstamcvideoenc.c:1197:gst_amc_video_enc_stop:<amcvideoenc-omxrkvideoencoderavc17>
Stopping encoder
11-04 03:21:41.201  1859  2691 D GStreamer+amcvideoenc: 0:05:26.744296406
0xb88998c0
gstamcvideoenc.c:1225:gst_amc_video_enc_stop:<amcvideoenc-omxrkvideoencoderavc17>
Stopped encoder
11-04 03:21:41.205  1859  2691 D GStreamer+amcvideoenc: 0:05:26.748330739
0xb88998c0
gstamcvideoenc.c:597:gst_amc_video_enc_close:<amcvideoenc-omxrkvideoencoderavc17>
Closing encoder
11-04 03:21:41.211  1859  2691 D GStreamer+amcvideoenc: 0:05:26.754210448
0xb88998c0
gstamcvideoenc.c:613:gst_amc_video_enc_close:<amcvideoenc-omxrkvideoencoderavc17>
Closed encoder

In this case, the pipeline shut down, however, the encoder's being fed by
v4l2src, one of the v4l2src buffers was not released from amcvideoenc, and
starting up the pipeline the next time round fails, as the v4l2bufferpool did
not properly close down the V4L2 device from before. Patch for the issue
attached.

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