- 08 Aug, 2022 1 commit
-
- 28 Jul, 2022 5 commits
-
-
Use a URL with a `.test` tld (RFC 2606) to make it clear it's an testing URL. PiperOrigin-RevId: 463852174 (cherry picked from commit 4713c7fe)
christosts committed -
Despite unregistering the callback and clearing pending Handler messages, the callback may still receive pending calls if they are already triggered by the AudioTrack. Instead of asserting that the track is correct, we should gracefully ignore stale events. PiperOrigin-RevId: 463851393 (cherry picked from commit e331bf2c)
tonihei committed -
Merging https://github.com/androidx/media/pull/110/commits/c37a767fdfc2f7e0b9eb1ad7ae6f864c93950712 PiperOrigin-RevId: 463826373 (cherry picked from commit e848352a)
claincly committed -
MediaCodecRenderer allows passing HDR10+ out-of-bound metadata with ApplicationVersion = 1. PiperOrigin-RevId: 463822315 (cherry picked from commit 95becec1)
christosts committed -
Once a controller bound to a MediaSessionService unbinds, this service may be destroyed immediately if this was the last bound controller and the service isn't started in the foreground. At the time of releasing the controller, there may still be pending commands that need to be handled by the session service. These commands may cause the session service to post a foreground notification to keep it alive. So to avoid the destruction of the service while these commands are still handled, we need to keep the controller bound. We also add a timeout in case the session tasks are never completed by the session implementation. In case the controller is destroyed, the unbinding happens automatically by the system. PiperOrigin-RevId: 463802220 (cherry picked from commit ac42b593)
tonihei committed
-
- 08 Aug, 2022 1 commit
-
- 27 Jul, 2022 3 commits
-
-
TransformationException error codes were previously tied to OpenGL but other FrameProcessor implementations are possible. So this CL renames the error codes. Also, remove GL_INIT_FAILED error code, as FrameProcessor implemenations may initialize resources on a background thread after the factory method returns, so it's not obvious how to distinguish between initialization failures and processing failures. PiperOrigin-RevId: 463704902 (cherry picked from commit 0f96d861)
hschlueter committed -
This allows non-GL effects to be passed to custom FrameProcessor implementations. PiperOrigin-RevId: 463696384 (cherry picked from commit 580e44fc)
hschlueter committed -
PiperOrigin-RevId: 463646211 (cherry picked from commit b28fb139)
hschlueter committed
-
- 26 Jul, 2022 12 commits
-
-
Both are used in the public FrameProcessor interface, so they should be public too. PiperOrigin-RevId: 463454859 (cherry picked from commit b1b9ba82)
hschlueter committed -
Downsampled from 3840x2160 resolution videos using ffmpeg: `ffmpeg -i <inputFilename> -filter:v scale=<width>:<height> -c:a copy <outputFilename>` PiperOrigin-RevId: 463454628 (cherry picked from commit 56e50b63)
samrobinson committed -
PiperOrigin-RevId: 463452893 (cherry picked from commit 60d6654b)
samrobinson committed -
This is possible because SSIM increases monotonically with bitrate. PiperOrigin-RevId: 463434373 (cherry picked from commit 4a0b07b4)
samrobinson committed -
Just a misc nit, since I found the name a bit confusing, and figured findEncoderWithClosestSupportedFormat might be more descriptive. PiperOrigin-RevId: 463433646 (cherry picked from commit a7a17dc2)
huangdarwin committed -
Extract a FrameProcessor.Factory interface from GlEffectsFrameProcessor and allow it to be customized using a setter on Transformer.Builder. PiperOrigin-RevId: 463433438 (cherry picked from commit 22822d8e)
hschlueter committed -
PiperOrigin-RevId: 463320634 (cherry picked from commit 3aa5f259)
christosts committed
-
- 25 Jul, 2022 3 commits
-
-
Size requires API 21. Using Pair instead will allow effects to be used from API 18 during previewing once they are moved out of transformer. PiperOrigin-RevId: 463206474 (cherry picked from commit 4adf1993)
hschlueter committed -
PiperOrigin-RevId: 463193768 (cherry picked from commit 5db7778c)
hschlueter committed
-
- 08 Aug, 2022 1 commit
-
- 25 Jul, 2022 1 commit
-
- 22 Jul, 2022 2 commits
-
-
This is needed for applying effects to a playlist. The effects are applied based on the presentation time of the frame in its corresponding media item and the offset is added back before encoding. Each time the offset changes, end of input stream is signalled to the texture processors. This is needed because the texture processors can expect monotonically increasing timestamp within the same input stream but when the offset changes, the timstamps jump back to 0. PiperOrigin-RevId: 462714966 (cherry picked from commit 30e5bc98)
hschlueter committed -
The DefaultMediaNotificationProvider caches the last loaded artwork bitmap so that the bitmap isn't loaded again when the notification is updated, e.g., the player is transiting from playing to paused. However, loading bitmap requests for bitmaps that are already being loaded are not suppressed. For example, if the notification is updated while the artwork is still downloading, the same artwork might be downloaded multiple times. This change suppresses a bitmap load request if the same artwork is still being loaded, to avoid additional artwork downloads. #minor-release PiperOrigin-RevId: 462572221 (cherry picked from commit dd2c16bc)
christosts committed
-
- 21 Jul, 2022 8 commits
-
-
We currently clear all pending messages, including the one that flushes pending commands to the MediaSession. To ensure all commands that have been called before controller.release() are still sent, we can manually trigger the flush message from the release call. Related to handling the final flush because disconnecting the controller, MediaSessionStub didn't post the removal of the controller to the session thread, creating a race condition between removing the controller and actually handling the flush. Issue: androidx/media#99 PiperOrigin-RevId: 462342860 (cherry picked from commit ee209690)
tonihei committed -
These constructors are currently very intertwined, passing `this` references from the constructor of one to the constructor of another before the first constructor is complete (and so the `this` reference isn't really valid yet). This change uses checker framework `@UnderInitialization` and `@NotOnlyInitialized` annotations to make it more clear that the references are not available yet. For the one 'direct' access needed in the second constructor (calling `getApplicationLooper()`) we now pass the `applicationLooper` directly alongside (to avoid needing to dereference the reference 'too early'). This change also ensures that where a class hierarchy has a 'dependent' class hierarchy, the 'subclass' instance is always used (by both subclass and superclass) without casting or manually hiding the superclass field, by defining an overridable `getFoo()` method instead and always using it. #minor-release PiperOrigin-RevId: 462335043 (cherry picked from commit 287c7579)
ibaker committed -
This allows us to use BT.2020 RGB linear for intermediate shaders, which also allows us to re-enable PeriodicVignetteProcessor, which should work properly in linear color-spaces. Manually tested by adding a GlEffectsWrapper, and confirming that HLG HDR editing still looks correct. PiperOrigin-RevId: 462265821 (cherry picked from commit 2f977eee)
huangdarwin committed
- 20 Jul, 2022 3 commits
-
-
Add a Builder to constructor DefaultMediaNotificationProvider. The Builder can also set the provider's: - notification ID - notification channel ID - notification channel name The change adds an API for apps to set the small icon in notifications. #minor-release Issue: androidx/media#104 PiperOrigin-RevId: 462111536 (cherry picked from commit 436ff6d8)
christosts committed