如何检测MediaMuxer达到文件大小限制?

时间:2019-10-11 14:36:25

标签: android mediacodec mediamuxer

我进行了一些视频渲染,当MediaMuxer达到文件大小限制时,它崩溃了

mMuxer.writeSampleData(muxervideoTrackIndex, encodedData, info);

使用

java.lang.IllegalStateException: writeSampleData returned an error

在发生这种情况之前,我得到

W MPEG4Writer: Recorded file size is approaching limit 4294967295bytes
W MPEG4Writer: No FileDescripter for next recording
W MPEG4Writer: Recorded file size exceeds limit 4294967295bytes

我查看了源,并假设它在内部关闭,因此状态不再正确。但是,Muxer不提供任何返回或回调选项。由于我想用EOS信号终止整个操作,因此我想以某种方式通知已达到极限。

由于音频帧的长度与视频帧的长度不同,因此我需要稍加注意,以便我可以终止视频,但在必要时仍可以添加丢失的音频帧。

我该如何实现?

0 个答案:

没有答案