Open
Description
I was doing some tests with this library in some videos recorded by a Samsung device and it is not working well. When I call the transcode method I got this error after a couple of seconds:
Java.Lang.IllegalArgumentException: Exception of type 'Java.Lang.IllegalArgumentException' was thrown.
--- End of managed Java.Lang.IllegalArgumentException stack trace ---
java.lang.IllegalArgumentException
at android.media.MediaCodec.native_configure(Native Method)
at android.media.MediaCodec.configure(MediaCodec.java:2176)
at android.media.MediaCodec.configure(MediaCodec.java:2092)
at com.otaliastudios.transcoder.internal.Codecs$encoders$1$lazyVideo$2.invoke(Codecs.kt:44)
at com.otaliastudios.transcoder.internal.Codecs$encoders$1$lazyVideo$2.invoke(Codecs.kt:41)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at com.otaliastudios.transcoder.internal.Codecs$encoders$1.getLazyVideo(Codecs.kt:41)
at com.otaliastudios.transcoder.internal.Codecs$encoders$1.get(Codecs.kt:50)
at com.otaliastudios.transcoder.internal.Codecs$encoders$1.get(Codecs.kt:30)
at com.otaliastudios.transcoder.internal.codec.Encoder.<init>(Encoder.kt:43)
at com.otaliastudios.transcoder.internal.pipeline.PipelinesKt$VideoPipeline$1.invoke(pipelines.kt:64)
at com.otaliastudios.transcoder.internal.pipeline.PipelinesKt$VideoPipeline$1.invoke(pipelines.kt:58)
at com.otaliastudios.transcoder.internal.pipeline.Pipeline$Companion.build$lib_release(Pipeline.kt:62)
at com.otaliastudios.transcoder.internal.pipeline.PipelinesKt.VideoPipeline(pipelines.kt:58)
at com.otaliastudios.transcoder.internal.pipeline.PipelinesKt.RegularPipeline(pipelines.kt:47)
at com.otaliastudios.transcoder.internal.transcode.DefaultTranscodeEngine.createPipeline(DefaultTranscodeEngine.kt:82)
at com.otaliastudios.transcoder.internal.transcode.DefaultTranscodeEngine.access$createPipeline(DefaultTranscodeEngine.kt:27)
at com.otaliastudios.transcoder.internal.transcode.DefaultTranscodeEngine$segments$1.invoke(DefaultTranscodeEngine.kt:42)
at com.otaliastudios.transcoder.internal.transcode.DefaultTranscodeEngine$segments$1.invoke(DefaultTranscodeEngine.kt:42)
at com.otaliastudios.transcoder.internal.Segments.tryCreateSegment(Segments.kt:87)
at com.otaliastudios.transcoder.internal.Segments.next(Segments.kt:46)
at com.otaliastudios.transcoder.internal.transcode.DefaultTranscodeEngine.transcode(DefaultTranscodeEngine.kt:113)
at com.otaliastudios.transcoder.internal.transcode.TranscodeEngine$Companion.transcode(TranscodeEngine.kt:48)
at com.otaliastudios.transcoder.internal.transcode.TranscodeEngine.transcode(Unknown Source:2)
at com.otaliastudios.transcoder.Transcoder$1.call(Transcoder.java:102)
at com.otaliastudios.transcoder.Transcoder$1.call(Transcoder.java:99)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:920)
Trying to solve it I found that it happens with the HEVC codec, since it has a sort adaptive playback which changes the codec in the middle of the stream or something like that.
It would be nice if someone can help me with this, thanks