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

DecoderInitializationException with 48000Hz audio contents on a specific device #5821

Closed
TakuSemba opened this issue May 1, 2019 · 3 comments

Comments

@TakuSemba
Copy link
Contributor

[REQUIRED] Content description

I found that there is a specific device that cannot play 48000Hz sampling rate contents.

AXON7 mini ZTE B2017G always throws an error "DecoderInitializationException" every time it tries to play 48000Hz sampling-rate contents.

This device uses decoder "OMX.google.aac.decoder" for audio, and its CodecCapabilities#getAudioCapabilities#.getSupportedSampleRateRanges() contains 48000.

Also, it only plays fine when the audio decoder is disabled. (Only video plays.)

My questions are

  • Why does this device fail with "DecoderInitializationException", even though the decoder is "OMX.google.aac.decoder", which is used on other devices.

As far as I understand, "OMX.google.aac.decoder" is a software decoder and all the devices with "OMX.google.aac.decoder" decoder should fail to decode 48000Hz contents (like Nexus5, which also uses "OMX.google.aac.decoder" for audio) because there are no differences on the decoder aspect.

  • Could you think of any other possible reasons why only this device fails to decode 48000Hz contents or what can I do to find other devices that cause the same issue?

[REQUIRED] Link to test content

Sample URL

44100Hz sample (works on AXON7 mini ZTE B2017G): https://mock-stream-2.firebaseapp.com/44100hz/playlist.m3u8

48000Hz sample (not works on AXON7 mini ZTE B2017G): https://mock-stream-2.firebaseapp.com/48000hz/playlist.m3u8

[REQUIRED] Version of ExoPlayer being used

ExoPlayer Version: v2.9.6

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

Device: AXON7 mini ZTE B2017G
Android OS: 6.0.1

@tonihei
Copy link
Collaborator

tonihei commented May 3, 2019

I'm able to reproduce the problem with another Axon7 mini and it fails for any 48KHz stream. The reason seems to be that this device's aac decoder fails when trying to set the codec operating rate. We can fix this by adding a workaround for this device where we don't attempt to set this property as it's optional anyway.

Can you tell us the Build.DEVICE and Build.MODEL values for your device? It might help us to see if there is any variation in these for better workaround targeting. When using ExoPlayer, you'll see a log line containing "ExoPlayerLib/2." which includes these values.

@lwld
Copy link

lwld commented May 10, 2019

We have an error report from a user where the same problem occurs. We don't log Build.DEVICE in our error reports but have the following values, if this is of any help:

Build.MODEL = ZTE B2017G
Build.PRODUCT = P852A11
Build.DISPLAY = ZTE B2017G V1.0.0B12
Build.VERSION.RELEASE = 6.0.1

@tonihei
Copy link
Collaborator

tonihei commented May 10, 2019

Thanks!

Build.DEVICE is actually the most helpful one in most cases as it refers to the underlying system and not the user-visible name, because there are often multiple DEVICEs (with potentially different problems) for the same MODEL.

According to https://support.google.com/googleplay/answer/1727131?hl=en-GB, there are 3 DEVICES ("msm8952_64", "tulip", "verdandi") for MODEL "ZTE B2017G" and, in addition, also "msm8952_64" for MODEL "AXON 7 mini" which is supposedly the same device. Confusingly, there is also a "tulip" DEVICE for the "Redmi Note 6 Pro" MODEL which is clearly not the same. The one where I reproduced the problem was a "msm8952_64"/ "ZTE B2017G".

Given that, I will enable the workaround for MODEL = "ZTE B2017G" or "AXON 7 mini" as this seems to cover all variants of this device.

ojw28 pushed a commit that referenced this issue May 15, 2019
@ojw28 ojw28 closed this as completed May 15, 2019
ojw28 pushed a commit that referenced this issue May 15, 2019
@google google locked and limited conversation to collaborators Sep 27, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants