这是indexloc提供的服务,不要输入任何密码
Skip to content

HLS: Black screen (audio only) despite supported video track #2519

@every-time

Description

@every-time

Version

Media3 1.7.1 (same as 1.6.1)

More version details

No response

Devices that reproduce the issue

onn Google TV 4K Streaming Device running its latest Android TV OS version (14)

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Yes

Reproduction steps

player = ExoPlayer.Builder(this).setRenderersFactory(DefaultRenderersFactory(this).setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON)).build()
findViewById<PlayerView>(R.id.playerView).player = player

player.addAnalyticsListener(EventLogger())

val mediaItem = MediaItem.fromUri("https://raw.githubusercontent.com/every-time/samples/refs/heads/main/sample1/master.m3u8")

player.playWhenReady = true
player.setMediaItem(mediaItem)
player.prepare()

I'm using the pre-built FFmpeg decoder module from here, which was compiled with ENABLED_DECODERS=(vorbis opus flac alac pcm_mulaw pcm_alaw mp3 amrnb amrwb aac ac3 eac3 dca mlp truehd)

Otherwise, it plays with no video (black screen) AND no audio due to audio/mpeg-L2 being unsupported on my device:

tracks [eventTime=2.38, mediaPos=0.00, window=0, period=0
  group [
    [X] Track:0, id=0, mimeType=video/avc, container=video/mp2t, codecs=avc1.4D001E, res=720x576, par=1.455, color=NA/NA/NA/8/8, supported=YES
  ]
  group [
    [ ] Track:0, id=769/4, mimeType=audio/mpeg-L2, container=video/mp2t, channels=2, sample_rate=48000, supported=NO_UNSUPPORTED_TYPE
  ]
  group [
    [ ] Track:0, id=769/8219, mimeType=application/cea-608, container=video/mp2t, supported=YES
  ]
  group [
    [X] Track:0, id=null, mimeType=application/id3, supported=YES
  ]
]

Expected result

Since the video track should be natively supported by my device, and the audio track is supported through the FFmpeg decoder module, I'd expect ExoPlayer to play both video and audio normally.

Actual result

ExoPlayer plays audio only with a black screen despite logs indicating my device supports all tracks, including video.

ExoPlayerImpl            I  Init e51e02 [AndroidXMedia3/1.7.1] [YOC, onn. 4K Streaming Box, onn, 34]
DefaultRenderersFactory  I  Loaded FfmpegVideoRenderer.
DefaultRenderersFactory  I  Loaded FfmpegAudioRenderer.
EventLogger              D  playWhenReady [eventTime=0.02, mediaPos=0.00, window=0, true, USER_REQUEST]
EventLogger              D  timeline [eventTime=0.07, mediaPos=0.00, window=0, periodCount=1, windowCount=1, reason=PLAYLIST_CHANGED
EventLogger              D    period [?]
EventLogger              D    window [?, seekable=false, dynamic=true]
EventLogger              D  ]
EventLogger              D  mediaItem [eventTime=0.08, mediaPos=0.00, window=0, reason=PLAYLIST_CHANGED]
EventLogger              D  state [eventTime=0.09, mediaPos=0.00, window=0, BUFFERING]
EventLogger              D  surfaceSize [eventTime=0.29, mediaPos=0.00, window=0, 1280, 720]
EventLogger              D  audioSessionId [eventTime=0.40, mediaPos=0.00, window=0, 513]
EventLogger              D  loading [eventTime=0.47, mediaPos=0.00, window=0, period=0, true]
EventLogger              D  timeline [eventTime=1.19, mediaPos=0.00, window=0, period=0, periodCount=1, windowCount=1, reason=SOURCE_UPDATE
EventLogger              D    period [20.00]
EventLogger              D    window [20.00, seekable=true, dynamic=false]
EventLogger              D  ]
EventLogger              D  videoEnabled [eventTime=2.32, mediaPos=0.00, window=0, period=0]
EventLogger              D  audioEnabled [eventTime=2.32, mediaPos=0.00, window=0, period=0]
EventLogger              D  tracks [eventTime=2.33, mediaPos=0.00, window=0, period=0
EventLogger              D    group [
EventLogger              D      [X] Track:0, id=0, mimeType=video/avc, container=video/mp2t, codecs=avc1.4D001E, res=720x576, par=1.455, color=NA/NA/NA/8/8, supported=YES
EventLogger              D    ]
EventLogger              D    group [
EventLogger              D      [X] Track:0, id=769/4, mimeType=audio/mpeg-L2, container=video/mp2t, channels=2, sample_rate=48000, supported=YES
EventLogger              D    ]
EventLogger              D    group [
EventLogger              D      [ ] Track:0, id=769/8219, mimeType=application/cea-608, container=video/mp2t, supported=YES
EventLogger              D    ]
EventLogger              D    group [
EventLogger              D      [X] Track:0, id=null, mimeType=application/id3, supported=YES
EventLogger              D    ]
EventLogger              D  ]
EventLogger              D  downstreamFormat [eventTime=2.37, mediaPos=0.00, window=0, period=0, id=0, mimeType=null, container=application/x-mpegURL]
EventLogger              D  videoDecoderInitialized [eventTime=2.47, mediaPos=0.00, window=0, period=0, c2.amlogic.avc.decoder]
EventLogger              D  videoInputFormat [eventTime=2.48, mediaPos=0.00, window=0, period=0, id=0, mimeType=video/avc, container=video/mp2t, codecs=avc1.4D001E, res=720x576, par=1.455, color=NA/NA/NA/8/8]
EventLogger              D  audioDecoderInitialized [eventTime=2.49, mediaPos=0.00, window=0, period=0, ffmpegLavc60.3.100-mp3]
EventLogger              D  audioInputFormat [eventTime=2.49, mediaPos=0.00, window=0, period=0, id=769/4, mimeType=audio/mpeg-L2, container=video/mp2t, channels=2, sample_rate=48000]
EventLogger              D  rendererReady [eventTime=2.50, mediaPos=0.00, window=0, period=0, rendererIndex=3, audio, true]
EventLogger              D  rendererReady [eventTime=2.51, mediaPos=0.00, window=0, period=0, rendererIndex=5, metadata, true]
EventLogger              D  audioTrackInit [eventTime=2.56, mediaPos=0.00, window=0, period=0, 2,12,48000,false,false,65600]
EventLogger              D  rendererReady [eventTime=3.95, mediaPos=0.00, window=0, period=0, rendererIndex=0, video, true]
EventLogger              D  loading [eventTime=3.97, mediaPos=0.02, window=0, period=0, false]
EventLogger              D  state [eventTime=3.98, mediaPos=0.02, window=0, period=0, READY]
EventLogger              D  isPlaying [eventTime=3.98, mediaPos=0.02, window=0, period=0, true]
EventLogger              D  state [eventTime=24.64, mediaPos=20.55, window=0, period=0, ENDED]
EventLogger              D  isPlaying [eventTime=24.85, mediaPos=20.55, window=0, period=0, false]

Media

https://raw.githubusercontent.com/every-time/samples/refs/heads/main/sample1/master.m3u8

Bug Report

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions