Как определить, что MediaMuxer достигает предела размера файла? - PullRequest
0 голосов
/ 11 октября 2019

Я выполняю рендеринг видео, и когда 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, я хочу как-то получить уведомление о достигнутом пределе.

Поскольку аудиокадры имеют другую длину по сравнению с видеокадрами, мне нужно немного опередить их, поэтомучто я могу прервать видео, но при необходимости добавить недостающие аудиокадры.

Как мне этого добиться?

...