docker-android icon indicating copy to clipboard operation
docker-android copied to clipboard

Youtube's videos not working due to exoplayer audio error

Open 4knahs opened this issue 7 years ago • 0 comments

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)

4knahs avatar Apr 16 '18 17:04 4knahs