VideoRecorder
VideoRecorder copied to clipboard
: AudioThread#run java.lang.IllegalStateException on KitKat 4.4 (GT-9070)
Recording fails to start on KitKat 4.4 (Samsuns GT-9070), some audio error
09-20 22:02:17.636 16238-16238/com.testaudiovideosample E/dalvikvm: Could not find class 'android.support.v4.app.ActivityCompat$SharedElementCallback21Impl', referenced from method android.support.v4.app.ActivityCompat.setExitSharedElementCallback
09-20 22:02:29.788 16238-16238/com.testaudiovideosample E/VideoRecorder-VideoRecorder: startEncoder:begin
09-20 22:02:29.798 16238-16331/com.testaudiovideosample E/VideoRecorder-VideoRecorder: startEncoder:begin
09-20 22:02:29.938 16238-16331/com.testaudiovideosample E/VideoRecorder-VideoRecorder: supportedType:OMX.ST.VFM.MPEG4Enc,MIME=video/3gpp
supportedType:OMX.ST.VFM.MPEG4Enc,MIME=video/mp4v-es
supportedType:OMX.ST.VFM.H264Enc,MIME=video/avc
supportedType:OMX.google.amrnb.encoder,MIME=audio/3gpp
supportedType:OMX.google.amrwb.encoder,MIME=audio/amr-wb
supportedType:OMX.google.aac.encoder,MIME=audio/mp4a-latm
selected codec: OMX.google.aac.encoder
format: {bitrate=64000, channel-count=1, aac-profile=2, mime=audio/mp4a-latm, sample-rate=44100, channel-mask=16}
09-20 22:02:30.729 16238-16339/com.testaudiovideosample E/BellagioCore: ST Static Component Loader : Cannot open OpenMAX registry file /tmp/.omxregister
09-20 22:02:30.739 16238-16339/com.testaudiovideosample E/BellagioCore: Component loader 1 constructor fails. Error= 0x80001000
09-20 22:02:30.769 16238-16331/com.testaudiovideosample E/VideoRecorder-VideoRecorder: prepare finishing
09-20 22:02:31.640 16238-16337/com.testaudiovideosample E/ACodec: OMX/mediaserver died, signalling error!
09-20 22:02:31.640 16238-16336/com.testaudiovideosample E/MediaCodec: Codec reported an error. (omx error 0x8000100d, internalError -32)
09-20 22:02:31.640 16238-16339/com.testaudiovideosample E/ACodec: OMX/mediaserver died, signalling error!
09-20 22:02:31.640 16238-16339/com.testaudiovideosample E/MediaCodec: Codec reported an error. (omx error 0x8000100d, internalError -32)
09-20 22:02:31.640 16238-16259/com.testaudiovideosample E/Surface: queueBuffer: error queuing buffer to SurfaceTexture, -32
09-20 22:02:31.640 16238-16259/com.testaudiovideosample E/[EGL-ERROR]: void __egl_platform_queue_buffer(mali_base_ctx_handle, egl_buffer*):1122: unable to queue buffer (0x52ac32ac)
09-20 22:02:31.650 16238-16258/com.testaudiovideosample E/Camera: Error 100
09-20 22:02:37.495 16238-16343/com.testaudiovideosample E/VideoRecorder: AudioThread#run
java.lang.IllegalStateException
at android.media.MediaCodec.getBuffers(Native Method)
at android.media.MediaCodec.getInputBuffers(MediaCodec.java:542)
at com.erlei.videorecorder.encoder.MediaEncoder.encode(MediaEncoder.java:249)
at com.erlei.videorecorder.encoder.MediaAudioEncoder$AudioThread.run(MediaAudioEncoder.java:154)
I tried to disable Audio Media Codec
mMuxer = new MediaMuxerWrapper(mOutputFile.getAbsolutePath(), mConfig.viewHandler);
mVideoEncoder = new MediaVideoEncoder(mMuxer, mConfig);
//new MediaAudioEncoder(mMuxer, mConfig);
mMuxer.prepare();
**mMuxer.startRecording();**
But now I get error with Video Media Codec as well on this device
09-20 22:16:55.263 17509-17542/com.test.audiovideosample E/[EGL-ERROR]: void __egl_platform_dequeue_buffer(egl_surface*):1385: failed to dequeue buffer from native window (0x52aa47e8); err = -32, buf = 0x0
09-20 22:16:55.273 17509-17521/com.test.audiovideosample W/CameraBase: Camera service died!
09-20 22:16:55.273 17509-17594/com.test.audiovideosample E/ACodec: OMX/mediaserver died, signalling error!
09-20 22:16:55.273 17509-17521/com.test.audiovideosample W/CameraBase: mediaserver's remote binder Camera object died
09-20 22:16:55.273 17509-17593/com.test.audiovideosample E/MediaCodec: Codec reported an error. (omx error 0x8000100d, internalError -32)
09-20 22:16:55.273 17509-17590/com.test.audiovideosample W/dalvikvm: threadid=13: thread exiting with uncaught exception (group=0x42029ce0)
09-20 22:16:55.293 17509-17590/com.test.audiovideosample E/AndroidRuntime: FATAL EXCEPTION: MediaVideoEncoder
Process: com.test.audiovideosample, PID: 17509
java.lang.IllegalStateException
at android.media.MediaCodec.dequeueOutputBuffer(Native Method)
at com.erlei.videorecorder.encoder.MediaEncoder.drain(MediaEncoder.java:295)
at com.erlei.videorecorder.encoder.MediaEncoder.run(MediaEncoder.java:153)
at java.lang.Thread.run(Thread.java:841)
09-20 22:16:55.323 17509-17542/com.test.audiovideosample E/[EGL-ERROR]: void __egl_platform_dequeue_buffer(egl_surface*):1385: failed to dequeue buffer from native window (0x52aa47e8); err = -32, buf = 0x0
void __egl_platform_dequeue_buffer(egl_surface*):1385: failed to dequeue buffer from native window (0x52aa47e8); err = -32, buf = 0x0
void __egl_platform_dequeue_buffer(egl_surface*):1385: failed to dequeue buffer from native window (0x52aa47e8); err = -32, buf = 0x0
void __egl_platform_dequeue_buffer(egl_surface*):1385: failed to dequeue buffer from native window (0x52aa47e8); err = -32, buf = 0x0
@anonym24 https://stackoverflow.com/questions/37018001/mediacodec-config-passed-but-input-resolution-is-actually-not-supported
I'll try later to set correct resolution for this device
p.s. I also tried on Kingzone device with KitKat 4.4, it worked ok, because that device supports FullHD, HD
so I will check Samsung with lower resolution