[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