Laurent 5 years ago
parent da06b2f558
commit 3f1ef1b599
  1. 28
      app/src/main/java/net/pokeranalytics/android/util/video/MMediaMuxer.kt

@ -163,20 +163,14 @@ class MMediaMuxer {
@Throws(IOException::class) @Throws(IOException::class)
private fun PrepareEncoder() { private fun PrepareEncoder() {
val codecInfo = val codecInfo = selectCodec(MIME_TYPE)
selectCodec(
MIME_TYPE
)
if (codecInfo == null) { if (codecInfo == null) {
Loge("Unable to find an appropriate codec for $MIME_TYPE") Loge("Unable to find an appropriate codec for $MIME_TYPE")
} }
Logd("found codec: " + codecInfo!!.name) Logd("found codec: " + codecInfo!!.name)
val colorFormat: Int val colorFormat: Int
colorFormat = try { colorFormat = try {
selectColorFormat( selectColorFormat(codecInfo, MIME_TYPE)
codecInfo,
MIME_TYPE
)
} catch (e: Exception) { } catch (e: Exception) {
CodecCapabilities.COLOR_FormatYUV420SemiPlanar CodecCapabilities.COLOR_FormatYUV420SemiPlanar
} }
@ -222,9 +216,7 @@ class MMediaMuxer {
val TIMEOUT_USEC: Long = 5000 val TIMEOUT_USEC: Long = 5000
val inputBufIndex = mediaCodec!!.dequeueInputBuffer(TIMEOUT_USEC) val inputBufIndex = mediaCodec!!.dequeueInputBuffer(TIMEOUT_USEC)
val ptsUsec = val ptsUsec =
computePresentationTime(generateIndex.toLong(), computePresentationTime(generateIndex.toLong(), FRAME_RATE)
FRAME_RATE
)
if (inputBufIndex >= 0) { if (inputBufIndex >= 0) {
val input = bitFirst!![currentIndexFrame] val input = bitFirst!![currentIndexFrame]
val inputBuffer = mediaCodec!!.getInputBuffer(inputBufIndex) val inputBuffer = mediaCodec!!.getInputBuffer(inputBufIndex)
@ -391,18 +383,12 @@ class MMediaMuxer {
* code. If no match is found, this throws a test failure -- the set of * code. If no match is found, this throws a test failure -- the set of
* formats known to the test should be expanded for new platforms. * formats known to the test should be expanded for new platforms.
*/ */
private fun selectColorFormat( private fun selectColorFormat(codecInfo: MediaCodecInfo, mimeType: String): Int {
codecInfo: MediaCodecInfo,
mimeType: String val capabilities = codecInfo.getCapabilitiesForType(mimeType)
): Int {
val capabilities = codecInfo
.getCapabilitiesForType(mimeType)
for (i in capabilities.colorFormats.indices) { for (i in capabilities.colorFormats.indices) {
val colorFormat = capabilities.colorFormats[i] val colorFormat = capabilities.colorFormats[i]
if (isRecognizedFormat( if (isRecognizedFormat(colorFormat)) {
colorFormat
)
) {
return colorFormat return colorFormat
} }
} }

Loading…
Cancel
Save