mirror of
https://github.com/samsonjs/media.git
synced 2026-03-26 09:35:47 +00:00
Add setCodecOperatingRate workaround for 48KHz audio on ZTE Axon7 mini.
Issue:#5821 PiperOrigin-RevId: 247621164
This commit is contained in:
parent
34dd4b1441
commit
23fa53bf0b
2 changed files with 15 additions and 2 deletions
|
|
@ -13,7 +13,9 @@
|
|||
* Audio: fix an issue where not all audio was played out when the configuration
|
||||
for the underlying track was changing (e.g., at some period transitions).
|
||||
* UI: Change playback controls toggle from touch down to touch up events
|
||||
([#5784](https://github.com/google/ExoPlayer/issues/5784)).
|
||||
([#5784](https://github.com/google/ExoPlayer/issues/5784)).
|
||||
* Add a workaround for a decoder failure on ZTE Axon7 mini devices when playing
|
||||
48kHz audio ([#5821](https://github.com/google/ExoPlayer/issues/5821)).
|
||||
|
||||
### 2.10.0 ###
|
||||
|
||||
|
|
|
|||
|
|
@ -798,7 +798,7 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media
|
|||
// Set codec configuration values.
|
||||
if (Util.SDK_INT >= 23) {
|
||||
mediaFormat.setInteger(MediaFormat.KEY_PRIORITY, 0 /* realtime priority */);
|
||||
if (codecOperatingRate != CODEC_OPERATING_RATE_UNSET) {
|
||||
if (codecOperatingRate != CODEC_OPERATING_RATE_UNSET && !deviceDoesntSupportOperatingRate()) {
|
||||
mediaFormat.setFloat(MediaFormat.KEY_OPERATING_RATE, codecOperatingRate);
|
||||
}
|
||||
}
|
||||
|
|
@ -821,6 +821,17 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the device's decoders are known to not support setting the codec operating
|
||||
* rate.
|
||||
*
|
||||
* <p>See <a href="https://github.com/google/ExoPlayer/issues/5821">GitHub issue #5821</a>.
|
||||
*/
|
||||
private static boolean deviceDoesntSupportOperatingRate() {
|
||||
return Util.SDK_INT == 23
|
||||
&& ("ZTE B2017G".equals(Util.MODEL) || "AXON 7 mini".equals(Util.MODEL));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the decoder is known to output six audio channels when provided with input with
|
||||
* fewer than six channels.
|
||||
|
|
|
|||
Loading…
Reference in a new issue