|
20 | 20 | import android.media.MediaFormat; |
21 | 21 | import android.media.MediaMuxer; |
22 | 22 | import android.os.Build; |
| 23 | +import android.util.Log; |
23 | 24 |
|
24 | 25 | import androidx.annotation.NonNull; |
25 | 26 | import androidx.annotation.Nullable; |
@@ -114,16 +115,14 @@ public void recordVideo(ByteBuffer videoBuffer, MediaCodec.BufferInfo videoInfo) |
114 | 115 | if (listener != null) listener.onStatusChange(status); |
115 | 116 | } |
116 | 117 | if (status == Status.RECORDING && tracks != RecordTracks.AUDIO) { |
117 | | - updateFormat(this.videoInfo, videoInfo); |
118 | | - write(videoTrack, videoBuffer, this.videoInfo); |
| 118 | + write(videoTrack, videoBuffer, videoInfo); |
119 | 119 | } |
120 | 120 | } |
121 | 121 |
|
122 | 122 | @Override |
123 | 123 | public void recordAudio(ByteBuffer audioBuffer, MediaCodec.BufferInfo audioInfo) { |
124 | 124 | if (status == Status.RECORDING && tracks != RecordTracks.VIDEO) { |
125 | | - updateFormat(this.audioInfo, audioInfo); |
126 | | - write(audioTrack, audioBuffer, this.audioInfo); |
| 125 | + write(audioTrack, audioBuffer, audioInfo); |
127 | 126 | } |
128 | 127 | } |
129 | 128 |
|
@@ -155,9 +154,12 @@ private void init() { |
155 | 154 |
|
156 | 155 | private void write(int track, ByteBuffer byteBuffer, MediaCodec.BufferInfo info) { |
157 | 156 | if (track == -1) return; |
| 157 | + String trackString = track == audioTrack ? "Audio" : "Video"; |
158 | 158 | try { |
159 | | - mediaMuxer.writeSampleData(track, byteBuffer, info); |
160 | | - if (bitrateManager != null) bitrateManager.calculateBitrate(info.size * 8L, ExtensionsKt.getSuspendContext()); |
| 159 | + MediaCodec.BufferInfo i = updateFormat(info); |
| 160 | + Log.i(TAG, trackString + ", ts: " + i.presentationTimeUs + ", flag: " + i.flags); |
| 161 | + mediaMuxer.writeSampleData(track, byteBuffer, i); |
| 162 | + if (bitrateManager != null) bitrateManager.calculateBitrate(i.size * 8L, ExtensionsKt.getSuspendContext()); |
161 | 163 | } catch (Exception e) { |
162 | 164 | if (listener != null) listener.onError(e); |
163 | 165 | } |
|
0 commit comments