[GH-ISSUE #76] Youtube's videos not working due to exoplayer audio error #63

Open
opened 2026-03-01 15:39:48 +03:00 by kerem · 0 comments
Owner

Originally created by @4knahs on GitHub (Apr 16, 2018).
Original GitHub issue: https://github.com/budtmo/docker-android/issues/76

When attempting to play videos on youtube the exoplayer crashes because it fails to initialize AudioTrack. The youtube app does not crash but it doesnt play the video either. Similar happens when attempting to play from the browser.

Sound and youtube work fine when running from the emulator outside docker, so i assume its a docker issue. I tried adding /dev/snd and adding the audio group to no avail.

Setup

Operating System: Ubuntu 16.04

Docker Image: butomo1989/docker-android-x86-7.0

Docker Version: 18.03

Docker Command to start docker-android: docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" --name android-container butomo1989/docker-android-x86-7.0

(Also got pulseAudio installed, which might somewhat interfere)

Steps: Just start youtube and attempt to play a video

Actual Behavior

image

The exoplayer audio track fails to initialize:

04-16 08:57:53.230  3902  3902 W dex2oat : Compilation of java.lang.Object aau.a(int, java.lang.Object, java.lang.Object) took 210ms
04-16 08:57:53.240  3082  3082 W YouTube : Pinging https://s.youtube.com/api/stats/qoe?cl=192651238&event=streamingstats&ns=yt&referrer=youtube-android%3A%2F%2Fwww.youtube.com%2F&ei=_MfUWseRIoGkVvmOjtgB&feature=g-high-rch&docid=KS5rg_k0zpk&plid=AAVp-UiPBe-Kqy2f&fexp=23701349%2C23707874%2C23708904%2C23708906%2C23708910%2C23710476%2C23712544%2C23713711%2C23716256%2C23716971%2C23718325%2C23720636%2C23721898%2C23723618%2C23726329%2C23729169%2C23731309%2C23731341%2C23731896%2C23732728%2C23733195%2C23733751%2C23735424%2C23736443%2C23736809%2C24630001%2C9413144%2C9422596%2C9449243%2C9456940%2C9458230%2C9466593%2C9475685%2C9477113%2C9485000%2C9486106%2C9488572&cpn=auf565rEzkDc1Aqf&cbrand=unknown&c=android&cbrver=11.19.68&cmodel=Android%20SDK%20built%20for%20x86_64&cplatform=mobile&cver=11.19.68&cbr=com.google.android.youtube&cosver=7.0&cos=Android&conn=6&fmt=133&cache_info=277547:66831317:152457216:406171648&bat=4.040:0.500:1&sur=3.850:1,3.850:3&error=4.040:android.exo.audioinit.fatal:0.000:0&vps=3.870:B,4.040:ER
04-16 08:57:54.380  1314  2643 I ActivityManager: Killing 2768:com.android.managedprovisioning/u0a21 (adj 906): empty #17
04-16 08:57:54.400  1314  2659 D ActivityManager: cleanUpApplicationRecord -- 2768
04-16 08:57:55.400  2139  2465 I Icing   : Indexing done D1FFCD037D047A01CD12E7E8E9FE22AF62F9C83C
04-16 08:57:55.400  2139  2465 I Icing   : Usage reports ok 0, Failed Usage reports 0, indexed 0, rejected 0, imm upload false
04-16 08:57:55.410  2139  2465 I Icing   : Usage reports ok 0, Failed Usage reports 0, indexed 0, rejected 0, imm upload false
04-16 08:57:55.440  2139  2447 I IcingInternalCorpora: EventIndexer: starting incremental update
04-16 08:57:55.440  2139  2447 I IcingInternalCorpora: EventIndexer: 0 added, 0 removed, 0 changed, 0 unchanged, 0 errors.
04-16 08:57:55.440  2139  2447 I IcingInternalCorpora: EventIndexer: finished after 0 ms.
04-16 08:57:55.840  1043  1043 I MediaPlayerService: MediaPlayerService::getOMX
04-16 08:57:55.840  3082  3935 I OMXClient: MuxOMX ctor
04-16 08:57:55.840  1040  1550 I OMXMaster: makeComponentInstance(OMX.google.aac.decoder) in mediacodec process
04-16 08:57:55.840  1043  1043 I MediaPlayerService: MediaPlayerService::getOMX
04-16 08:57:55.840  3082  3939 I OMXClient: MuxOMX ctor
04-16 08:57:55.840  1040  1550 I OMXMaster: makeComponentInstance(OMX.google.h264.decoder) in mediacodec process
04-16 08:57:55.850  3082  3938 I MediaCodec: [OMX.google.h264.decoder] setting surface generation to 3155972
04-16 08:57:55.850  1040  1040 W OMXNodeInstance: [4100029:google.h264.decoder] component does not support metadata mode; using fallback
04-16 08:57:55.850  3082  3939 E ACodec  : [OMX.google.h264.decoder] storeMetaDataInBuffers failed w/ err -1010
04-16 08:57:55.870  1040  3936 I SoftAAC2: Reconfiguring decoder: 0->44100 Hz, 0->2 channels
04-16 08:57:55.870  3082  3938 D MediaCodec: [OMX.google.h264.decoder] setting dataspace on output surface to #103
04-16 08:57:55.870  3082  3938 D SoftwareRenderer: setting dataspace on output surface to #103
04-16 08:57:55.890  1035  1428 W APM_AudioPolicyManager: getOutput() could not find output for stream 3, samplingRate 0,format 0, channels 3, flags 0
04-16 08:57:55.890  3082  3852 E AudioTrack: Unable to query output sample rate for stream type -1; status -1
04-16 08:57:55.890  3082  3852 E AudioTrack-JNI: AudioTrack::getMinFrameCount() for sample rate 44100 failed with status -1
04-16 08:57:55.890  3082  3852 E android.media.AudioTrack: getMinBufferSize(): error querying hardware
04-16 08:57:55.890  1035  1427 W APM_AudioPolicyManager: getOutput() could not find output for stream 3, samplingRate 44100,format 1, channels 3, flags 0
04-16 08:57:55.890  3082  3852 E AudioTrack: Could not get audio output for session 89, stream type -1, usage 1, sample rate 44100, format 0x1, channel mask 0x3, flags 0
04-16 08:57:55.920  3082  3852 E AudioTrack-JNI: Error -22 initializing AudioTrack
04-16 08:57:55.920  3082  3852 E android.media.AudioTrack: Error code -20 when initializing AudioTrack.
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: Internal track renderer error.
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: fwb: fyf: AudioTrack init failed: 0, Config(44100, 12, 44100)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	at fwm.a(SourceFile:385)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	at fwt.a(SourceFile:12915)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	at fxr.a(SourceFile:129)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	at fwi.handleMessage(SourceFile:1434)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	at android.os.Handler.dispatchMessage(Handler.java:98)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	at android.os.Looper.loop(Looper.java:154)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	at android.os.HandlerThread.run(HandlerThread.java:61)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	at gjg.run(SourceFile:40)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: Caused by: fyf: AudioTrack init failed: 0, Config(44100, 12, 44100)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	at fya.a(SourceFile:2915)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	at fwm.a(SourceFile:3455)
04-16 08:57:55.920  3082  3852 E ExoPlayerImplInternal: 	... 7 more
04-16 08:57:55.930  3082  3082 E YouTube : Error with ExoPlayer audio track initialization.
04-16 08:57:55.930  3082  3082 E YouTube : fyf: AudioTrack init failed: 0, Config(44100, 12, 44100)
04-16 08:57:55.930  3082  3082 E YouTube : 	at fya.a(SourceFile:2915)
04-16 08:57:55.930  3082  3082 E YouTube : 	at fwm.a(SourceFile:3455)
04-16 08:57:55.930  3082  3082 E YouTube : 	at fwt.a(SourceFile:12915)
04-16 08:57:55.930  3082  3082 E YouTube : 	at fxr.a(SourceFile:129)
04-16 08:57:55.930  3082  3082 E YouTube : 	at fwi.handleMessage(SourceFile:1434)
04-16 08:57:55.930  3082  3082 E YouTube : 	at android.os.Handler.dispatchMessage(Handler.java:98)
04-16 08:57:55.930  3082  3082 E YouTube : 	at android.os.Looper.loop(Looper.java:154)
04-16 08:57:55.930  3082  3082 E YouTube : 	at android.os.HandlerThread.run(HandlerThread.java:61)
04-16 08:57:55.930  3082  3082 E YouTube : 	at gjg.run(SourceFile:40)

When attempting to play the youtube video from chrome:


04-16 10:08:52.665  4025  4025 E AudioTrack: Unable to query output sample rate for stream type -1; status -1
04-16 10:08:52.665  4025  4025 E AudioTrack-JNI: AudioTrack::getMinFrameCount() for sample rate 48000 failed with status -1
04-16 10:08:52.665  4025  4025 E android.media.AudioTrack: getMinBufferSize(): error querying hardware
04-16 10:08:52.667  4025  4025 E cr_media: Cannot configure the audio codec
04-16 10:08:52.667  4025  4025 E cr_media: java.lang.IllegalArgumentException: Invalid audio buffer size.
04-16 10:08:52.667  4025  4025 E cr_media: 	at android.media.AudioTrack.audioBuffSizeCheck(AudioTrack.java:953)
04-16 10:08:52.667  4025  4025 E cr_media: 	at android.media.AudioTrack.<init>(AudioTrack.java:505)
04-16 10:08:52.667  4025  4025 E cr_media: 	at android.media.AudioTrack.<init>(AudioTrack.java:422)
04-16 10:08:52.667  4025  4025 E cr_media: 	at android.media.AudioTrack.<init>(AudioTrack.java:366)
04-16 10:08:52.667  4025  4025 E cr_media: 	at org.chromium.media.MediaCodecBridge.createAudioTrack(MediaCodecBridge.java:596)
04-16 10:08:52.667  4025  4025 E cr_media: 	at org.chromium.media.MediaCodecBridge.configureAudio(MediaCodecBridge.java:555)
04-16 10:08:52.667  4025  4025 E cr_media: 	at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
04-16 10:08:52.667  4025  4025 E cr_media: 	at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:39)
04-16 10:08:52.667  4025  4025 E cr_media: 	at android.os.Handler.dispatchMessage(Handler.java:102)
04-16 10:08:52.667  4025  4025 E cr_media: 	at android.os.Looper.loop(Looper.java:154)
04-16 10:08:52.667  4025  4025 E cr_media: 	at android.app.ActivityThread.main(ActivityThread.java:6077)
04-16 10:08:52.667  4025  4025 E cr_media: 	at java.lang.reflect.Method.invoke(Native Method)
04-16 10:08:52.667  4025  4025 E cr_media: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
04-16 10:08:52.667  4025  4025 E cr_media: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
04-16 10:08:52.667  4025  4025 W cr_media: calling MediaCodec.release()

(Great project, thanks for opensourcing)

Originally created by @4knahs on GitHub (Apr 16, 2018). Original GitHub issue: https://github.com/budtmo/docker-android/issues/76 When attempting to play videos on youtube the exoplayer crashes because it fails to initialize AudioTrack. The youtube app does not crash but it doesnt play the video either. Similar happens when attempting to play from the browser. Sound and youtube work fine when running from the emulator outside docker, so i assume its a docker issue. I tried adding /dev/snd and adding the audio group to no avail. ## Setup Operating System: Ubuntu 16.04 Docker Image: butomo1989/docker-android-x86-7.0 Docker Version: 18.03 Docker Command to start docker-android: docker run --privileged -d -p 6080:6080 -p 5554:5554 -p 5555:5555 -e DEVICE="Samsung Galaxy S6" --name android-container butomo1989/docker-android-x86-7.0 (Also got pulseAudio installed, which might somewhat interfere) Steps: Just start youtube and attempt to play a video ## Actual Behavior ![image](https://user-images.githubusercontent.com/487348/38824085-6e8b59e2-41a8-11e8-9db8-f3d0481af9fd.png) The exoplayer audio track fails to initialize: ``` 04-16 08:57:53.230 3902 3902 W dex2oat : Compilation of java.lang.Object aau.a(int, java.lang.Object, java.lang.Object) took 210ms 04-16 08:57:53.240 3082 3082 W YouTube : Pinging https://s.youtube.com/api/stats/qoe?cl=192651238&event=streamingstats&ns=yt&referrer=youtube-android%3A%2F%2Fwww.youtube.com%2F&ei=_MfUWseRIoGkVvmOjtgB&feature=g-high-rch&docid=KS5rg_k0zpk&plid=AAVp-UiPBe-Kqy2f&fexp=23701349%2C23707874%2C23708904%2C23708906%2C23708910%2C23710476%2C23712544%2C23713711%2C23716256%2C23716971%2C23718325%2C23720636%2C23721898%2C23723618%2C23726329%2C23729169%2C23731309%2C23731341%2C23731896%2C23732728%2C23733195%2C23733751%2C23735424%2C23736443%2C23736809%2C24630001%2C9413144%2C9422596%2C9449243%2C9456940%2C9458230%2C9466593%2C9475685%2C9477113%2C9485000%2C9486106%2C9488572&cpn=auf565rEzkDc1Aqf&cbrand=unknown&c=android&cbrver=11.19.68&cmodel=Android%20SDK%20built%20for%20x86_64&cplatform=mobile&cver=11.19.68&cbr=com.google.android.youtube&cosver=7.0&cos=Android&conn=6&fmt=133&cache_info=277547:66831317:152457216:406171648&bat=4.040:0.500:1&sur=3.850:1,3.850:3&error=4.040:android.exo.audioinit.fatal:0.000:0&vps=3.870:B,4.040:ER 04-16 08:57:54.380 1314 2643 I ActivityManager: Killing 2768:com.android.managedprovisioning/u0a21 (adj 906): empty #17 04-16 08:57:54.400 1314 2659 D ActivityManager: cleanUpApplicationRecord -- 2768 04-16 08:57:55.400 2139 2465 I Icing : Indexing done D1FFCD037D047A01CD12E7E8E9FE22AF62F9C83C 04-16 08:57:55.400 2139 2465 I Icing : Usage reports ok 0, Failed Usage reports 0, indexed 0, rejected 0, imm upload false 04-16 08:57:55.410 2139 2465 I Icing : Usage reports ok 0, Failed Usage reports 0, indexed 0, rejected 0, imm upload false 04-16 08:57:55.440 2139 2447 I IcingInternalCorpora: EventIndexer: starting incremental update 04-16 08:57:55.440 2139 2447 I IcingInternalCorpora: EventIndexer: 0 added, 0 removed, 0 changed, 0 unchanged, 0 errors. 04-16 08:57:55.440 2139 2447 I IcingInternalCorpora: EventIndexer: finished after 0 ms. 04-16 08:57:55.840 1043 1043 I MediaPlayerService: MediaPlayerService::getOMX 04-16 08:57:55.840 3082 3935 I OMXClient: MuxOMX ctor 04-16 08:57:55.840 1040 1550 I OMXMaster: makeComponentInstance(OMX.google.aac.decoder) in mediacodec process 04-16 08:57:55.840 1043 1043 I MediaPlayerService: MediaPlayerService::getOMX 04-16 08:57:55.840 3082 3939 I OMXClient: MuxOMX ctor 04-16 08:57:55.840 1040 1550 I OMXMaster: makeComponentInstance(OMX.google.h264.decoder) in mediacodec process 04-16 08:57:55.850 3082 3938 I MediaCodec: [OMX.google.h264.decoder] setting surface generation to 3155972 04-16 08:57:55.850 1040 1040 W OMXNodeInstance: [4100029:google.h264.decoder] component does not support metadata mode; using fallback 04-16 08:57:55.850 3082 3939 E ACodec : [OMX.google.h264.decoder] storeMetaDataInBuffers failed w/ err -1010 04-16 08:57:55.870 1040 3936 I SoftAAC2: Reconfiguring decoder: 0->44100 Hz, 0->2 channels 04-16 08:57:55.870 3082 3938 D MediaCodec: [OMX.google.h264.decoder] setting dataspace on output surface to #103 04-16 08:57:55.870 3082 3938 D SoftwareRenderer: setting dataspace on output surface to #103 04-16 08:57:55.890 1035 1428 W APM_AudioPolicyManager: getOutput() could not find output for stream 3, samplingRate 0,format 0, channels 3, flags 0 04-16 08:57:55.890 3082 3852 E AudioTrack: Unable to query output sample rate for stream type -1; status -1 04-16 08:57:55.890 3082 3852 E AudioTrack-JNI: AudioTrack::getMinFrameCount() for sample rate 44100 failed with status -1 04-16 08:57:55.890 3082 3852 E android.media.AudioTrack: getMinBufferSize(): error querying hardware 04-16 08:57:55.890 1035 1427 W APM_AudioPolicyManager: getOutput() could not find output for stream 3, samplingRate 44100,format 1, channels 3, flags 0 04-16 08:57:55.890 3082 3852 E AudioTrack: Could not get audio output for session 89, stream type -1, usage 1, sample rate 44100, format 0x1, channel mask 0x3, flags 0 04-16 08:57:55.920 3082 3852 E AudioTrack-JNI: Error -22 initializing AudioTrack 04-16 08:57:55.920 3082 3852 E android.media.AudioTrack: Error code -20 when initializing AudioTrack. 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: Internal track renderer error. 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: fwb: fyf: AudioTrack init failed: 0, Config(44100, 12, 44100) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: at fwm.a(SourceFile:385) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: at fwt.a(SourceFile:12915) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: at fxr.a(SourceFile:129) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: at fwi.handleMessage(SourceFile:1434) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:98) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:154) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:61) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: at gjg.run(SourceFile:40) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: Caused by: fyf: AudioTrack init failed: 0, Config(44100, 12, 44100) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: at fya.a(SourceFile:2915) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: at fwm.a(SourceFile:3455) 04-16 08:57:55.920 3082 3852 E ExoPlayerImplInternal: ... 7 more 04-16 08:57:55.930 3082 3082 E YouTube : Error with ExoPlayer audio track initialization. 04-16 08:57:55.930 3082 3082 E YouTube : fyf: AudioTrack init failed: 0, Config(44100, 12, 44100) 04-16 08:57:55.930 3082 3082 E YouTube : at fya.a(SourceFile:2915) 04-16 08:57:55.930 3082 3082 E YouTube : at fwm.a(SourceFile:3455) 04-16 08:57:55.930 3082 3082 E YouTube : at fwt.a(SourceFile:12915) 04-16 08:57:55.930 3082 3082 E YouTube : at fxr.a(SourceFile:129) 04-16 08:57:55.930 3082 3082 E YouTube : at fwi.handleMessage(SourceFile:1434) 04-16 08:57:55.930 3082 3082 E YouTube : at android.os.Handler.dispatchMessage(Handler.java:98) 04-16 08:57:55.930 3082 3082 E YouTube : at android.os.Looper.loop(Looper.java:154) 04-16 08:57:55.930 3082 3082 E YouTube : at android.os.HandlerThread.run(HandlerThread.java:61) 04-16 08:57:55.930 3082 3082 E YouTube : at gjg.run(SourceFile:40) ``` When attempting to play the youtube video from chrome: ``` 04-16 10:08:52.665 4025 4025 E AudioTrack: Unable to query output sample rate for stream type -1; status -1 04-16 10:08:52.665 4025 4025 E AudioTrack-JNI: AudioTrack::getMinFrameCount() for sample rate 48000 failed with status -1 04-16 10:08:52.665 4025 4025 E android.media.AudioTrack: getMinBufferSize(): error querying hardware 04-16 10:08:52.667 4025 4025 E cr_media: Cannot configure the audio codec 04-16 10:08:52.667 4025 4025 E cr_media: java.lang.IllegalArgumentException: Invalid audio buffer size. 04-16 10:08:52.667 4025 4025 E cr_media: at android.media.AudioTrack.audioBuffSizeCheck(AudioTrack.java:953) 04-16 10:08:52.667 4025 4025 E cr_media: at android.media.AudioTrack.<init>(AudioTrack.java:505) 04-16 10:08:52.667 4025 4025 E cr_media: at android.media.AudioTrack.<init>(AudioTrack.java:422) 04-16 10:08:52.667 4025 4025 E cr_media: at android.media.AudioTrack.<init>(AudioTrack.java:366) 04-16 10:08:52.667 4025 4025 E cr_media: at org.chromium.media.MediaCodecBridge.createAudioTrack(MediaCodecBridge.java:596) 04-16 10:08:52.667 4025 4025 E cr_media: at org.chromium.media.MediaCodecBridge.configureAudio(MediaCodecBridge.java:555) 04-16 10:08:52.667 4025 4025 E cr_media: at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method) 04-16 10:08:52.667 4025 4025 E cr_media: at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:39) 04-16 10:08:52.667 4025 4025 E cr_media: at android.os.Handler.dispatchMessage(Handler.java:102) 04-16 10:08:52.667 4025 4025 E cr_media: at android.os.Looper.loop(Looper.java:154) 04-16 10:08:52.667 4025 4025 E cr_media: at android.app.ActivityThread.main(ActivityThread.java:6077) 04-16 10:08:52.667 4025 4025 E cr_media: at java.lang.reflect.Method.invoke(Native Method) 04-16 10:08:52.667 4025 4025 E cr_media: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 04-16 10:08:52.667 4025 4025 E cr_media: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 04-16 10:08:52.667 4025 4025 W cr_media: calling MediaCodec.release() ``` (Great project, thanks for opensourcing)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/docker-android#63
No description provided.