- 21 Dec, 2022 13 commits
-
-
https://github.com/google/ExoPlayer/commit/c566b774490040fa2758834192d8b054105eacfd
*** Original commit *** Add TransformerTestBuilderFactory to make transformer testable by apps *** PiperOrigin-RevId: 496342997
tonihei committed -
https://github.com/google/ExoPlayer/commit/9b82d5317fc38c638c181f9aaafc90a943672688
*** Original commit *** Remove extra colons in `build.gradle`s modulePrefix should include this already. *** PiperOrigin-RevId: 496337833
tonihei committed -
FrameProcessor already support using different transfer function for input and output color. This CL has two major changes: - Create an eglSurface that recognizes BT.2020 PQ - This requires a separate extension that works only after 33 - So we current throw, if input is HDR, and this extension doesn't work - Create FrameProcessor with PQ output transfer function PiperOrigin-RevId: 496023758
claincly committed -
The tunneling callbacks are sent via Handler messages and may be handled after the codec/surface was changed or released. We already guard against the codec/surface change condition by creating a new listener and verifying that the current callback happens for the correct listener instance, but we don't guard against a released codec yet. PiperOrigin-RevId: 495882353
tonihei committed -
PiperOrigin-RevId: 495860300
samrobinson committed -
Some Player methods operate relative to existing indices in the playlist (add,remove,move,seek). As these operations may be issued from a place with a stale playlist (e.g. a controller that sends a command while the playlist is changing), we have to handle out- of-bounds indices gracefully. In most cases this is already documented and implemented correctly. However, some cases are not documented and the existing player implementations don't handle these cases consistently (or in some cases not even correctly). PiperOrigin-RevId: 495856295
tonihei committed -
modulePrefix should include this already. PiperOrigin-RevId: 495853065
andrewlewis committed -
The `MediaItem` instances in the following cases are not actually empty but acts as a placeholder. `EMPTY_MEDIA_ITEM` can also be confused with `MediaItem.EMPTY`. PiperOrigin-RevId: 495843012
rohks committed -
PiperOrigin-RevId: 495842393
samrobinson committed -
PiperOrigin-RevId: 495821660
tofunmi committed -
PiperOrigin-RevId: 495646341
claincly committed -
Issue: androidx/media#220 PiperOrigin-RevId: 495642588
bachinger committed -
Improves the time taken to construct `playerInfo` from its bundle from ~450 ms to ~400 ms. Each `MediaItem` inside `Timeline.Window` contains `MediaMetadata` and hence is a good candidate for bundling optimisations. There already exists a test to check all parameters for null values when unset. PiperOrigin-RevId: 495614719
rohks committed
-
- 15 Dec, 2022 20 commits
-
-
The TransformationResult has some useful values that are set in error cases, such as the codecs used. PiperOrigin-RevId: 495568259
samrobinson committed -
It covers the following cases: | From/To | `null` | `surface 0` | `surface 1` | |-------------|--------|-------------|-------------| | `null` |
🆖 |📺 |📺 | | `surface 0` |❌ |🔁 |📺 | | `surface 1` |❌ |📺 |🔁 | Where -🆖 means NOP -❌ means - Set `null` on FrameProcessor, effectively dropping all frames -📺 means - Notify the listener of video size - Set FrameProcessor output surface and size when MSG_SET_VIDEO_OUTPUT_SIZE is received -🔁 means - Notify the listener of video size PiperOrigin-RevId: 495477620claincly committed -
PiperOrigin-RevId: 495471548
claincly committed -
PiperOrigin-RevId: 495406734
claincly committed -
Adds COLOR_TRANSFER_GAMMA_2_2, to match behavior in other HDR to SDR tone mapping implementations. PiperOrigin-RevId: 495371736
huangdarwin committed -
PiperOrigin-RevId: 495368262
claincly committed -
This simplifies some position tracking needs for an app implementing SimpleBasePlayer. - The period index can always be derived from the media item index and the position. So there is no need to set it separately. - The media item index can be left unset in the State in case the app doesn't care about the value or wants to set it the default start index (e.g. while the playlist is still empty where UNSET is different from zero). - Similarly, we should allow to set the content position (and buffered position) to C.TIME_UNSET to let the app ignore it or indicate the default position explictly. PiperOrigin-RevId: 495352633
tonihei committed -
This ensures they are not accidentally triggered again when the state is rebuilt with a buildUpon method. PiperOrigin-RevId: 495280711
tonihei committed -
Otherwise, the decoders are not captured. It works at the moment for the video decoder because decoding is still done on the sample pipeline but it will moved to the AssetLoader soon. PiperOrigin-RevId: 495275575
kimvde committed -
`AudioProcessor`s expect direct buffers. This shouldn't make any functional difference in our code, but a custom audio processor might try to access the buffer from JNI in which case a direct byte buffer is more efficient. PiperOrigin-RevId: 495241669
andrewlewis committed -
This simplifies the caller slightly. PiperOrigin-RevId: 495234339
andrewlewis committed -
PiperOrigin-RevId: 495093939
claincly committed -
This improves the time taken to construct PlayerInfo from bundle from ~600ms to ~450ms. PiperOrigin-RevId: 495055355
rohks committed -
PiperOrigin-RevId: 495055151
claincly committed -
PiperOrigin-RevId: 495004732
rohks committed -
This is so that apps can customise AssetLoader PiperOrigin-RevId: 494998497
kimvde committed -
`SilentAudioGenerator` could output a fractional audio frame, and this could cause downstream components to throw because of trying to read a complete audio frame but only seeing a partial one. Calculate the output buffer size based on the frame size (which is a no-op for stereo 16-bit audio) and calculate a total number of frames to output then multiple by the frame size. PiperOrigin-RevId: 494992941
andrewlewis committed -
isLoading is not allowed to be true when IDLE, so we have to set to false when stopping in case it was set to true before. PiperOrigin-RevId: 494975405
tonihei committed -
BasePlayer simplifies implementations by handling all the various seek methods and forwarding to a single method that can then be implemented by subclasses. However, this loses the information about the concrete entry point used for seeking, which is relevant when the subclass wants to verify or filter by Player.Command. This can be improved by adding the command as a new parameter. Since we have to change the method anyway, we can also incorporate the boolean flag about whether the current item is repeated to avoid the separate method. PiperOrigin-RevId: 494948094
tonihei committed -
PiperOrigin-RevId: 494736085
samrobinson committed
-
- 12 Dec, 2022 7 commits
-
-
PiperOrigin-RevId: 494651985
samrobinson committed -
This is a step towards allowing apps to inject a custom AssetLoader PiperOrigin-RevId: 494185078
kimvde committed -
#minor-release PiperOrigin-RevId: 494166943
samrobinson committed -
- Use a single `VideoSize` instance instead of four primitive fields. - Clarify that the reported size is the decoded size, that is the encoded video size. PiperOrigin-RevId: 494148190
claincly committed -
calls setbounds() on the drawable as the bounds of a drawable must be set for the .draw() method to work as noted in the [Drawable Documentation](https://developer.android.com/reference/android/graphics/drawable/Drawable#draw(android.graphics.Canvas)). Also fixes createStaticDrawableOverlay() not taking specified overlay settings into account. PiperOrigin-RevId: 494116077
tofunmi committed -
The duration in TransformerInternal.ComponentListener is set on the Transformer internal thread, and is read on the playback thread. Making this field volatile ensures that the playback thread reads the updated value. PiperOrigin-RevId: 493908385
kimvde committed -
https://github.com/google/ExoPlayer/commit/90d4fdcf0f4a3cb7b6c8cfeebc79f3f3db7eab31
*** Original commit *** Fix gradle build Add required import for androidx.window.java.layout.WindowInfoTrackerCallbackAdapter *** PiperOrigin-RevId: 493907749
michaelkatz committed
-