Skip to content

**Video Renderer Never Gets Ready on Fast Channel Change (Media3 v1.5.1)** #2280

@amit12kumardish

Description

@amit12kumardish

Description:

I am using Media3 v1.5.1 and a single player instance for playback. On fast channel changes, sometimes the video renderer never gets ready, and playback never starts. Below are the logs of the issue, including video and audio rendering events.

Logs:

downstreamFormat [eventTime=340.76, mediaPos=0.00, window=0, period=0, id=16/1024, mimeType=video/avc, codecs=avc1.640028, res=1440x1080, par=1.333, color=BT709/Limited range/SDR SMPTE 170M/8/8]
videoDecoderInitialized [eventTime=340.90, mediaPos=0.00, window=0, period=0, OMX.bcm.vdec.avc]
videoInputFormat [eventTime=340.91, mediaPos=0.00, window=0, period=0, id=16/1024, mimeType=video/avc, codecs=avc1.640028, res=1440x1080, par=1.333, color=BT709/Limited range/SDR SMPTE 170M/8/8]
downstreamFormat [eventTime=340.91, mediaPos=0.00, window=0, period=0, id=16/1025, mimeType=audio/ac3, bitrate=384000, channels=6, sample_rate=48000, language=en]
audioInputFormat [eventTime=340.91, mediaPos=0.00, window=0, period=0, id=16/1025, mimeType=audio/ac3, bitrate=384000, channels=6, sample_rate=48000, language=en]
rendererReady [eventTime=340.91, mediaPos=0.00, window=0, period=0, rendererIndex=2, text, true]
downstreamFormat [eventTime=340.91, mediaPos=0.00, window=0, period=0, id=null, mimeType=application/x-scte35]
rendererReady [eventTime=340.92, mediaPos=0.00, window=0, period=0, rendererIndex=3, metadata, true]
audioTrackInit [eventTime=341.35, mediaPos=0.00, window=0, period=0, 5,252,48000,false,false,24000]
rendererReady [eventTime=341.35, mediaPos=0.00, window=0, period=0, rendererIndex=1, audio, true]
loading [eventTime=363.64, mediaPos=0.00, window=0, period=0, false]
debug logs: 
onIsLoadingChanged- false :isPlayerStalled false, state: 2
loading [eventTime=495.67, mediaPos=0.00, window=0, period=0, false] 
onIsLoadingChanged- false :isPlayerStalled false, state: 2, playWhenReady: true, bufferedPosition: 22889, bufferedPercentage: 0 isFirstFrameRendered: false

Issue:

The videoRenderer never gets ready during the fast channel change process. From the logs, we can see that the renderer is initialized, but playback does not start, and the rendererReady event never fires for the video , isLoading=false and player never plays.

  • rendererReady for video never occurs during channel switch.
  • The player seems to be stalled (as per the logs) but playback does not start.
  • isFirstFrameRendered is false, indicating no frames have been rendered, despite the video decoder being initialized.

Steps to Reproduce:

  1. Switch between multicast channels rapidly.
  2. Observe that sometimes the video renderer never gets ready and playback fails to start.

Expected Behavior:

  • The video renderer should be ready and playback should start immediately after the channel change.

What I’ve Tried:

  • I’ve confirmed that the audio and other renderers are initialized correctly.
  • I’ve checked network conditions and they are stable.
  • I’m using a single player instance for the playback.

Player Version:

  • Media3 version: 1.5.1

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions