- 15 Mar, 2022 4 commits
-
-
Use android.util.Size, whose naming is much easier to understand than Pair<Integer, Integer>, in both FrameProcessor and EncoderUtil. PiperOrigin-RevId: 434813986
huangdarwin committed -
Having this in place means that analysis exceptions can be swallowed or thrown as needed. PiperOrigin-RevId: 434788802
samrobinson committed -
* Move auto-adjustments for transformation matrices from the VideoTranscodingSamplePipeline constructor to the new ScaleToFitFrameProcessor. * Add GlFrameProcessor#getOutputDimensions() to allow for GlFrameProcessors with different input and output dimensions. This is a prerequisite for Presentation. * Tested with unit tests (and manually just in case). * A follow up CL will implement change the FrameProcessor input to be scale and rotate values as requested by the user. This was kept out of this CL to reduce CL review size. Presentation will also be implemented in a follow up CL. PiperOrigin-RevId: 434774854
huangdarwin committed -
As pointed out in a previous review, createFallbackTransformationRequest can be a bit confusing to parse. Added javadocs and renamed parameters appropriately, to make it slightly more easy to understand. PiperOrigin-RevId: 434733313
huangdarwin committed
-
- 14 Mar, 2022 3 commits
-
-
https://github.com/androidx/media/commit/98e039d8727344b00c0e37c8b4f9c07cd6561543
*** Original commit *** Rollback of https://github.com/androidx/media/commit/aa22bc2dbeb01fbe3a9905adc8e87a859a3f3dca *** Original commit *** Fix PlayerView touch handling Overriding onTouchEvent was causing multiple issues, and appears to be unnecessary. Removing the override fixes: 1. StyledPlayerView accessibility issue where "hide player controls" actually toggled play/pause. 2. Delivery of events to a registered OnClick... *** PiperOrigin-RevId: 434502423
olly committed -
Issue: google/ExoPlayer#9933 #minor-release PiperOrigin-RevId: 434449816
aquilescanta committed -
PiperOrigin-RevId: 434441008
hschlueter committed
-
- 10 Mar, 2022 1 commit
-
-
The type of this parameter was changed when it was moved from OfflineLicenseHelper to DashUtil in https://github.com/androidx/media/commit/98f4fb85c210b2704a66e00c8477d4a41a234e9c PiperOrigin-RevId: 433770325
ibaker committed
-
- 24 Mar, 2022 5 commits
-
-
This parameter will not change between frames in the near future. PiperOrigin-RevId: 433765986
hschlueter committed -
Both files will be updated when new versions are released, but unreleased notes will only be accumulated in the media3 file. PiperOrigin-RevId: 433736599
ibaker committed -
There's no use of encoders in SsimHelper, changed all to "decoder". PiperOrigin-RevId: 433730292
claincly committed -
PiperOrigin-RevId: 433729648
olly committed -
https://github.com/androidx/media/commit/d5482fe3432f0a2e034d4a8579cc05a5e229ea4d
*** Original commit *** Don't call MediaDrm.setLogSessionId in FrameworkMediaDrm This method throws an UnsupportedOperationException on some Android 12 devices. *** PiperOrigin-RevId: 433708582
ibaker committed
-
- 15 Mar, 2022 2 commits
- 09 Mar, 2022 19 commits
-
-
The variable marks the coordinates used to sample from a texture, so hopefully this makes the naming a bit more descriptive. This renames vTexCoords and aTexCoords. No functional changes intended. PiperOrigin-RevId: 433499934
huangdarwin committed -
This fixes an exception thrown when parceling becasue the type can not be found (expects the AdsPlaybackState to be Serializable). Transforming the map and the ad playback states to a Bundle fixes the problem. #minor-release PiperOrigin-RevId: 433491993
bachinger committed -
PiperOrigin-RevId: 433467719
huangdarwin committed -
#minor-release PiperOrigin-RevId: 433467068
ibaker committed -
When the start position of a MediaPeriodInfo is equal or higher than the duration, we set the start position to `duration - 1` to end on the last frame. With server side inserted ad streams, this has the effect that we actually need to seek back to the last content frame after a post-roll. This is desirable when actually ending on that frame but produces a BUFFERING event when transitioning from an SSAI stream with a post-roll to the next media item in the playlist. This change sets the start position to the duration when we are clipping the last content period of an SSAI stream that is played in a playlist. PiperOrigin-RevId: 433445680
bachinger committed -
If an OpenGL call blocks because the encoder's input surface is full, this will now block the background thread while the main thread can continue querying encoder output and free up encoder capacity until it accepts more input unblocking the background thread. PiperOrigin-RevId: 433283287
hschlueter committed -
https://github.com/androidx/media/commit/aa22bc2dbeb01fbe3a9905adc8e87a859a3f3dca
*** Original commit *** Fix PlayerView touch handling Overriding onTouchEvent was causing multiple issues, and appears to be unnecessary. Removing the override fixes: 1. StyledPlayerView accessibility issue where "hide player controls" actually toggled play/pause. 2. Delivery of events to a registered OnClickListener when useController is false. 3. Delivery of events to a registered OnLongClickListener in all configurations. 4. Incorrectly treating a sequence of touch events that exit the bounds of the vi... *** PiperOrigin-RevId: 433262414
olly committed -
PiperOrigin-RevId: 433237266
samrobinson committed -
This change makes all notification actions start MediaSessionService in the background except COMMAND_PLAY which starts the service in the foreground. This is to avoid ANRs that are raised if we don't call MediaSessionService.startForeground() within 5 seconds since the service was started in the foreground. We only call MediaSessionService.startForeground() when Player.getPlayWhenReady() returns true, and only COMMAND_PLAY sets playWhenReady to true. Issue: androidx/media#20 #minor-release PiperOrigin-RevId: 433229604
christosts committed -
With the new version, we try the following before fixing resolution: - Fix size alignment - Try 3/4 the width and height - Try 2/3 the width and height - Try 1/2 the width and height Also: align the resolution ends in 1 or 9 to 0. PiperOrigin-RevId: 433206358
claincly committed -
PiperOrigin-RevId: 433174767
samrobinson committed -
PiperOrigin-RevId: 433172330
christosts committed -
Overriding onTouchEvent was causing multiple issues, and appears to be unnecessary. Removing the override fixes: 1. StyledPlayerView accessibility issue where "hide player controls" actually toggled play/pause. 2. Delivery of events to a registered OnClickListener when useController is false. 3. Delivery of events to a registered OnLongClickListener in all configurations. 4. Incorrectly treating a sequence of touch events that exit the bounds of the view before ACTION_UP as a click, both for delivery to OnClickListener and for toggling the controls. Note: After this change, control visibility will not be toggled if the application developer explicitly sets the view to be non-clickable. I think that's probably working as intended though. It seems correct that a non-clickable view would not respond to clicks. Issue: google/ExoPlayer#8627 Issue: google/ExoPlayer#9605 Issue: google/ExoPlayer#9861 PiperOrigin-RevId: 433016626
olly committed -
This change rewrites the UI module's track selection components to depend on the Player API, allowing us to finally remove the UI module's dependency on ExoPlayer as a concrete player implementation. PiperOrigin-RevId: 432989318
olly committed -
The change will be useful in testing transcoding performance PiperOrigin-RevId: 432956283
claincly committed -
PiperOrigin-RevId: 432937645
samrobinson committed -
PiperOrigin-RevId: 432928418
samrobinson committed -
Previously, we've used getSupportedHeights/Widths() to find the supported resolution. However, the height/width can be over-reported when using these APIs. For example, getSupportedWidths and getSupportedHeights can both return 3840, but the supported height when using 3840 as width is only 2160. PiperOrigin-RevId: 432926192
claincly committed
-
- 08 Mar, 2022 6 commits
-
-
This makes the reading period advance early as expected at the end of an ad period. Before this change the reading position of the metadata renderer prevented advancing the period until metadata arrived after the start position of the following period. Only then the reading position of the metadata renderer is updated and beyond the start position of the following period which is a condition to advance the reading period. Because transitioning to the next period is a virtual transition and the SharedMediaPeriod keeps reading from the same underlying sample streams, the metadata renderer can safely be ignored for this check. #minor-release PiperOrigin-RevId: 432646037 (cherry picked from commit c7c75173)
bachinger committed -
This change fixes two bugs where MediaSessionServe shows a notification with the Play icon but tapping it will not start playback: 1. After playback ends: we need to seek to the beginning of the media item. 2. After adding media items to the player but not starting playback: We need to call Player.prepare() too. PiperOrigin-RevId: 432469953 (cherry picked from commit 1023b9d5)
christosts committed -
PiperOrigin-RevId: 432430345 (cherry picked from commit 8e98187a)
christosts committed -
These should have been removed as part of https://github.com/androidx/media/commit/1391b7c65dab1856dad363dff7c0a250245f1671, since we no longer officially support overriding the layout file for this class. This class is known as StyledPlayerView in exoplayer2. #minor-release PiperOrigin-RevId: 432411322 (cherry picked from commit a353b333)
ibaker committed -
The MockPlayer has a single CountDownLatch field and multiple boolean flags that track if a player method was called. Upon calling the methods the latch count. Tests set the latch count to match exactly with the number of expected player interactions then block the test thread until the latch reaches zero and assert the respective method flags are true. This is subject to false positives. If the underneath implementation changes and call more player method, then the test thread will unblock as soon as a certain number of interactions is performed, which may be less than what the test expected originally. However, the test may stil pass if the player thread had enough time to update the expected method flag. This change removes the single CountDownLatch and the boolean flags and instead it adds APIs to query the MockPlayer if a method has been called and await until a method is called. Internally, the MockPlayer has a ConditionVariable per method. PiperOrigin-RevId: 432399077 (cherry picked from commit 45d51216)
christosts committed -
#minor-release PiperOrigin-RevId: 432189509 (cherry picked from commit a73a9e9c)
andrewlewis committed
-