The Wayback Machine - https://web.archive.org/web/20200629144202/https://github.com/google/ExoPlayer/issues/7100
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

count droppedFrames in tunneling mode #7100

Open
Cizor opened this issue Mar 17, 2020 · 3 comments
Open

count droppedFrames in tunneling mode #7100

Cizor opened this issue Mar 17, 2020 · 3 comments
Assignees
Labels

Comments

@Cizor
Copy link

@Cizor Cizor commented Mar 17, 2020

Searched documentation and issues

  1. Exoplayer Issues
  2. https://medium.com/google-exoplayer/tunneled-video-playback-in-exoplayer-84f084a8094d

[REQUIRED] Question

How to count dropped frames count when tunneling mode is enabled?
For non tunneling mode I am using decoderCounters.droppedBufferCount but code in MediaCodecVideoRenderer doesn't seem to handle it for tunneling mode. Please advise.

Link to test content

Content used from Demo app

@Cizor
Copy link
Author

@Cizor Cizor commented Mar 17, 2020

I am not very sure about it but since decoding of video is not in exoplayer code, it cannot determine if a frame is late, very late or should be dropped when tunneling mode is enabled

@krocard
Copy link
Contributor

@krocard krocard commented Mar 27, 2020

The tunneling decoder reports rendered frames with the callback MediaCodec.OnFrameRenderedListener.onFrameRendered which calls onProcessedTunneledBuffer which updates renderedOutputBufferCount but not the drop counter.
onProcessedTunneledBuffer could try to guess if a frame was not rendered by comparing the received timestamps to the expected ones.

As the tunneling decoders are not required to call onFrameRendered for every frame (and I have not tested if they do either). So it's not sure if the resulting metrics will be reliable.

Unfortunately I will not access to a tunneling setup until the London office reopens (COVID-19 confinement).

@krocard
Copy link
Contributor

@krocard krocard commented Jun 26, 2020

@Cizor, changxiangzhong in #7544 has done some testing regarding the tunneling onFrameRendered callback and it seems that the callback is reliable enough to detect frame drops, at least for their device.

I would encourage you to try the same methodology if possible to validate that it successfully detects drop frames for your devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants
You can’t perform that action at this time.