Change exoplayer payload type#7010
Conversation
|
This will be breaking, how do we handle an old version of the Android app? |
|
We could change the External Config tag from something like hasExoPlayer to hasExoPlayerv2. |
|
The Android app is out already, how can we be sure users update it before Thursday? That's not much time... |
|
That's a good point. If the app doesn't get updated in time then we should probably just skip exoplayer for 0.115 and wait until the next version. I don't think it's worth cluttering up anything for a workaround. |
|
Ok, let's do that then |
|
I'll make a small PR to return false for the ExoPlayer check. When the Android App gets updated we can reenable it, even in a patch version. |
b1f1ab3 to
106b37d
Compare
|
@bramkragten The Android app was updated in the store a few days ago, so this can be merged without breaking now. |
|
In 115.5 we made a change to stream to specify the codecs in a HLS master playlist. Since we now have the codecs available in the master playlist, we are now able to check the master playlist for H.265 before resorting to Exoplayer. I've just pushed the relevant changes. |
|
The changes we made in 0.115.5 also changed the url from a regular playlist to a master playlist. The various players don't need the master playlist to play - we only added it because Google Cast devices needed the codec strings to function properly. Should we just send the regular playlist instead? |
Uuuuh... I would not know? @hunterjm? |
|
It should be a little faster if we do that because we skip one extra master playlist load. The only concern is that we are coupling tight to the backend and have to remember if we ever change anything there. |
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Proposed change
The frontend may need to send additional options to the exoplayer/play_hls interface such as whether to be muted or not: #6857 . With that in mind it is probably better to use a JSONObject instead of a String for the payload.
Have also opened up a corresponding PR on the Android side (home-assistant/android#932). If we make the change it is probably better to do it before 0.115 before any of the exoplayer stuff is officially added.
Type of change
Example configuration
Additional information
Checklist
If user exposed functionality or configuration variables are added/changed: