# Add Codec on AudioTrack

**URL:** <https://community.bitmovin.com/t/add-codec-on-audiotrack/1539>\
**Category:** Feature Requests\
**Tags:** android\
**Created:** [November 24, 2022, 1:10pm UTC](https://community.bitmovin.com/t/add-codec-on-audiotrack/1539 "2022-11-24T13:10:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![raphael.fischer](https://avatars.discourse-cdn.com/v4/letter/r/ce73a5/32.png) [@raphael.fischer](https://community.bitmovin.com/u/raphael.fischer)\
**Post date:** [November 24, 2022, 1:10pm UTC](https://community.bitmovin.com/t/add-codec-on-audiotrack/1539/1 "2022-11-24T13:10:20Z")

</div>

It would be great to have Codec info on the AudioTrack Objec (com.bitmovin.player.api.media.audio.AudioTrack).

Why ?

When we have multiple track on the same language, for example one with Dolby system active and the other without the Dolby system.

It would be great to display to the user the choice of the track like this :

- French (5.1)
- French
- English (5.1)
- English

Right now, we don’t have those information.

 ![Capture d’écran 2022-11-23 150326](https://us1.discourse-cdn.com/flex015/uploads/bitmovin/original/1X/4929f7c74fb4ea2355f6d35576fde53e03511f14.png)

We can only get the information on the active track.

On your web library, we can do this like this :  
const audiosAvailable = this.playerBitmovin.getAvailableAudio();

```auto
for (let i = 0; i < audiosAvailable.length; i++) {
    const hasSurround = audiosAvailable[i].getQualities().some(c => c.codec === 'ec-3');
}

```

---

<div class="post-metadata">

**Author:** ![jacob.arends](https://sea1.discourse-cdn.com/flex015/user_avatar/community.bitmovin.com/jacob.arends/32/826_2.png) [@jacob.arends](https://community.bitmovin.com/u/jacob.arends)\
**Post date:** [November 28, 2022, 8:43pm UTC](https://community.bitmovin.com/t/add-codec-on-audiotrack/1539/2 "2022-11-28T20:43:02Z")

</div>

Hi Raphael,

Thank you for logging this request and providing us with such detail.

Fortunately, we have had similar requests from existing customers so we’re already tracking interest for this feature and assessing it for our roadmap. I’ve added your request as another upvote!

While I don’t have a timeline for you right now, we’ll let you know in this thread when we have some updates and also when we add the audio codec info to the Android SDK.

Thanks,  
Jacob

---

<div class="post-metadata">

**Author:** ![raphael.fischer](https://avatars.discourse-cdn.com/v4/letter/r/ce73a5/32.png) [@raphael.fischer](https://community.bitmovin.com/u/raphael.fischer)\
**Post date:** [March 27, 2023, 10:51am UTC](https://community.bitmovin.com/t/add-codec-on-audiotrack/1539/3 "2023-03-27T10:51:34Z")

</div>

Hi,

Any news concerning this feature ?

By the way, I can’t upgrade the Bitmovin SDK more than 3.33.0 otherwise it crashes due to the analytics module. Are you aware of this ?

```auto
FATAL EXCEPTION: main
                                                                                                    Process: homedia.sky.sport.debug, PID: 23559
                                                                                                    java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:502)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
                                                                                                    Caused by: java.lang.reflect.InvocationTargetException
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 
                                                                                                    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.bitmovin.player.BuildConfig" on path: DexPathList[[zip file "/data/app/homedia.sky.sport.debug-uVIFmrjHtkgMyVk9b7ffqg==/base.apk"],nativeLibraryDirectories=[/data/app/homedia.sky.sport.debug-uVIFmrjHtkgMyVk9b7ffqg==/lib/arm, /system/lib, /product/lib]]
                                                                                                    	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
                                                                                                    	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
                                                                                                    	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                                                                                                    	at com.bitmovin.analytics.bitmovin.player.BitmovinUtil.getPlayerVersion(BitmovinUtil.kt:10)
                                                                                                    	at com.bitmovin.analytics.bitmovin.player.BitmovinSdkAdapter.manipulate(BitmovinSdkAdapter.kt:195)
                                                                                                    	at com.bitmovin.analytics.data.EventDataFactory.create(EventDataFactory.kt:65)
                                                                                                    	at com.bitmovin.analytics.adapters.DefaultPlayerAdapter.createEventData(DefaultPlayerAdapter.kt:29)
                                                                                                    	at com.bitmovin.analytics.stateMachines.DefaultStateMachineListener.onStartup(DefaultStateMachineListener.kt:21)
                                                                                                    	at com.bitmovin.analytics.stateMachines.PlayerStates$Companion$STARTUP$1$onExitState$1.invoke(PlayerStates.kt:29)
                                                                                                    	at com.bitmovin.analytics.stateMachines.PlayerStates$Companion$STARTUP$1$onExitState$1.invoke(PlayerStates.kt:28)
                                                                                                    	at com.bitmovin.analytics.ObservableSupport.notify(ObservableSupport.kt:30)
                                                                                                    	at com.bitmovin.analytics.stateMachines.PlayerStates$Companion$STARTUP$1.onExitState(PlayerStates.kt:28)
                                                                                                    	at com.bitmovin.analytics.stateMachines.PlayerStateMachine.transitionState(PlayerStateMachine.kt:141)
                                                                                                    	at com.bitmovin.analytics.stateMachines.PlayerStateMachine.transitionState(PlayerStateMachine.kt:130)
                                                                                                    	at com.bitmovin.analytics.bitmovin.player.BitmovinSdkAdapter.onPlayerEventPlaying(BitmovinSdkAdapter.kt:365)
                                                                                                    	at com.bitmovin.analytics.bitmovin.player.BitmovinSdkAdapter.access$onPlayerEventPlaying(BitmovinSdkAdapter.kt:39)
                                                                                                    	at com.bitmovin.analytics.bitmovin.player.BitmovinSdkAdapter$addPlayerListeners$4.invoke(BitmovinSdkAdapter.kt:85)
                                                                                                    	at com.bitmovin.analytics.bitmovin.player.BitmovinSdkAdapter$addPlayerListeners$4.invoke(BitmovinSdkAdapter.kt:85)
                                                                                                    	at com.bitmovin.player.t.b.b(SourceFile:206)
                                                                                                    	at com.bitmovin.player.t.e.a(SourceFile:1)
                                                                                                    	at com.bitmovin.player.e.q0.a(SourceFile:40)
                                                                                                    	at com.bitmovin.player.e.q0.a(SourceFile:1)
                                                                                                    	at com.bitmovin.player.e.q0.b(SourceFile:1)
                                                                                                    	at com.bitmovin.player.e.q0$a.a(SourceFile:2)
                                                                                                    	at com.bitmovin.player.e.q0$a.invoke(SourceFile:1)
                                                                                                    	at kotlinx.coroutines.flow.FlowKt__TransformKt$onEach$$inlined$unsafeTransform$1$2.emit(Emitters.kt:223)
                                                                                                    	at kotlinx.coroutines.flow.StateFlowImpl.collect(StateFlow.kt:398)
                                                                                                    	at kotlinx.coroutines.flow.StateFlowImpl$collect$1.invokeSuspend(Unknown Source:15)
                                                                                                    	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                                    	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:883)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:100)
                                                                                                    	at android.os.Looper.loop(Looper.java:214)
                                                                                                    	at android.app.ActivityThread.main(ActivityThread.java:7356)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
                                                                                                    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 

```

BR,  
Raphael

---

<div class="post-metadata">

**Author:** ![jacob.arends](https://sea1.discourse-cdn.com/flex015/user_avatar/community.bitmovin.com/jacob.arends/32/826_2.png) [@jacob.arends](https://community.bitmovin.com/u/jacob.arends)\
**Post date:** [March 27, 2023, 12:34pm UTC](https://community.bitmovin.com/t/add-codec-on-audiotrack/1539/4 "2023-03-27T12:34:07Z")

</div>

Hi Raphael,

Thanks for the follow up. No update to share with you yet, but I’ll be sure to post in here once we have some movement.

Sorry to hear about the issue you’re having updating the Android SDK. Could you please open another community support post so one of our engineers can help you on that specific topic?

Thanks,  
Jacob

---

<div class="post-metadata">

**Author:** ![alexisv](https://avatars.discourse-cdn.com/v4/letter/a/ec9cab/32.png) [@alexisv](https://community.bitmovin.com/u/alexisv)\
**Post date:** [October 23, 2023, 4:27pm UTC](https://community.bitmovin.com/t/add-codec-on-audiotrack/1539/5 "2023-10-23T16:27:06Z")

</div>

Hi Jacob,

Any update on this? Or any workaround?

Not being able to show if audio is stereo or 5.1 really affect to the user experience.

 ![IMG_20231023_143856](https://us1.discourse-cdn.com/flex015/uploads/bitmovin/original/1X/76a5eb60165e12e6170cad8d2ec62ac3289e80bb.jpeg)

Thank you
