ypresto / android-transcoder

MP4 video transcode using Android MediaCodec API, pure Java (not LGPL nor patent issue!). Supports API >= 18.
Apache License 2.0
833 stars 238 forks source link

Error transcoding UHD 3840x2160 video from a Samsung Galaxy S6 EDGE (SM-G925F) #56

Open FireZenk opened 6 years ago

FireZenk commented 6 years ago
I/OMXMaster: makeComponentInstance(OMX.Exynos.AVC.Encoder) in mediacodec process
I/OMXMaster: makeComponentInstance(OMX.Exynos.avc.dec) in mediacodec process
I/MediaCodec: [OMX.Exynos.avc.dec] setting surface generation to 32390146
E/MediaCodec: Codec reported err 0xffffec77, actionCode 0, while in state 3
E/MediaCodec: configure failed with err 0xffffec77, resetting...
I/MediaCodec: Codec shutdown complete
I/OMXMaster: makeComponentInstance(OMX.Exynos.avc.dec) in mediacodec process
I/MediaCodec: Codec shutdown complete
I/MediaCodec: Codec shutdown complete
I/MediaCodec: Codec shutdown complete
E/MediaTranscoder: Fatal error while transcoding, this might be invalid format or bug in engine or Android.
                        android.media.MediaCodec$CodecException: Error 0xffffec77
                            at android.media.MediaCodec.native_configure(Native Method)
                            at android.media.MediaCodec.configure(MediaCodec.java:1882)
                            at net.ypresto.androidtranscoder.engine.VideoTrackTranscoder.setup(VideoTrackTranscoder.java:89)
                            at net.ypresto.androidtranscoder.engine.MediaTranscoderEngine.setupTrackTranscoders(MediaTranscoderEngine.java:172)
                            at net.ypresto.androidtranscoder.engine.MediaTranscoderEngine.transcodeVideo(MediaTranscoderEngine.java:96)
                            at net.ypresto.androidtranscoder.MediaTranscoder$4.call(MediaTranscoder.java:184)
                            at net.ypresto.androidtranscoder.MediaTranscoder$4.call(MediaTranscoder.java:166)
                            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                            at java.lang.Thread.run(Thread.java:762)
E/ProcessMessageAssetJob: android.media.MediaCodec$CodecException: Error 0xffffec77
                       com.myproject.package.repository.messaging.FileProcessingException: android.media.MediaCodec$CodecException: Error 0xffffec77
                           at com.myproject.package.media.VideoProcessor.processFile(VideoProcessor.java:57)
                           at com.myproject.package.repository.messaging.ProcessMessageAssetJob.onRun(ProcessMessageAssetJob.java:59)
                           at com.path.android.jobqueue.Job.safeRun(Job.java:189)
                           at com.path.android.jobqueue.JobHolder.safeRun(JobHolder.java:91)
                           at com.path.android.jobqueue.executor.JobConsumerExecutor$JobConsumer.run(JobConsumerExecutor.java:306)
                           at java.lang.Thread.run(Thread.java:762)
                        Caused by: android.media.MediaCodec$CodecException: Error 0xffffec77
                           at android.media.MediaCodec.native_configure(Native Method)
                           at android.media.MediaCodec.configure(MediaCodec.java:1882)
                           at net.ypresto.androidtranscoder.engine.VideoTrackTranscoder.setup(VideoTrackTranscoder.java:89)
                           at net.ypresto.androidtranscoder.engine.MediaTranscoderEngine.setupTrackTranscoders(MediaTranscoderEngine.java:172)
                           at net.ypresto.androidtranscoder.engine.MediaTranscoderEngine.transcodeVideo(MediaTranscoderEngine.java:96)
                           at net.ypresto.androidtranscoder.MediaTranscoder$4.call(MediaTranscoder.java:184)
                           at net.ypresto.androidtranscoder.MediaTranscoder$4.call(MediaTranscoder.java:166)
                           at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
                           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
                           at java.lang.Thread.run(Thread.java:762) 
ypresto commented 6 years ago

It seems weird error specific to Samsung's codec. I have no idea how to fix it for now. https://stackoverflow.com/search?q=0xffffec77

ypresto commented 6 years ago

Is the issue reproducing always or intermittently? Also please try Full HD (1920x1080) mp4.

FireZenk commented 6 years ago

Always, also for Full HD is working without issues

fishkingsin commented 5 years ago

@FireZenk I discover one of the possible reason of the issue When I am previewing a video and dominate a surface view.