Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MediaCodecAudioRenderer use UnmodifiableCollection.addAll() if format is AUDIO_E_AC3_JOC #6398

Closed
tateisu opened this issue Sep 5, 2019 · 1 comment
Assignees
Labels

Comments

@tateisu
Copy link

tateisu commented Sep 5, 2019

[REQUIRED] Issue description

If stream is AUDIO_E_AC3_JOC, MediaCodecAudioRenderer use UnmodifiableCollection.addAll() and it raises error because it's Unmodifiable.

[REQUIRED] Reproduction steps

Playing media that contains "audio/eac3-joc" stream.

[REQUIRED] Link to test content

Sorry, I'm considering to my boss about use of test data.
But I believe this bug can be detect in the code.
https://github.com/google/ExoPlayer/blob/release-v2/library/core/src/main/java/com/google/android/exoplayer2/audio/MediaCodecAudioRenderer.java#L375

[REQUIRED] A full bug report captured from the device

 E/ExoPlayerImplInternal: Internal runtime error.
    java.lang.UnsupportedOperationException
        at java.util.Collections$UnmodifiableCollection.addAll(Collections.java:1107)
        at com.google.android.exoplayer2.audio.MediaCodecAudioRenderer.getDecoderInfos(MediaCodecAudioRenderer.java:375)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.getAvailableCodecInfos(MediaCodecRenderer.java:807)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:748)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:510)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.reinitializeCodec(MediaCodecRenderer.java:1640)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainAndReinitializeCodec(MediaCodecRenderer.java:1411)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1206)
        at com.google.android.exoplayer2.audio.MediaCodecAudioRenderer.onInputFormatChanged(MediaCodecAudioRenderer.java:470)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:733)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:644)

[REQUIRED] Version of ExoPlayer being used

I use 'com.google.android.exoplayer:exoplayer:2.10.4'

[REQUIRED] Device(s) and version(s) of Android being used

Galaxy S10+(Japan), Android 9

@andrewlewis
Copy link
Collaborator

We'll submit a fix for this soon.

ojw28 pushed a commit that referenced this issue Sep 10, 2019
Issue: #6398
PiperOrigin-RevId: 267563795
@ojw28 ojw28 closed this as completed Sep 10, 2019
ojw28 pushed a commit that referenced this issue Sep 17, 2019
Issue: #6398
PiperOrigin-RevId: 267563795
@google google locked and limited conversation to collaborators Nov 10, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants