|
|
|
|
@ -67,18 +67,18 @@ class MMediaMuxer { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun AddFrame(byteFrame: ByteArray, count: Int, isLast: Boolean) { |
|
|
|
|
var byteFrame = byteFrame |
|
|
|
|
var bf = byteFrame |
|
|
|
|
CheckDataListState() |
|
|
|
|
Logd("Android get Frames = $count") |
|
|
|
|
val bit = BitmapFactory.decodeByteArray(byteFrame, 0, byteFrame.size) |
|
|
|
|
val bit = BitmapFactory.decodeByteArray(bf, 0, bf.size) |
|
|
|
|
Logd("Android convert Bitmap") |
|
|
|
|
byteFrame = getNV21(bit.width, bit.height, bit) |
|
|
|
|
bf = getNV21(bit.width, bit.height, bit) |
|
|
|
|
Logd("Android convert getNV21") |
|
|
|
|
for (i in 0 until count) { |
|
|
|
|
if (isLast) { |
|
|
|
|
bitLast!!.add(byteFrame) |
|
|
|
|
bitLast!!.add(bf) |
|
|
|
|
} else { |
|
|
|
|
bitFirst!!.add(byteFrame) |
|
|
|
|
bitFirst!!.add(bf) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -228,8 +228,8 @@ class MMediaMuxer { |
|
|
|
|
if (inputBufIndex >= 0) { |
|
|
|
|
val input = bitFirst!![currentIndexFrame] |
|
|
|
|
val inputBuffer = mediaCodec!!.getInputBuffer(inputBufIndex) |
|
|
|
|
inputBuffer.clear() |
|
|
|
|
inputBuffer.put(input) |
|
|
|
|
inputBuffer?.clear() |
|
|
|
|
inputBuffer?.put(input) |
|
|
|
|
mediaCodec!!.queueInputBuffer(inputBufIndex, 0, input.size, ptsUsec, 0) |
|
|
|
|
generateIndex++ |
|
|
|
|
} |
|
|
|
|
|