Delay on finishing encoding
There is significant delay on finishing encoding on the sample app. In fact it looks like thread never actually exits until app is killed. Can it be related to below at MediaEncoder.java? isRunning is always true
final boolean isRunning = true; boolean localRequestStop; boolean localRequestDrain; while (isRunning) {
Is thee anyway fix this?
Here is the log
05-19 14:32:31.301 2009-2095/com.serenegiant.screenrecordingsample I/ACodec: [OMX.Exynos.AVC.Encoder] Now Loaded->Idle 05-19 14:32:31.301 2009-2090/com.serenegiant.screenrecordingsample I/ACodec: [] Now uninitialized 05-19 14:32:31.311 2009-2101/com.serenegiant.screenrecordingsample I/OMXClient: Using client-side OMX mux. 05-19 14:32:31.311 2009-2100/com.serenegiant.screenrecordingsample D/libEGL: eglInitialize EGLDisplay = 0x7f6966fee8 05-19 14:32:31.311 2009-2095/com.serenegiant.screenrecordingsample I/ACodec: [OMX.Exynos.AVC.Encoder] Now Idle->Executing 05-19 14:32:31.311 2009-2100/com.serenegiant.screenrecordingsample D/EglCore: EGLContext created, client version 2 05-19 14:32:31.321 2009-2100/com.serenegiant.screenrecordingsample D/mali_winsys: new_window_surface returns 0x3000, [1440x2560]-format:1 05-19 14:32:31.321 2009-2100/com.serenegiant.screenrecordingsample D/SecWifiDisplayUtil: Metadata value : SecSettings2 05-19 14:32:31.321 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: [OMX.google.aac.encoder] Now Loaded 05-19 14:32:31.341 2009-2095/com.serenegiant.screenrecordingsample I/ACodec: [OMX.Exynos.AVC.Encoder] Now Executing 05-19 14:32:31.351 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: >>> getPortFormat 16, OMX.google.aac.encoder 05-19 14:32:31.351 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: [OMX.google.aac.encoder] Now Loaded->Idle 05-19 14:32:31.361 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: [OMX.google.aac.encoder] Now Idle->Executing 05-19 14:32:31.361 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: [OMX.google.aac.encoder] Now Executing 05-19 14:32:31.371 2009-2020/com.serenegiant.screenrecordingsample E/BufferQueueProducer: [SurfaceTexture-1-2009-0] connect(P): already connected (cur=1 req=1) 05-19 14:32:31.391 2009-2100/com.serenegiant.screenrecordingsample D/libEGL: eglInitialize EGLDisplay = 0x7f6966fd18 05-19 14:32:31.421 2009-2100/com.serenegiant.screenrecordingsample D/libEGL: eglInitialize EGLDisplay = 0x7f6966fd18 05-19 14:32:31.421 2009-2100/com.serenegiant.screenrecordingsample D/libEGL: eglInitialize EGLDisplay = 0x7f6966fd18 05-19 14:32:31.651 2009-2117/com.serenegiant.screenrecordingsample I/MPEG4Writer: setStartTimestampUs: 27774058597 05-19 14:32:31.651 2009-2117/com.serenegiant.screenrecordingsample I/MPEG4Writer: Earliest track starting time: 27774058597 05-19 14:32:31.671 2009-2118/com.serenegiant.screenrecordingsample I/MPEG4Writer: setStartTimestampUs: 27774073739 05-19 14:32:37.881 2009-2009/com.serenegiant.screenrecordingsample D/ViewRootImpl: ViewPostImeInputStage processPointer 0 05-19 14:32:37.941 2009-2009/com.serenegiant.screenrecordingsample D/ViewRootImpl: ViewPostImeInputStage processPointer 1 05-19 14:32:37.981 2009-2100/com.serenegiant.screenrecordingsample D/libEGL: eglTerminate EGLDisplay = 0x7f6966fea8 05-19 14:32:37.981 2009-2100/com.serenegiant.screenrecordingsample D/libEGL: eglTerminate EGLDisplay = 0x7f6966fea8 05-19 14:32:37.981 2009-2100/com.serenegiant.screenrecordingsample D/libEGL: eglTerminate EGLDisplay = 0x7f6966fea8 05-19 14:32:37.981 2009-2111/com.serenegiant.screenrecordingsample E/BufferQueueProducer: [SurfaceTexture-1-2009-0] dequeueBuffer: BufferQueue has been abandoned
[ 05-19 14:32:37.981 2998: 2998 D/ ]
NULL == surf->write_back_color_buffer
[ 05-19 14:32:37.981 2998: 2998 W/ ]
GLES-MALI OOM error: failed to allocate CPU memory (gles_fb_first_drawcall_cb at hardware/samsung_slsi/MaliT880_r9p0_12dev0_JF/product/gles/src/fb/mali_gles_fb_module_api.c:1291)
05-19 14:32:37.981 2009-2112/com.serenegiant.screenrecordingsample E/BufferQueueProducer: [SurfaceTexture-1-2009-0] dequeueBuffer: BufferQueue has been abandoned
[ 05-19 14:32:37.981 2998: 2998 D/ ]
NULL == surf->write_back_color_buffer
05-19 14:32:38.021 2009-2100/com.serenegiant.screenrecordingsample D/libEGL: eglTerminate EGLDisplay = 0x7f6966ff58 05-19 14:32:38.121 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: [OMX.google.aac.encoder] Now Executing->Idle 05-19 14:32:38.131 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: [OMX.google.aac.encoder] Now Idle->Loaded 05-19 14:32:38.131 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: [OMX.google.aac.encoder] Now Loaded 05-19 14:32:38.131 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: [OMX.google.aac.encoder] Now kWhatShutdownCompleted event : 6990 05-19 14:32:38.131 2009-2101/com.serenegiant.screenrecordingsample I/MediaCodec: Codec shutdown complete 05-19 14:32:38.131 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: [OMX.google.aac.encoder] Now uninitialized 05-19 14:32:38.131 2009-2101/com.serenegiant.screenrecordingsample I/ACodec: [] Now kWhatShutdownCompleted event : 6990 05-19 14:32:38.131 2009-2101/com.serenegiant.screenrecordingsample I/MediaCodec: Codec shutdown complete
LONG DELAY
05-19 14:32:31.651 2009-2117/com.serenegiant.screenrecordingsample I/MPEG4Writer: setStartTimestampUs: 27774058597 05-19 14:32:31.651 2009-2117/com.serenegiant.screenrecordingsample I/MPEG4Writer: Earliest track starting time: 27774058597 05-19 14:32:31.671 2009-2118/com.serenegiant.screenrecordingsample I/MPEG4Writer: setStartTimestampUs: 27774073739 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Video track stopping 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Video track source stopping 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Video track source stopped 05-19 14:33:26.488 2009-2117/com.serenegiant.screenrecordingsample I/MPEG4Writer: Received total/0-length (576/0) buffers and encoded 576 frames. - Video 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Video track stopped 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Audio track stopping 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Audio track source stopping 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Audio track source stopped 05-19 14:33:26.488 2009-2118/com.serenegiant.screenrecordingsample I/MPEG4Writer: Received total/0-length (275/0) buffers and encoded 275 frames. - Audio 05-19 14:33:26.488 2009-2118/com.serenegiant.screenrecordingsample I/MPEG4Writer: Audio track drift time: 0 us 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Audio track stopped 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Duration from tracks range is [6321020, 6579076] us 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Stopping writer thread 05-19 14:33:26.488 2009-2116/com.serenegiant.screenrecordingsample D/MPEG4Writer: 0 chunks are written in the last batch 05-19 14:33:26.488 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Writer thread stopped 05-19 14:33:26.498 2009-2017/com.serenegiant.screenrecordingsample I/MPEG4Writer: The mp4 file will not be streamable. 05-19 14:33:26.498 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Video track stopping 05-19 14:33:26.498 2009-2017/com.serenegiant.screenrecordingsample D/MPEG4Writer: Audio track stopping