Skip to content

Lack of "STATE_ENDED" when playing video in tunneling mode #10756

Closed

Description

@jrocharodrigues

Hi,

I've come across this bug, #7647 , in an SAGEM AndroidTV box with Android 10.
I've changed the codecNeedsEosPropagationWorkaround function to return true for the decoders used and the workaround worked.
Is it possible to enable the this workaround without having to import all the exoplayer code into the app and changing this function?

Can you add this decoders to the codecNeedsEosPropagationWorkaround?

OMX.bcm.vdec.avc.tunnel
OMX.bcm.vdec.avc.tunnel.secure
OMX.bcm.vdec.hevc.tunnel
OMX.bcm.vdec.hevc.tunnel.secure

I've also notice that even with the workaround enabled, if i seek till the end of the stream, the end of the stream is not sent. Not sure if it is a limitation of the workaround or not? Do you want me to open a bug report for that?

Thanks in advance.

Activity

  1. self-assigned this
    on Nov 11, 2022
  2. tonihei commented on Nov 14, 2022

    @tonihei
    Collaborator

    Is it possible to enable the this workaround without having to import all the exoplayer code into the app and changing this function?

    Not easily unless you depend on a local copy of ExoPlayer to be able to edit the code directly. I think we should just add these devices to the list if you can confirm it fixes the problem. We also already have "OMX.broadcom.video_decoder.tunnel" on the list, which sounds like the same codec? At least they are both from Broadcom if "bcm" means "Broadcom".

    I've also notice that even with the workaround enabled, if i seek till the end of the stream, the end of the stream is not sent. Not sure if it is a limitation of the workaround or not? Do you want me to open a bug report for that?

    May be a problem of our workaround. I fear it's also hard to test for us as I'm not aware that we have any of these devices available. I quickly tested enforcing the workaround on all devices and seeking to the end works fine on my test device, so it must be specific to these devices. If you see an obvious problem with how we handle the workaround, feel free to send a PR, but otherwise it's unlikely we can investigate it soon.

  3. jrocharodrigues commented on Nov 14, 2022

    @jrocharodrigues
    Author

    Is it possible to enable the this workaround without having to import all the exoplayer code into the app and changing this function?

    Not easily unless you depend on a local copy of ExoPlayer to be able to edit the code directly. I think we should just add these devices to the list if you can confirm it fixes the problem. We also already have "OMX.broadcom.video_decoder.tunnel" on the list, which sounds like the same codec? At least they are both from Broadcom if "bcm" means "Broadcom".

    I confirm the workaround fixes the problem for this codec.
    I don't know if their the same as "OMX.broadcom.video_decoder.tunnel", but the ones i listed are also from broadcom.

    I've also notice that even with the workaround enabled, if i seek till the end of the stream, the end of the stream is not sent. Not sure if it is a limitation of the workaround or not? Do you want me to open a bug report for that?

    May be a problem of our workaround. I fear it's also hard to test for us as I'm not aware that we have any of these devices available. I quickly tested enforcing the workaround on all devices and seeking to the end works fine on my test device, so it must be specific to these devices. If you see an obvious problem with how we handle the workaround, feel free to send a PR, but otherwise it's unlikely we can investigate it soon.

    Ok, i'll take a look around and see if i can find any obvious problem.

  4. jrocharodrigues commented on Mar 10, 2023

    @jrocharodrigues
    Author

    Just tested 2.18.3 and it's resolved.
    Thank you.

  5. added a commit that references this issue on Mar 21, 2023
  6. locked and limited conversation to collaborators on May 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions