MediaMuxer 및 MediaCodec을 사용하여 카메라 및 오디오의 비디오 (H264) 데이터 및 오디오 (AAC-LC) 데이터를 MP4 파일. 그러나 MediaMuxer 객체는 때때로 mediaMuxer.stop()
에서 충돌 및 오류 로그 내가에만 시도했습니다MediaMuxer를 사용하여 MP4 파일을 인코딩했으나 mediaMuxer.stop()을 호출 할 때 충돌이 발생합니다.
11-03 16:28:36.956: A/DEBUG(711): Abort message: 'frameworks/av/media/libstagefright/MPEG4Writer.cpp:2983 CHECK_LT(mCodecSpecificDataSize + 23,128) failed: 399 vs. 128'
11-03 16:28:36.957: A/DEBUG(711): x0 0000000000000000 x1 0000000000001184 x2 0000000000000006 x3 0000000000000000
11-03 16:28:36.957: A/DEBUG(711): x4 0000000000000000 x5 0000000000000001 x6 0000000000000000 x7 0000000000000000
11-03 16:28:36.957: A/DEBUG(711): x8 0000000000000083 x9 0000000000000000 x10 0000000000000000 x11 0000007f91bb0df8
11-03 16:28:36.958: A/DEBUG(711): x12 0000007f91bb0cd0 x13 0000000000000077 x14 0000007f91bb0ea8 x15 0000000000000000
11-03 16:28:36.958: A/DEBUG(711): x16 0000007faca8d6a8 x17 0000007faca4fb2c x18 0000007face14418 x19 0000007f91bb3510
11-03 16:28:36.959: A/DEBUG(711): x20 0000007f91bb3450 x21 000000000000000b x22 0000000000000006 x23 00000055a17fd260
11-03 16:28:36.959: A/DEBUG(711): x24 0000007f91bb1c58 x25 0000007f91bb18b4 x26 0000007f91bb1f90 x27 0000007fa9715000
11-03 16:28:36.960: A/DEBUG(711): x28 0000007f91bb1898 x29 0000007f91bb0d60 x30 0000007faca4d2c8
11-03 16:28:36.960: A/DEBUG(711): sp 0000007f91bb0d60 pc 0000007faca4fb34 pstate 0000000020000000
가 하나의 트랙 (비디오 또는 오디오) 여러 번 인코딩입니다. mediaMuxer.stop()
의 실행은 완전히 괜찮습니다.
두 트랙을 인코딩 할 때 CHECK_LT
이 실패한 이유는 무엇입니까?