{"action":"created","issue":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/4448","repository_url":"https://api.github.com/repos/google/ExoPlayer","labels_url":"https://api.github.com/repos/google/ExoPlayer/issues/4448/labels{/name}","comments_url":"https://api.github.com/repos/google/ExoPlayer/issues/4448/comments","events_url":"https://api.github.com/repos/google/ExoPlayer/issues/4448/events","html_url":"https://github.com/google/ExoPlayer/issues/4448","id":336880773,"node_id":"MDU6SXNzdWUzMzY4ODA3NzM=","number":4448,"title":"Error on changing to/from some audio tracks after upgrade to Android 8","user":{"login":"aarondib","id":24892392,"node_id":"MDQ6VXNlcjI0ODkyMzky","avatar_url":"https://avatars2.githubusercontent.com/u/24892392?v=4","gravatar_id":"","url":"https://api.github.com/users/aarondib","html_url":"https://github.com/aarondib","followers_url":"https://api.github.com/users/aarondib/followers","following_url":"https://api.github.com/users/aarondib/following{/other_user}","gists_url":"https://api.github.com/users/aarondib/gists{/gist_id}","starred_url":"https://api.github.com/users/aarondib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aarondib/subscriptions","organizations_url":"https://api.github.com/users/aarondib/orgs","repos_url":"https://api.github.com/users/aarondib/repos","events_url":"https://api.github.com/users/aarondib/events{/privacy}","received_events_url":"https://api.github.com/users/aarondib/received_events","type":"User","site_admin":false},"labels":[{"id":214717009,"node_id":"MDU6TGFiZWwyMTQ3MTcwMDk=","url":"https://api.github.com/repos/google/ExoPlayer/labels/need%20more%20info","name":"need more info","color":"5319e7","default":false}],"state":"open","locked":false,"assignee":{"login":"andrewlewis","id":107897,"node_id":"MDQ6VXNlcjEwNzg5Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/107897?v=4","gravatar_id":"","url":"https://api.github.com/users/andrewlewis","html_url":"https://github.com/andrewlewis","followers_url":"https://api.github.com/users/andrewlewis/followers","following_url":"https://api.github.com/users/andrewlewis/following{/other_user}","gists_url":"https://api.github.com/users/andrewlewis/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewlewis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewlewis/subscriptions","organizations_url":"https://api.github.com/users/andrewlewis/orgs","repos_url":"https://api.github.com/users/andrewlewis/repos","events_url":"https://api.github.com/users/andrewlewis/events{/privacy}","received_events_url":"https://api.github.com/users/andrewlewis/received_events","type":"User","site_admin":false},"assignees":[{"login":"andrewlewis","id":107897,"node_id":"MDQ6VXNlcjEwNzg5Nw==","avatar_url":"https://avatars3.githubusercontent.com/u/107897?v=4","gravatar_id":"","url":"https://api.github.com/users/andrewlewis","html_url":"https://github.com/andrewlewis","followers_url":"https://api.github.com/users/andrewlewis/followers","following_url":"https://api.github.com/users/andrewlewis/following{/other_user}","gists_url":"https://api.github.com/users/andrewlewis/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewlewis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewlewis/subscriptions","organizations_url":"https://api.github.com/users/andrewlewis/orgs","repos_url":"https://api.github.com/users/andrewlewis/repos","events_url":"https://api.github.com/users/andrewlewis/events{/privacy}","received_events_url":"https://api.github.com/users/andrewlewis/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2018-06-29T06:38:47Z","updated_at":"2018-06-30T09:37:34Z","closed_at":null,"author_association":"NONE","body":"### Issue description\r\nAfter upgrade to official realease of Android 8 on Nvidia Shield TV 2017 switching to/from some audio tracks causes an error. Always worked flawless on all previous Android versions.\r\nAll tracks plays through audio passthrough to Pioneer AVR.\r\nFor example, switching from AC3 383 kb/s to AC3 484 kb/s audio track finished with error. Switching between AC3 383 kb/s tracks is ok.\r\n\r\n### Reproduction steps\r\nStart video playback and then switch to some specific audio track.\r\n\r\n### Version of ExoPlayer being used\r\n2.8.1\r\n\r\n### Device(s) and version(s) of Android being used\r\nNvidia Shield TV 2017 with Android 8\r\n\r\n### A full bug report captured from the device\r\n```\r\n06-29 00:44:34.630 466-1141/? I/OMXMaster: makeComponentInstance(OMX.google.raw.decoder) in android.hardwar process\r\n06-29 00:44:34.636 466-1199/? E/OMXNodeInstance: setConfig(0x4be23200:google.raw.decoder, ConfigPriority(0x6f800002)) ERROR: Undefined(0x80001001)\r\n06-29 00:44:34.636 9033-15635/com.name.app I/ACodec: codec does not support config priority (err -2147483648)\r\n06-29 00:44:34.637 466-1141/? E/OMXNodeInstance: getConfig(0x4be23200:google.raw.decoder, ConfigAndroidVendorExtension(0x6f100004)) ERROR: Undefined(0x80001001)\r\n06-29 00:44:34.646 454-500/? I/NvAudioPolicyManager: getOutputForAttr() device 0x400, samplingRate 48000, format 9000000, channelMask 3f, flags 1 strategy 0x0\r\n06-29 00:44:34.646 454-500/? W/APM_AudioPolicyManager: getOutput() could not find output for stream 3, samplingRate 48000,format 150994944, channels 3f, flags 1\r\n06-29 00:44:34.646 9033-15588/com.name.app E/AudioTrack: Could not get audio output for session 417, stream type -1, usage 1, sample rate 48000, format 0x9000000, channel mask 0x3f, flags 0x1\r\n06-29 00:44:34.647 9033-15588/com.name.app E/AudioTrack-JNI: Error -22 initializing AudioTrack\r\n06-29 00:44:34.647 9033-15588/com.name.app E/android.media.AudioTrack: Error code -20 when initializing AudioTrack.\r\n06-29 00:44:34.648 9033-15588/com.name.app E/ExoPlayerImplInternal: Playback error.\r\n    com.google.android.exoplayer2.ExoPlaybackException\r\n        at com.google.android.exoplayer2.audio.MediaCodecAudioRenderer.processOutputBuffer(MediaCodecAudioRenderer.java:535)\r\n        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1088)\r\n        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:573)\r\n        at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:518)\r\n        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:301)\r\n        at android.os.Handler.dispatchMessage(Handler.java:101)\r\n        at android.os.Looper.loop(Looper.java:164)\r\n        at android.os.HandlerThread.run(HandlerThread.java:65)\r\n     Caused by: com.google.android.exoplayer2.audio.AudioSink$InitializationException: AudioTrack init failed: 0, Config(48000, 252, 20480)\r\n        at com.google.android.exoplayer2.audio.DefaultAudioSink.initializeAudioTrack(DefaultAudioSink.java:1130)\r\n        at com.google.android.exoplayer2.audio.DefaultAudioSink.initialize(DefaultAudioSink.java:561)\r\n        at com.google.android.exoplayer2.audio.DefaultAudioSink.handleBuffer(DefaultAudioSink.java:617)\r\n        at com.google.android.exoplayer2.audio.MediaCodecAudioRenderer.processOutputBuffer(MediaCodecAudioRenderer.java:529)\r\n        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1088) \r\n        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:573) \r\n        at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:518) \r\n        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:301) \r\n        at android.os.Handler.dispatchMessage(Handler.java:101) \r\n        at android.os.Looper.loop(Looper.java:164) \r\n        at android.os.HandlerThread.run(HandlerThread.java:65) \r\n06-29 00:44:34.650 466-15597/? D/NvOsDebugPrintf: NVMEDIA: NVMEDIAFrameStatusReporting: 1807: Closing NVMEDIA Frame Status Thread -------------\r\n06-29 00:44:34.650 466-15598/? D/NvOsDebugPrintf: NVMEDIA: NVMEDIAVPRFloorSizeSettingThread: 1628: Closing NVMEDIAVPRFloorSizeSettingThread -------------\r\n06-29 00:44:34.650 466-15596/? D/NvOsDebugPrintf: NVMEDIA: NVMEDIAFrameDelivery: 1662: Closing NVMEDIA Frame Delivery Thread -------------\r\n06-29 00:44:34.668 466-15593/? D/NvOsDebugPrintf: NVMEDIA: NvMMLiteTVMRDecBlockClose: 3345: Done \r\n06-29 00:44:34.670 9033-15591/com.name.app D/SurfaceUtils: disconnecting from surface 0x21958d1010, reason disconnectFromSurface\r\n06-29 00:44:34.705 9033-9033/com.name.app I/ExoPlayerImpl: Release 5468831 [ExoPlayerLib/2.8.1] [darcy, SHIELD Android TV, NVIDIA, 26] [goog.exo.core, goog.exo.hls]\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/comments/401529973","html_url":"https://github.com/google/ExoPlayer/issues/4448#issuecomment-401529973","issue_url":"https://api.github.com/repos/google/ExoPlayer/issues/4448","id":401529973,"node_id":"MDEyOklzc3VlQ29tbWVudDQwMTUyOTk3Mw==","user":{"login":"aarondib","id":24892392,"node_id":"MDQ6VXNlcjI0ODkyMzky","avatar_url":"https://avatars2.githubusercontent.com/u/24892392?v=4","gravatar_id":"","url":"https://api.github.com/users/aarondib","html_url":"https://github.com/aarondib","followers_url":"https://api.github.com/users/aarondib/followers","following_url":"https://api.github.com/users/aarondib/following{/other_user}","gists_url":"https://api.github.com/users/aarondib/gists{/gist_id}","starred_url":"https://api.github.com/users/aarondib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aarondib/subscriptions","organizations_url":"https://api.github.com/users/aarondib/orgs","repos_url":"https://api.github.com/users/aarondib/repos","events_url":"https://api.github.com/users/aarondib/events{/privacy}","received_events_url":"https://api.github.com/users/aarondib/received_events","type":"User","site_admin":false},"created_at":"2018-06-30T09:37:34Z","updated_at":"2018-06-30T09:37:34Z","author_association":"NONE","body":"1. Yes, \"switching\" means setting specific audio track by setting track selection override.\r\n```\r\nTrackSelection.Factory trackSelectionFactory = new AdaptiveTrackSelection.Factory(new DefaultBandwidthMeter());\r\nDefaultTrackSelector trackSelector = new DefaultTrackSelector(trackSelectionFactory);\r\n...\r\nDefaultTrackSelector.SelectionOverride override = tracks == null ? null :\r\n    new DefaultTrackSelector.SelectionOverride(alAudioTracksIndices.get(index), tracks);\r\nDefaultTrackSelector.ParametersBuilder parametersBuilder = trackSelector.buildUponParameters();\r\nif (override != null) {\r\n    parametersBuilder.setSelectionOverride(audioRenderedIndex, trackGroups, override);\r\n} else {\r\n    parametersBuilder.clearSelectionOverrides(audioRenderedIndex);\r\n}\r\ntrackSelector.setParameters(parametersBuilder);\r\n```\r\n2. If just play 484 kb/s right away, then there is error when switching to any other 383 kb/s track.\r\n\r\n3. Nothing was changed, but Nvidia Shield TV upgraded to Android 8 (Firmware SW version 7.0.2).\r\n\r\n4. Will prepare and send you a bug report and video sample."}}
{"actor":{"display_login":"aarondib"}}