amzn / exoplayer-amazon-port

Official port of ExoPlayer for Amazon devices
Apache License 2.0
173 stars 80 forks source link

Fyi - Some patches will not required from ExoPlayer 2.9.0 #48

Closed ojw28 closed 6 years ago

ojw28 commented 6 years ago

We've been making a bit of an effort to improve support for FireOS devices in vanilla ExoPlayer. This means that from 2.9.0, it should be unnecessary for you to apply the following patches:

FTVPI-1555: Playready header issues FTVPI-1556: [EXO2] Playready DRM issues on Gen1 and Stick FTVPI-1557: [EXO2] Playready end of content exception FTVPI-1558: Workaround to handle platform limitation of max input size FTVPI-2182: Fix for native crash in Kindle Soho device

Ref:

https://github.com/google/ExoPlayer/commit/a407c028d4e3fc59320cf1a51bc8edbff1e5c19f https://github.com/google/ExoPlayer/commit/78d83304af63e5f781d325525cf7137e98ca3ed2 https://github.com/google/ExoPlayer/commit/04d1d5a8b6cdd4ca56592774828d66a193e6ae8d https://github.com/google/ExoPlayer/commit/2043d90a739b82b6222ca4d8b9d06710f0d37f46

peddisri commented 6 years ago

Thank you so much!!! That really saves some effort on our side to maintain these patches across versions.

ojw28 commented 6 years ago

No worries! If in the future you have fairly self contained fixes, such as the ones ref'd above, feel free to send pull requests to the vanilla ExoPlayer project. I took a look at the other patches you have as well, and concluded:

Is that correct? If we were to merge workarounds for the issues that FTVPI-1552 and FTVPI-2081 are for, do you think we'd be closed enough such that the Amazon port of ExoPlayer is no longer necessary? I don't think we'd be keen on ever working around the issue that FTVPI-1553 is for, but presumably at some point it's going to be OK to just serve these devices stereo streams, on account of there not being many of them in use any more.

peddisri commented 6 years ago

FIREFIVE-123614: Support skipping profile level checks for video - Is a no-op in default configuration

FTVPI-2218: Support for disabling snapping video frame release times - Is also a no-op in default configuration

FTVPI-1559: [EXO2] Logging support - Is logging only

FTVPI-2081 - Added support for Surround Sound detection for Optical

All the above changes are minor, and targeted. Now coming back to the two BIG changes.

FTVPI-1552: Gen4 Tablet audio latency issues - Is a necessary workaround for playbacks on affected device

FTVPI-1553:Dolby passthrough on Gen 1 FireTV

Amazon port of ExoPlayer- Well, as long as we have to maintain at least one of the patches we can't do away with Amazon's port unfortunately. But it definitely helps us reduce the up-level effort every time you release a version. So we would appreciate if you can pull in as many changes as you think you can.

ojw28 commented 6 years ago

I suspect FTVPI-1553 only ends up applying to a small number of playbacks. I (think?) you need all three of the following to be true (1) User must be using 4 year old first generation FireTV, (2) Content provider must provide Dolby streams, (3) User must have a Dolby capable setup. So I guess my point with that one is more that at some point it's probably just not worth maintaining, particularly given the consequence of doing so is probably that apps will fallback to stereo streams, rather than playback actually being completely broken. I doubt the combo of (1) and (3) are particularly common :). Just an observation anyway; obviously it's entirely up to you whether you maintain it indefinitely or not :).

We will have a look at whether we can put workarounds for FTVPI-2081 (looks likely) and FTVPI-1552 (less certain, but I acknowledge this is a required workaround), into vanilla ExoPlayer.

Thanks for the information!