- 21 Dec, 2022 5 commits
-
-
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 21 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 -
PiperOrigin-RevId: 495262344
andrewlewis 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 14 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/androidx/media/commit/c5dc5aeb111b0e8ddc0d2821bbef6885668dd5e3
*** Original commit *** Fix gradle build Add required import for androidx.window.java.layout.WindowInfoTrackerCallbackAdapter *** PiperOrigin-RevId: 493907749
michaelkatz committed -
https://github.com/androidx/media/commit/46b4ebc7b66751fb12f677aeb167dc701daa424b
*** Original commit *** Make PlayerView fold aware *** PiperOrigin-RevId: 493846471
ibaker committed -
Some Player methods like getting the Looper and adding listeners were always allowed to be called from any thread, but this is undocumented. This change makes the threading rules of these methods more explicit. Removing listeners was never meant to be called from another thread and we also don't support it safely because final callbacks may be triggered from the wrong thread. To find potential issues, we can assert the correct thread when releasing listeners. Finally, there is a potential race condition when calling addListener from a different thread at the same time as release, which may lead to a registered listener that could receive callbacks after the player is released. PiperOrigin-RevId: 493843981
tonihei committed -
It looks like this was added accidentally in <unknown commit>. PiperOrigin-RevId: 493834134
tonihei committed -
An AndroidTest is needed to test the message sending from ExoPlayerImpl to a video renderer (MCVR in this case). The test will be added later. PiperOrigin-RevId: 493602259
claincly committed -
PiperOrigin-RevId: 493557119
claincly committed -
The folder type has a mix of information about the item. It shows whether the item is browsable (type != FOLDER_TYPE_NONE) and which Bluetooth folder type to set for legacy session information. It's a lot clearer to split this into a boolean isBrowsable and use the existing mediaType to map back to the bluetooth folder type where required. folderType is not marked as deprecated yet as this would be an API change, which will be done later. PiperOrigin-RevId: 493544589
tonihei committed -
This adds support for the release handling. To align with the established behavior in ExoPlayer, the player can only call listeners from within the release methods (and not afterwards) and automatically enforces an IDLE state (without listener call) in case getters of the player are used after release. PiperOrigin-RevId: 493543958
tonihei committed
-