# \[Android\] Is it possible to enable fallback software decoding?

**URL:** <https://community.bitmovin.com/t/android-is-it-possible-to-enable-fallback-software-decoding/3078>\
**Category:** Support\
**Tags:** bitmovin-player, android, bitmovin, exoplayer\
**Created:** [July 8, 2024, 9:53am UTC](https://community.bitmovin.com/t/android-is-it-possible-to-enable-fallback-software-decoding/3078 "2024-07-08T09:53:59Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![kaspar.de.geus](https://avatars.discourse-cdn.com/v4/letter/k/439d5e/32.png) [@kaspar.de.geus](https://community.bitmovin.com/u/kaspar.de.geus)\
**Post date:** [July 8, 2024, 9:53am UTC](https://community.bitmovin.com/t/android-is-it-possible-to-enable-fallback-software-decoding/3078/1 "2024-07-08T09:53:59Z")

</div>

### Product

Player

### Question

The ExoPlayer seems to have a function called `setEnableDecoderFallback(boolean)` in it’s DefaultRenderersFactory:  
[https://developer.android.com/reference/androidx/media3/exoplayer/DefaultRenderersFactory#setEnableDecoderFallback(boolean)](https://developer.android.com/reference/androidx/media3/exoplayer/DefaultRenderersFactory#setEnableDecoderFallback(boolean))

Sets whether to enable fallback to lower-priority decoders if decoder initialization fails. This may result in using a decoder that is less efficient or slower than the primary decoder.

This seems in most cases to be a nicer option than crashing when a decoder fails. It would of course be best combined with still logging a decoder error somewhere, so we know we can still improve on the decoders, but nothing the users should be directly bothered with..

Would it be possible to set this boolean in the Bitmovin Player initialisation (probably through the `TweaksConfig`)?

---

<div class="post-metadata">

**Author:** ![daniel](https://sea1.discourse-cdn.com/flex015/user_avatar/community.bitmovin.com/daniel/32/121_2.png) [@daniel](https://community.bitmovin.com/u/daniel)\
**Post date:** [July 8, 2024, 2:13pm UTC](https://community.bitmovin.com/t/android-is-it-possible-to-enable-fallback-software-decoding/3078/2 "2024-07-08T14:13:30Z")

</div>

Hi @kaspar.de.geus,

We already have two options for using the software decoder:

1. [TweaksConfig.preferSoftwareDecoding](https://cdn.bitmovin.com/player/android/3/docs/player-core/com.bitmovin.player.api/-tweaks-config/prefer-software-decoding.html) for using the software decoder for the main content
2. [TweaksConfig.preferSoftwareDecodingForAds](https://cdn.bitmovin.com/player/android/3/docs/player-core/com.bitmovin.player.api/-tweaks-config/prefer-software-decoding-for-ads.html) to use the Software decoding for client-side ads

However, I’ve filed an internal feature request for the automatic fallback as well.

---

<div class="post-metadata">

**Author:** ![kaspar.de.geus](https://avatars.discourse-cdn.com/v4/letter/k/439d5e/32.png) [@kaspar.de.geus](https://community.bitmovin.com/u/kaspar.de.geus)\
**Post date:** [July 16, 2024, 6:31am UTC](https://community.bitmovin.com/t/android-is-it-possible-to-enable-fallback-software-decoding/3078/3 "2024-07-16T06:31:09Z")

</div>

Hi @daniel,

Thanks for filling the internal feature request, because we do prefer hardware decoding, but we don’t want to exclude software decoding where needed…

---

<div class="post-metadata">

**Author:** ![daniel](https://sea1.discourse-cdn.com/flex015/user_avatar/community.bitmovin.com/daniel/32/121_2.png) [@daniel](https://community.bitmovin.com/u/daniel)\
**Post date:** [September 5, 2024, 8:55am UTC](https://community.bitmovin.com/t/android-is-it-possible-to-enable-fallback-software-decoding/3078/4 "2024-09-05T08:55:57Z")

</div>

Hi @kaspar.de.geus,  
I’m happy to let you know that starting with [Android Player SDK 3.79.0](https://developer.bitmovin.com/playback/docs/release-notes-android#3790), the player supports automatic fallback to software decoding if needed.

> **[Release Notes (Android)](https://developer.bitmovin.com/playback/docs/release-notes-android#3790)**
>
> Android SDK Release Notes

---

<div class="post-metadata">

**Author:** ![kaspar.de.geus](https://avatars.discourse-cdn.com/v4/letter/k/439d5e/32.png) [@kaspar.de.geus](https://community.bitmovin.com/u/kaspar.de.geus)\
**Post date:** [September 5, 2024, 11:36am UTC](https://community.bitmovin.com/t/android-is-it-possible-to-enable-fallback-software-decoding/3078/5 "2024-09-05T11:36:59Z")

</div>

Thanks @daniel. Nice to know this is now the default. Do we also get logs or analytics events about when this feature is actually used, so we can see where the issue comes from and try to improve that in the future, or is this a silent fallback?

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/bitmovin/original/1X/1ab86334145095b0af9c5b924fa3ae6d920b6482.png) [@system](https://community.bitmovin.com/u/system)\
**Post date:** [September 5, 2024, 12:37pm UTC](https://community.bitmovin.com/t/android-is-it-possible-to-enable-fallback-software-decoding/3078/6 "2024-09-05T12:37:38Z")

</div>

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.

---

<div class="post-metadata">

**Author:** ![daniel](https://sea1.discourse-cdn.com/flex015/user_avatar/community.bitmovin.com/daniel/32/121_2.png) [@daniel](https://community.bitmovin.com/u/daniel)\
**Post date:** [September 5, 2024, 1:54pm UTC](https://community.bitmovin.com/t/android-is-it-possible-to-enable-fallback-software-decoding/3078/7 "2024-09-05T13:54:24Z")

</div>

You can listen to the `PlayerWarning` event for the new code [DecoderInitializationFallback](https://cdn.bitmovin.com/player/android/3.79.0/docs/player-core/com.bitmovin.player.api.deficiency/-player-warning-code/-decoder-initialization-fallback/index.html) to be notified if the auto-fallback is used. Analytics is currently not storing Warning events.
