Решение применяет патч в M2ts Writer
.Постройте libstagefright.so
и нажмите на устройство.Также установите ниже в приложении
recorder.setAudioSamplingRate(48000);
recorder.setAudioEncodingBitRate(128000);
, иначе он не будет записывать клип полностью.Я не стал разбираться в причине установки вышеуказанных параметров.
Патч для M2tsWriter
в libstagefright
:
diff --git a/media/libstagefright/MPEG2TSWriter.cpp b/media/libstagefright/MPEG2TSWriter.cpp
index c9ed5bb..a42371f 100644
--- a/media/libstagefright/MPEG2TSWriter.cpp
+++ b/media/libstagefright/MPEG2TSWriter.cpp
@@ -411,6 +411,7 @@ void MPEG2TSWriter::SourceInfo::onMessageReceived(const sp<AMessage> &msg) {
(const uint8_t *)buffer->data()
+ buffer->range_offset(),
buffer->range_length());
+ readMore();
} else if (buffer->range_length() > 0) {
if (mStreamType == 0x0f) {
if (!appendAACFrames(buffer)) {