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)
private fun PrepareEncoder() {
val codecInfo =
selectCodec(
MIME_TYPE
)
val codecInfo = selectCodec(MIME_TYPE)
if (codecInfo == null) {
Loge("Unable to find an appropriate codec for $MIME_TYPE")
}
Logd("found codec: " + codecInfo!!.name)
val colorFormat: Int
colorFormat = try {
selectColorFormat(
codecInfo,
MIME_TYPE
)
selectColorFormat(codecInfo, MIME_TYPE)
} catch (e: Exception) {
CodecCapabilities.COLOR_FormatYUV420SemiPlanar
}
@ -222,9 +216,7 @@ class MMediaMuxer {
val TIMEOUT_USEC: Long = 5000
val inputBufIndex = mediaCodec!!.dequeueInputBuffer(TIMEOUT_USEC)
val ptsUsec =
computePresentationTime(generateIndex.toLong(),
FRAME_RATE
)
computePresentationTime(generateIndex.toLong(), FRAME_RATE)
if (inputBufIndex >= 0) {
val input = bitFirst!![currentIndexFrame]
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
* formats known to the test should be expanded for new platforms.
*/
private fun selectColorFormat(
codecInfo: MediaCodecInfo,
mimeType: String
): Int {
val capabilities = codecInfo
.getCapabilitiesForType(mimeType)
private fun selectColorFormat(codecInfo: MediaCodecInfo, mimeType: String): Int {
val capabilities = codecInfo.getCapabilitiesForType(mimeType)
for (i in capabilities.colorFormats.indices) {
val colorFormat = capabilities.colorFormats[i]
if (isRecognizedFormat(
colorFormat
)
) {
if (isRecognizedFormat(colorFormat)) {
return colorFormat
}
}

Loading…
Cancel
Save