Skip to content

[BUG] Compression fails with an AVC video #67

Description

@stacsk

Prerequisites

  • I have checked that there are no open issues that are the same or very similar to mine, and I understand that my issue will be closed if it is a duplicate
  • I have filled in all required fields to the best of my ability, and I understand that my issue will be closed if they are not
  • I have copied the device & app info to my clipboard and pasted it into the device info section where indicated, and I understand that my issue will be closed if it is not
  • I have uploaded appropriate screenshots and log files, and I understand that my issue may be closed or remain unresolved if not
  • My issue is written in English, and I understand that my issue will be closed if it is not
  • I understand that my issue will be closed if all 5 of these checkboxes are not checked

Issue Description (required)

Compression fails on start with an AVC codec video. Codec id is isom. I tried with both h264 and h265.

Expected Behaviour (required)

Video should compress succesfully.

Device Info (required)

Device Manufacturer* (e.g. Samsung): Redmi

  • Device Model* (e.g. Galaxy S10): Note 12
  • Android Version* (e.g. 12):13
  • Compressor Version* (e.g. 1.1.0):1.5.5
  • Where did you get Compressor from?* (GitHub Releases, IzzyOnDroid/F-Droid, Google Play Store):
  • Device Chipset (e.g. Exynos 9820):Droidify
  • Device Model Number (e.g. SM-G973F):

App Version: 1.5.5
Device: Xiaomi 22101316UP (Android 13)
Supported Encoders: video/avc, video/hevc

Screenshots (required)

Screenshot_2026-05-18-09-03-56-534_compress.joshattic.us-edit.jpg
Screenshot_2026-05-18-09-13-22-878_compress.joshattic.us-edit.jpg

Logcat

Device: Xiaomi 22101316UP
Android Version: 13 (SDK 33)
App Version: 1.5.5
Original: 1920x1080 @ 30.0fps
Target: 1080p @ 0fps
Codec: video/hevc
Error: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, avc1.640028, -1, null, [1280, 720, 29.995518, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), name=null}

Stack Trace:
androidx.media3.transformer.ExportException: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, avc1.640028, -1, null, [1280, 720, 29.995518, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), name=null}
at androidx.media3.transformer.DefaultEncoderFactory.createExportException(DefaultEncoderFactory.java:750)
at androidx.media3.transformer.DefaultEncoderFactory.createForVideoEncoding(DefaultEncoderFactory.java:267)
at androidx.media3.transformer.DefaultEncoderFactory.createForVideoEncoding(DefaultEncoderFactory.java:53)
at androidx.media3.transformer.CapturingEncoderFactory.createForVideoEncoding(CapturingEncoderFactory.java:41)
at androidx.media3.transformer.VideoSampleExporter$EncoderWrapper.getSurfaceInfo(VideoSampleExporter.java:329)
at androidx.media3.transformer.VideoSampleExporter$VideoGraphWrapper.onOutputSizeChanged(VideoSampleExporter.java:512)
at androidx.media3.effect.SingleInputVideoGraph$1.lambda$onOutputSizeChanged$0$androidx-media3-effect-SingleInputVideoGraph$1(SingleInputVideoGraph.java:114)
at androidx.media3.effect.SingleInputVideoGraph$1$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
at androidx.media3.effect.SingleInputVideoGraph$1.onOutputSizeChanged(SingleInputVideoGraph.java:114)
at androidx.media3.effect.FinalShaderProgramWrapper.lambda$ensureConfigured$6$androidx-media3-effect-FinalShaderProgramWrapper(FinalShaderProgramWrapper.java:501)
at androidx.media3.effect.FinalShaderProgramWrapper$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
at androidx.media3.effect.FinalShaderProgramWrapper.ensureConfigured(FinalShaderProgramWrapper.java:499)
at androidx.media3.effect.FinalShaderProgramWrapper.renderFrame(FinalShaderProgramWrapper.java:410)
at androidx.media3.effect.FinalShaderProgramWrapper.queueInputFrame(FinalShaderProgramWrapper.java:229)
at androidx.media3.effect.FrameConsumptionManager.lambda$queueInputFrame$1$androidx-media3-effect-FrameConsumptionManager(FrameConsumptionManager.java:96)
at androidx.media3.effect.FrameConsumptionManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
at androidx.media3.effect.VideoFrameProcessingTaskExecutor.lambda$wrapTaskAndSubmitToExecutorService$3$androidx-media3-effect-VideoFrameProcessingTaskExecutor(VideoFrameProcessingTaskExecutor.java:290)
at androidx.media3.effect.VideoFrameProcessingTaskExecutor$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.IllegalArgumentException: The requested video encoding format is not supported.
... 25 more

Activity

  1. added
    BugSomething isn't working
    TriageThis issue has not been reviewed yet
    on May 18, 2026
  2. added
    InvalidThis doesn't seem right
    OEM issueThis issue is caused by your device manufacturer, not Compressor
    and removed
    TriageThis issue has not been reviewed yet
    on May 18, 2026
  3. moved this from Ready to Not Implementing in Compressor Roadmapon May 18, 2026
  4. JoshAtticus commented on May 18, 2026

    @JoshAtticus
    Owner

    Oops, I applied the wrong tags! Let me undo that

  5. moved this from Not Implementing to Ready in Compressor Roadmapon May 18, 2026
  6. added
    Media3This issue is related to Android's Media3 framework
    Medium PriorityThis issue is of medium priority
    and removed
    InvalidThis doesn't seem right
    OEM issueThis issue is caused by your device manufacturer, not Compressor
    on May 18, 2026
  7. JoshAtticus commented on May 18, 2026

    @JoshAtticus
    Owner

    Sorry about that, and thanks for opening an issue @stacsk! At first, I thought this was simply your device not supporting the colour space in the original video for hardware encoding, but it seems that your chipset actually doesn't like that colour space at that specific resolution. I'll try and see if I can fix that for you!

  8. stacsk commented on May 18, 2026

    @stacsk
    Author

    Oh, got it. Thanks very much. But I just wanna say, if it's an extremely specific issue that would require too much effort to fix, I could do without it. I already have my computer to do the compression stuff most of the time; so I'm okay if it's not fixed.

  9. JoshAtticus commented on May 18, 2026

    @JoshAtticus
    Owner

    @stacsk Try this APK, I don't have a Xiaomi phone to test it on but it works like normal on my Z Flip4

    app-release.zip

  10. stacsk commented on May 18, 2026

    @stacsk
    Author

    This one fails too. I also noticed that (with both apps) the fail occurs on a lot of videos. Below this log is another video's log.

    Device: Xiaomi 22101316UP
    Android Version: 13 (SDK 33)
    App Version: 1.5.6 (Nightly, adbb14b)
    Original: 1920x1080 @ 30.0fps
    Target: 1080p @ 0fps
    Codec: video/hevc
    Error: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, avc1.640028, -1, null, [1280, 720, 29.995518, null], [-1, -1]), name=null}

    Stack Trace:
    androidx.media3.transformer.ExportException: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, avc1.640028, -1, null, [1280, 720, 29.995518, null], [-1, -1]), name=null}
    at androidx.media3.transformer.DefaultEncoderFactory.createExportException(DefaultEncoderFactory.java:750)
    at androidx.media3.transformer.DefaultEncoderFactory.createForVideoEncoding(DefaultEncoderFactory.java:267)
    at compress.joshattic.us.CompressorViewModel$startCompression$encoderFactory$1.createForVideoEncoding(CompressorViewModel.kt:763)
    at androidx.media3.transformer.CapturingEncoderFactory.createForVideoEncoding(CapturingEncoderFactory.java:41)
    at androidx.media3.transformer.VideoSampleExporter$EncoderWrapper.getSurfaceInfo(VideoSampleExporter.java:329)
    at androidx.media3.transformer.VideoSampleExporter$VideoGraphWrapper.onOutputSizeChanged(VideoSampleExporter.java:512)
    at androidx.media3.effect.SingleInputVideoGraph$1.lambda$onOutputSizeChanged$0$androidx-media3-effect-SingleInputVideoGraph$1(SingleInputVideoGraph.java:114)
    at androidx.media3.effect.SingleInputVideoGraph$1$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
    at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
    at androidx.media3.effect.SingleInputVideoGraph$1.onOutputSizeChanged(SingleInputVideoGraph.java:114)
    at androidx.media3.effect.FinalShaderProgramWrapper.lambda$ensureConfigured$6$androidx-media3-effect-FinalShaderProgramWrapper(FinalShaderProgramWrapper.java:501)
    at androidx.media3.effect.FinalShaderProgramWrapper$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
    at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
    at androidx.media3.effect.FinalShaderProgramWrapper.ensureConfigured(FinalShaderProgramWrapper.java:499)
    at androidx.media3.effect.FinalShaderProgramWrapper.renderFrame(FinalShaderProgramWrapper.java:410)
    at androidx.media3.effect.FinalShaderProgramWrapper.queueInputFrame(FinalShaderProgramWrapper.java:229)
    at androidx.media3.effect.FrameConsumptionManager.lambda$queueInputFrame$1$androidx-media3-effect-FrameConsumptionManager(FrameConsumptionManager.java:96)
    at androidx.media3.effect.FrameConsumptionManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
    at androidx.media3.effect.VideoFrameProcessingTaskExecutor.lambda$wrapTaskAndSubmitToExecutorService$3$androidx-media3-effect-VideoFrameProcessingTaskExecutor(VideoFrameProcessingTaskExecutor.java:290)
    at androidx.media3.effect.VideoFrameProcessingTaskExecutor$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
    at java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
    at java.lang.Thread.run(Thread.java:1012)
    Caused by: java.lang.IllegalArgumentException: The requested video encoding format is not supported.
    ... 25 more

    Device: Xiaomi 22101316UP
    Android Version: 13 (SDK 33)
    App Version: 1.5.6 (Nightly, adbb14b)
    Original: 1708x960 @ 30.0fps
    Target: 960p @ 0fps
    Codec: video/hevc
    Error: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, null, -1, null, [1280, 720, 30.0, null], [-1, -1]), name=null}
    
    Stack Trace:
    androidx.media3.transformer.ExportException: Codec exception: CodecInfo{type=VideoEncoder, configurationFormat=Format(null, null, null, video/avc, null, -1, null, [1280, 720, 30.0, null], [-1, -1]), name=null}
    	at androidx.media3.transformer.DefaultEncoderFactory.createExportException(DefaultEncoderFactory.java:750)
    	at androidx.media3.transformer.DefaultEncoderFactory.createForVideoEncoding(DefaultEncoderFactory.java:267)
    	at compress.joshattic.us.CompressorViewModel$startCompression$encoderFactory$1.createForVideoEncoding(CompressorViewModel.kt:763)
    	at androidx.media3.transformer.CapturingEncoderFactory.createForVideoEncoding(CapturingEncoderFactory.java:41)
    	at androidx.media3.transformer.VideoSampleExporter$EncoderWrapper.getSurfaceInfo(VideoSampleExporter.java:329)
    	at androidx.media3.transformer.VideoSampleExporter$VideoGraphWrapper.onOutputSizeChanged(VideoSampleExporter.java:512)
    	at androidx.media3.effect.SingleInputVideoGraph$1.lambda$onOutputSizeChanged$0$androidx-media3-effect-SingleInputVideoGraph$1(SingleInputVideoGraph.java:114)
    	at androidx.media3.effect.SingleInputVideoGraph$1$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
    	at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
    	at androidx.media3.effect.SingleInputVideoGraph$1.onOutputSizeChanged(SingleInputVideoGraph.java:114)
    	at androidx.media3.effect.FinalShaderProgramWrapper.lambda$ensureConfigured$6$androidx-media3-effect-FinalShaderProgramWrapper(FinalShaderProgramWrapper.java:501)
    	at androidx.media3.effect.FinalShaderProgramWrapper$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
    	at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
    	at androidx.media3.effect.FinalShaderProgramWrapper.ensureConfigured(FinalShaderProgramWrapper.java:499)
    	at androidx.media3.effect.FinalShaderProgramWrapper.renderFrame(FinalShaderProgramWrapper.java:410)
    	at androidx.media3.effect.FinalShaderProgramWrapper.queueInputFrame(FinalShaderProgramWrapper.java:229)
    	at androidx.media3.effect.FrameConsumptionManager.lambda$queueInputFrame$1$androidx-media3-effect-FrameConsumptionManager(FrameConsumptionManager.java:96)
    	at androidx.media3.effect.FrameConsumptionManager$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
    	at androidx.media3.effect.VideoFrameProcessingTaskExecutor.lambda$wrapTaskAndSubmitToExecutorService$3$androidx-media3-effect-VideoFrameProcessingTaskExecutor(VideoFrameProcessingTaskExecutor.java:290)
    	at androidx.media3.effect.VideoFrameProcessingTaskExecutor$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
    	at java.lang.Thread.run(Thread.java:1012)
    Caused by: java.lang.IllegalArgumentException: The requested video encoding format is not supported.
    	... 25 more
    
    
  11. JoshAtticus commented on May 18, 2026

    @JoshAtticus
    Owner

    @stacsk try this one, you'll need to uninstall the old one

    app-release.zip

  12. stacsk commented on May 18, 2026

    @stacsk
    Author

    Okay this one works. Thanks very much! <3<3

  13. sk425 commented on May 19, 2026

    @sk425

    AV1 (from HEVC) was failing similarly for me on 1.5.5. Tried the last apk you posted and it no longer fails.

  14. moved this from Ready to Done in Compressor Roadmapon May 20, 2026
  15. added
    High PriorityThis issue is of high priority
    and removed
    Medium PriorityThis issue is of medium priority
    on May 20, 2026
  16. JoshAtticus commented on May 20, 2026

    @JoshAtticus
    Owner
  17. moved this from Done to Released in Compressor Roadmapon May 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

BugSomething isn't workingHigh PriorityThis issue is of high priorityMedia3This issue is related to Android's Media3 framework

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions