-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Impr/doris 1730 migrate exo 2.18.4 #77
Impr/doris 1730 migrate exo 2.18.4 #77
Commits on Oct 6, 2022
-
Provide access to original media timestamps in AudioSink.
* Add `setOutputStreamOffsetUs(long)` method in `AudioSink`. * Add private methods `setOutputStreamOffsetUs(long)` method in `MediaCodecRenderer` and `DecoderAudioRenderer`. * Add protected method `onOutputStreamOffsetUs(long)` method in `MediaCodecRenderer`, in which: * `MediaCodecRenderer` itself will be no-op for this method. * `MediaCodecAudioRenderer` will propagate this value to its `audioSink`. * Add logics in `DecoderAudioRenderer` to calculate `outputStreamOffsetUs`. PiperOrigin-RevId: 479265429 (cherry picked from commit 4c73241)
Configuration menu - View commit details
-
Copy full SHA for d2f7fb1 - Browse repository at this point
Copy the full SHA d2f7fb1View commit details -
Add a FrameProcessor flag to drop the processed frame
This mode is supported by using `C.TIME_UNSET` (which is a negative value). The new logic decouples the value of `C.TIME_UNSET` and the frame dropping behaviour. PiperOrigin-RevId: 479368880 (cherry picked from commit ccab9fb)
Configuration menu - View commit details
-
Copy full SHA for 8081804 - Browse repository at this point
Copy the full SHA 8081804View commit details
Commits on Oct 7, 2022
-
Document the allowed values of TsPayloadReader.Flags IntDef
PiperOrigin-RevId: 479569806 (cherry picked from commit 7c68b8d)
Configuration menu - View commit details
-
Copy full SHA for ee9bff0 - Browse repository at this point
Copy the full SHA ee9bff0View commit details -
HDR: Disable tone mapping on unsupported pixel build ID.
Also, update tests to allow AnyOf error codes, and no longer check exception messages, which caused quite a bit of churn. PiperOrigin-RevId: 479570861 (cherry picked from commit faa796d)
Configuration menu - View commit details
-
Copy full SHA for 15e316d - Browse repository at this point
Copy the full SHA 15e316dView commit details -
PiperOrigin-RevId: 479579252 (cherry picked from commit a6b9772)
Configuration menu - View commit details
-
Copy full SHA for bd616e1 - Browse repository at this point
Copy the full SHA bd616e1View commit details -
Remove late frame dropping in FrameProcessor
Currently, a frame is dropped if it's requested release time is in the past. This mode was added to support previewing. However, in normal ExoPlayer playback, slightly late frames (<30ms late) are also rendered. On MediaCodec side, this means calling `releaseOutputBuffer` with a release time in the past. PiperOrigin-RevId: 479615291 (cherry picked from commit 2188685)
Configuration menu - View commit details
-
Copy full SHA for efb7bf2 - Browse repository at this point
Copy the full SHA efb7bf2View commit details
Commits on Oct 10, 2022
-
Adjust track selection with Dolby Vision if display does not support
If the sample type is Dolby Vision and the display does not support Dolby Vision, then the capabilities DecoderSupport flag is set to DECODER_SUPPORT_FALLBACK_MIMETYPE. This denotes that the renderer will use a decoder for a fallback mimetype if possible. This alters track selection as tracks with DecoderSupport DECODER_SUPPORT_PRIMARY are preferred. UnitTests included -DefaultTrackSelector test that checks track selection reordering with DECODER_SUPPORT_FALLBACK_MIMETYPE -MediaCodecVideoRenderer test that checks setting of DecoderSupport flag based on Display's Dolby Vision support Issue: google#8944 PiperOrigin-RevId: 480040876 (cherry picked from commit a366590)
Configuration menu - View commit details
-
Copy full SHA for e8a5ac9 - Browse repository at this point
Copy the full SHA e8a5ac9View commit details -
Treat NO_VALUE as zero when adding up total required bitrate
We currently use the literal -1 (=NO_VALUE) when adding up the total. Tracks without known bitrate can be ignored in the calculation, but we should use an explicit value of 0. #minor-release Issue: google#10664 PiperOrigin-RevId: 480048126 (cherry picked from commit af19e0e)
Configuration menu - View commit details
-
Copy full SHA for dc80523 - Browse repository at this point
Copy the full SHA dc80523View commit details
Commits on Oct 11, 2022
-
Add local file picker to ConfigurationActivity
PiperOrigin-RevId: 480349627 (cherry picked from commit 225d0dc)
Configuration menu - View commit details
-
Copy full SHA for 5d8daba - Browse repository at this point
Copy the full SHA 5d8dabaView commit details -
Demo: Read long values from trim slider.
Before, slider values were read as `floor()`'ed `longValue()`s, so that trimming to intervals less than one second would be interpreted as a request for a zero- duration trim. Also, rename `radiusRange` references here to `trimRange`, since this is not a radius range. PiperOrigin-RevId: 480401556 (cherry picked from commit 6c59f9e)
Configuration menu - View commit details
-
Copy full SHA for abefef9 - Browse repository at this point
Copy the full SHA abefef9View commit details
Commits on Oct 12, 2022
-
Demo: Hide player controls by default.
Player controls are somewhat distracting when showing the difference between the input and output video, as they obscure and darken the video players. PiperOrigin-RevId: 480597804 (cherry picked from commit 91a61ce)
Configuration menu - View commit details
-
Copy full SHA for 2244549 - Browse repository at this point
Copy the full SHA 2244549View commit details -
Demo: Shorten trim range from 60 seconds to 10 seconds.
Most demo videos aren't very long, and the default demo video is only 10 seconds. Shorten the maximum trim duration to 10 seconds, to demonstrate transformer functionality more easily, and allow this to be used more easily when trimming short sections of a longer video (ex. to make test clips) PiperOrigin-RevId: 480602037 (cherry picked from commit 3142a21)
Configuration menu - View commit details
-
Copy full SHA for 4198dde - Browse repository at this point
Copy the full SHA 4198ddeView commit details -
When debugging and fixing Issue: google#10666 I wanted to write a regression test, but needed to add a test first... This is just a small bit of coverage to start with. It checks the field/channel filtering works correctly, but doesn't check any styling info. It also doesn't test 'pop on' subtitles (i.e. when the subtitle isn't shown until a 'end of subtitle' signal is received). PiperOrigin-RevId: 480644568 (cherry picked from commit 6052212)
Configuration menu - View commit details
-
Copy full SHA for 3aca9bc - Browse repository at this point
Copy the full SHA 3aca9bcView commit details
Commits on Oct 13, 2022
-
Remove supportsSampleMimeType from Muxer.Factory
- This method is redundant with getSupportedSampleMimeTypes(). - This is to prepare the Muxer class to become public. PiperOrigin-RevId: 480840902 (cherry picked from commit 8962f5a)
Configuration menu - View commit details
-
Copy full SHA for 267725c - Browse repository at this point
Copy the full SHA 267725cView commit details -
Fix blank toast in Transformer Demo
PiperOrigin-RevId: 480847967 (cherry picked from commit 446c994)
Configuration menu - View commit details
-
Copy full SHA for a8921b7 - Browse repository at this point
Copy the full SHA a8921b7View commit details -
Migrate media constants from androidx.media.util.MediaConstants
Adds root extras and metadata extras to MockMediaLibraryService and MockMediaBrowserCompatService and completed test cases for asserting interoperability with a media1 or Media3 browser. PiperOrigin-RevId: 480854842 (cherry picked from commit f95406e)
Configuration menu - View commit details
-
Copy full SHA for 1bea506 - Browse repository at this point
Copy the full SHA 1bea506View commit details -
Ensure sessions without MediaPeriodId are ended after seek to new item
We already have logic to end all session except the current one if the current one doesn't have a MediaPeriodId yet. This is assuming that this only happens after a seek on the app side where the player doesn't have detailled knowledge about the MediaPeriodIds yet. Currently this logic isn't triggered if the window we are coming from doesn't have its MediaPeriodId either as we run into another check that keeps sessions around until we have a valid windowSequenceNumber. Swapping both conditions fixes this case without breaking any of the other known transition scenarios. Issue: androidx/media#180 PiperOrigin-RevId: 480866465 (cherry picked from commit 6070d91)
Configuration menu - View commit details
-
Copy full SHA for b362736 - Browse repository at this point
Copy the full SHA b362736View commit details
Commits on Oct 14, 2022
-
Mark effectively-final PlayerControlView fields as actually final
This means the null checker can be more sure that these fields don't get reassigned between a null-check and a usage. PiperOrigin-RevId: 481142004 (cherry picked from commit 248ee46)
Configuration menu - View commit details
-
Copy full SHA for 8ffdc3a - Browse repository at this point
Copy the full SHA 8ffdc3aView commit details -
Effect: Remove unused private int ouptutTexId in pixel tests.
PiperOrigin-RevId: 481143798 (cherry picked from commit 026699b)
Configuration menu - View commit details
-
Copy full SHA for d9c60dc - Browse repository at this point
Copy the full SHA d9c60dcView commit details -
Fix the position of IntDef annotations on fields in the UI module
PiperOrigin-RevId: 481150758 (cherry picked from commit 871a5e6)
Configuration menu - View commit details
-
Copy full SHA for 12314ab - Browse repository at this point
Copy the full SHA 12314abView commit details -
Fix display settings window UI bug for foldable devices.
PiperOrigin-RevId: 481215581 (cherry picked from commit 6cdaf2c)
Configuration menu - View commit details
-
Copy full SHA for e3d0ee9 - Browse repository at this point
Copy the full SHA e3d0ee9View commit details -
Use static import for Assertions in MCVR
PiperOrigin-RevId: 481122795 (cherry picked from commit 12f7174)
Configuration menu - View commit details
-
Copy full SHA for df15f9c - Browse repository at this point
Copy the full SHA df15f9cView commit details
Commits on Oct 17, 2022
-
Add copybara annotated import statement for special cases
PiperOrigin-RevId: 481605567 (cherry picked from commit fd315da)
Configuration menu - View commit details
-
Copy full SHA for fbc8019 - Browse repository at this point
Copy the full SHA fbc8019View commit details -
Add manifest to make gradle build work
PiperOrigin-RevId: 481606248 (cherry picked from commit 325e973)
Configuration menu - View commit details
-
Copy full SHA for 7cc3f11 - Browse repository at this point
Copy the full SHA 7cc3f11View commit details
Commits on Oct 18, 2022
-
Add DefaultMuxer forwarding to FrameworkMuxer
- The naming DefaultMuxer is more consistent with the rest of Transformer codebase (e.g. DefaultEncoderFactory). - By hiding the implementation details of DefaultMuxer, the transition to in-app Muxer will be seamless for apps using DefaultMuxer. - The current plan is that DefaultMuxer will become the in-app muxer. PiperOrigin-RevId: 481838790 (cherry picked from commit b4d7f06)
Configuration menu - View commit details
-
Copy full SHA for 1c6cea8 - Browse repository at this point
Copy the full SHA 1c6cea8View commit details -
Remove more references to overriding layouts from Player(Control)View
In exoplayer2 this affects StyledPlayer(Control)View #minor-release PiperOrigin-RevId: 481878940 (cherry picked from commit a5583c0)
Configuration menu - View commit details
-
Copy full SHA for fb1c9de - Browse repository at this point
Copy the full SHA fb1c9deView commit details -
#cleanup PiperOrigin-RevId: 481882181 (cherry picked from commit b6bd358)
Configuration menu - View commit details
-
Copy full SHA for 5de37d2 - Browse repository at this point
Copy the full SHA 5de37d2View commit details -
Remove deprecated setOutputMimeType
This is to prepare Muxer to become public PiperOrigin-RevId: 481893842 (cherry picked from commit bd9181e)
Configuration menu - View commit details
-
Copy full SHA for 66d56be - Browse repository at this point
Copy the full SHA 66d56beView commit details -
GL: Move loadAsset to GlProgram, where it's used.
(Also, make some public methods private) PiperOrigin-RevId: 481912071 (cherry picked from commit a404fde)
Configuration menu - View commit details
-
Copy full SHA for 66bae60 - Browse repository at this point
Copy the full SHA 66bae60View commit details -
Ensure onMediaItemTransition is sent for repeats of the same item
Currently, repeating the same item (via seekNext/Previous) implicitly results in a seek to the default position of the current item, which looks exactly the same as a direct seek. As a result, we don't send onMediaItemTransition as we would for every other seekNext/Previous call. This can be fixed by explicitly marking the repeat case in the internal BasePlayer/ExoPlayerImpl methods, so that the callback can be triggered. Issue: google#10667 PiperOrigin-RevId: 481951788 (cherry picked from commit 76ce0cc)
Configuration menu - View commit details
-
Copy full SHA for ed9bc9a - Browse repository at this point
Copy the full SHA ed9bc9aView commit details -
Test: Update MatrixProcessorPixelTest to use input width and height.
Before, they used `width` and `height`, which was inconsistent with other pixel tests, and less descriptive. Refactoring change only. No functional change intended. PiperOrigin-RevId: 481970243 (cherry picked from commit 620d8c9)
Configuration menu - View commit details
-
Copy full SHA for e54127c - Browse repository at this point
Copy the full SHA e54127cView commit details
Commits on Oct 19, 2022
-
Remove ForwardingPlayer special case from PlayerControlView.setPlayer
This was originally added in google@4fd7d77, but it hasn't done anything since google@98ee159 (when the instanceof ExoPlayer check was removed). PiperOrigin-RevId: 482161662 (cherry picked from commit 7d5f1a2)
Configuration menu - View commit details
-
Copy full SHA for f56d714 - Browse repository at this point
Copy the full SHA f56d714View commit details -
Effect: Remove unnecessary "this" qualifier
`transformationMatrix` is not ambiguous, as there's no other local transformationMatrix variable nearby. PiperOrigin-RevId: 482184602 (cherry picked from commit c698ec5)
Configuration menu - View commit details
-
Copy full SHA for 5c0175e - Browse repository at this point
Copy the full SHA 5c0175eView commit details -
The reason for making the Muxer public is that we want to add an option to disable or configure the timer that will throw when the muxer doesn't receive any data for a given period of time. PiperOrigin-RevId: 482199360 (cherry picked from commit d213b93)
Configuration menu - View commit details
-
Copy full SHA for f42d18f - Browse repository at this point
Copy the full SHA f42d18fView commit details -
HDR: Support RGBA_1010102 in GlUtil as a parameter.
Make it easier to support use of RGBA_101012 rather than RGBA_8888 for EGL contexts, displays, and surfaces. This tangentially supports adding HDR tests, by slightly simplifying the color selection logic we'd have to add in HDR tests. PiperOrigin-RevId: 482219428 (cherry picked from commit 9e1adee)
Configuration menu - View commit details
-
Copy full SHA for 0b0101e - Browse repository at this point
Copy the full SHA 0b0101eView commit details -
Corrected ordering of javadoc params
PiperOrigin-RevId: 482231370 (cherry picked from commit 8977220)
Configuration menu - View commit details
-
Copy full SHA for 1b6bef0 - Browse repository at this point
Copy the full SHA 1b6bef0View commit details -
Map lib-effect from androidx to exoplayer2
PiperOrigin-RevId: 482179761 (cherry picked from commit 28c4be2)
Configuration menu - View commit details
-
Copy full SHA for 6f94b8e - Browse repository at this point
Copy the full SHA 6f94b8eView commit details
Commits on Oct 20, 2022
-
Merge pull request google#10578 from thucngv:release-v2
PiperOrigin-RevId: 481115402 (cherry picked from commit 9861f88)
Configuration menu - View commit details
-
Copy full SHA for e13bbbc - Browse repository at this point
Copy the full SHA e13bbbcView commit details -
Merge pull request google#183 from jasper-apps:bugfix/make-download-n…
…otification-appear-immediately PiperOrigin-RevId: 482165983 (cherry picked from commit 405455b)
Configuration menu - View commit details
-
Copy full SHA for fc32f0d - Browse repository at this point
Copy the full SHA fc32f0dView commit details -
Remove muxerFactory dependency on playerListener
This listener will need to be passed to the MuxerWrapper to throw when the Transformer is stuck. PiperOrigin-RevId: 482433552 (cherry picked from commit e3f2842)
Configuration menu - View commit details
-
Copy full SHA for dc8098a - Browse repository at this point
Copy the full SHA dc8098aView commit details -
Change areSizeAndRateSupported to use PerfomancePoint.covers
PiperOrigin-RevId: 482461219 (cherry picked from commit 0eb30ea)
Configuration menu - View commit details
-
Copy full SHA for b97a959 - Browse repository at this point
Copy the full SHA b97a959View commit details
Commits on Oct 21, 2022
-
Add DAI specific methods to AdPlaybackState
PiperOrigin-RevId: 482755468 (cherry picked from commit a8e6894)
Configuration menu - View commit details
-
Copy full SHA for b20752f - Browse repository at this point
Copy the full SHA b20752fView commit details
Commits on Oct 24, 2022
-
Fix some incorrect comments in Cea608DecoderTest
Also used all-caps consistently PiperOrigin-RevId: 483317405 (cherry picked from commit 6dcb9aa)
Configuration menu - View commit details
-
Copy full SHA for 84375a4 - Browse repository at this point
Copy the full SHA 84375a4View commit details -
Merge pull request google#10618 from vishnuchilakala:fix/do_not_send_…
…content_complete_if_midroll_skipped PiperOrigin-RevId: 482481703 (cherry picked from commit a413b47)
Configuration menu - View commit details
-
Copy full SHA for d2c4f74 - Browse repository at this point
Copy the full SHA d2c4f74View commit details -
Merge pull request google#162 from ittiam-systems:rtp-mp4a-latm
PiperOrigin-RevId: 482490230 (cherry picked from commit fd2ba37)
Configuration menu - View commit details
-
Copy full SHA for 23b070d - Browse repository at this point
Copy the full SHA 23b070dView commit details -
Add CanIgnoreReturnValue to AudioProcessor#configure + implementations
Although it can be useful to check the output format, it's not required or needed. For some AudioProcessor implementations, it is stated/obvious that the output format will match the input, in which case there is no a need to check the return value. #cleanup PiperOrigin-RevId: 483403679 (cherry picked from commit a7bfa12)
Configuration menu - View commit details
-
Copy full SHA for 154cd42 - Browse repository at this point
Copy the full SHA 154cd42View commit details -
Use int for an unsigned byte value in Cea608Decoder
This is a no-op, but it's more 'correct' because it avoids any potential sign mix-ups that come from storing an unsigned byte (with a potentially set MSB) in a signed java byte variable. PiperOrigin-RevId: 483409798 (cherry picked from commit 3d0f43a)
Configuration menu - View commit details
-
Copy full SHA for 0f5245f - Browse repository at this point
Copy the full SHA 0f5245fView commit details
Commits on Oct 25, 2022
-
Clarify sideloaded subtitle example
#minor-release PiperOrigin-RevId: 483633564 (cherry picked from commit eaf1f21)
Configuration menu - View commit details
-
Copy full SHA for f7f371f - Browse repository at this point
Copy the full SHA f7f371fView commit details -
Add GL utility methods to get 4x4 identity and set identity
PiperOrigin-RevId: 483671580 (cherry picked from commit f5ad4e0)
Configuration menu - View commit details
-
Copy full SHA for 053e14a - Browse repository at this point
Copy the full SHA 053e14aView commit details -
Move AudioProcessor to common.
PiperOrigin-RevId: 483699606 (cherry picked from commit dda17db)
Configuration menu - View commit details
-
Copy full SHA for 8debe79 - Browse repository at this point
Copy the full SHA 8debe79View commit details -
Move
DefaultAudioSink.AudioProcessorChain
toAudioProcessorChain
Split inner interface into separate file, which will go in common module. The old interface will be deprecated and extends the new. #cleanup PiperOrigin-RevId: 483732226 (cherry picked from commit ad52b68)
Configuration menu - View commit details
-
Copy full SHA for fe9bad1 - Browse repository at this point
Copy the full SHA fe9bad1View commit details
Commits on Oct 26, 2022
-
Fix
Cea608Decoder
handling of service switch commands in field 2From ANSI-CTA-608-E R-2014 section 8.4: > When closed captioning is used on line 21, field 2, it shall conform > to all of the applicable specifications and recommended practices as > defined for field 1 services with the following differences: > 1. The non-printing character of the miscellaneous control-character > pairs that fall in the range of 0x14, 0x20 to 0x14, 0x2F in field 1, > shall be replaced with 0x15, 0x20 to 0x15, 0x2F when used in field > 2. > 2. The non-printing character of the miscellaneous control-character > pairs that fall in the range of 0x1C, 0x20 to 0x1C, 0x2F in field > 1, shall be replaced with 0x1D, 0x20 to 0x1D, 0x2F when used in > field 2. This basically means that `cc1=0x15` in field 2 should be interpreted as `cc1=0x14` in field 1, and same for `0x1D -> 0x1C`. The `isMiscCode` method above already handles this by ignoring the LSB (the only difference between `0x14` and `0x15`, and `0x1C` and `0x1D`) by AND-ing with `0xF6` instead of `0xF7`. This change uses the same trick in `isServiceSwitchCommand`. Issue: google#10666 #minor-release PiperOrigin-RevId: 483927506 (cherry picked from commit 7c6d492)
Configuration menu - View commit details
-
Copy full SHA for 6b3bec8 - Browse repository at this point
Copy the full SHA 6b3bec8View commit details -
Mute input video player in transformer demo
PiperOrigin-RevId: 483969411 (cherry picked from commit 8181b3c)
Configuration menu - View commit details
-
Copy full SHA for 81b3e40 - Browse repository at this point
Copy the full SHA 81b3e40View commit details -
Add AudioProcessor.AudioFormat equals method.
PiperOrigin-RevId: 483983486 (cherry picked from commit c9585d0)
Configuration menu - View commit details
-
Copy full SHA for 861cd9a - Browse repository at this point
Copy the full SHA 861cd9aView commit details
Commits on Oct 27, 2022
-
Add muxer timer to detect when generating an output sample is too slow
This allows to throw when the Transformer is stuck or is too slow. PiperOrigin-RevId: 484179037 (cherry picked from commit 376ee77)
Configuration menu - View commit details
-
Copy full SHA for 94f3b1b - Browse repository at this point
Copy the full SHA 94f3b1bView commit details -
Make adding ad live breaks more robust
This change makes adding ad events in live streams more robust by allowing ad groups to grow in number of ads if more ad events are received than initially announced by the SDK. With the IMA prefetch feature, an AdPod can grow in size in certain conditions like from initially 2 ads to 4 ads being part of the ad group. With this change, if an additional ad event arrives while the ad group is still being played, the ad group is expanded. If the event arrives late and the ad group is already completed, a new group is created for the remaining ads. This also covers the case where we join the live stream while an ad is being played and we missed at least one LOADED event from the SDK. Ads of the group before the first LOADED event are ignored in such a case. PiperOrigin-RevId: 484214760 (cherry picked from commit 136addf)
Configuration menu - View commit details
-
Copy full SHA for f06e8ee - Browse repository at this point
Copy the full SHA f06e8eeView commit details -
Add test for muxer watchdog timer
PiperOrigin-RevId: 484298261 (cherry picked from commit 42057cc)
Configuration menu - View commit details
-
Copy full SHA for d652020 - Browse repository at this point
Copy the full SHA d652020View commit details
Commits on Oct 28, 2022
-
Upgrade dackka and fix some generation errors
#minor-release PiperOrigin-RevId: 484483080 (cherry picked from commit fc1eca1)
Configuration menu - View commit details
-
Copy full SHA for c02d477 - Browse repository at this point
Copy the full SHA c02d477View commit details -
Disable the muxer watchdog if all tracks have ended.
PiperOrigin-RevId: 484512661 (cherry picked from commit 2390322)
Configuration menu - View commit details
-
Copy full SHA for a3de075 - Browse repository at this point
Copy the full SHA a3de075View commit details -
Bump appTargetSDKVersion to 33
#minor-release PiperOrigin-RevId: 484514123 (cherry picked from commit 1bbe7c1)
Configuration menu - View commit details
-
Copy full SHA for 86ac8f5 - Browse repository at this point
Copy the full SHA 86ac8f5View commit details
Commits on Oct 31, 2022
-
Tighten the wording for sending a pull request.
PiperOrigin-RevId: 485036120 (cherry picked from commit 8030a49)
Configuration menu - View commit details
-
Copy full SHA for 375978b - Browse repository at this point
Copy the full SHA 375978bView commit details -
Disable failing tests of FlacExtractorSeekTest
PiperOrigin-RevId: 485061783 (cherry picked from commit 55b82ff)
Configuration menu - View commit details
-
Copy full SHA for 721487a - Browse repository at this point
Copy the full SHA 721487aView commit details -
Enfore minCompileSdk version when depending on ExoPlayer/Media3 libs
If an app sets a compileSdkVersion that is lower than the one used to create AARs of its dependencies, the build process may produce invalid outputs, for example by stripping methods from the APK that are only called when the app is running on a new API version. To avoid this issue, we can enforce that the compileSdk of apps or libraries depending on ExoPlayer/Media3 is at least the same as the one we used for compilation when creating the AAR. Issue: google#10684 PiperOrigin-RevId: 485100067 (cherry picked from commit 23d39ca)
Configuration menu - View commit details
-
Copy full SHA for e4d77f7 - Browse repository at this point
Copy the full SHA e4d77f7View commit details
Commits on Nov 1, 2022
-
Removed move transformation for exoplayer2 audio package-info.java
google@dda17db creation of audio/package-info.java introduced a copybara conflict with the exoplayer2/audio/package-info.java move transformation in copy.bara.sky. Solution was to remove original package-info-common-audio.java and the move transformation as google@dda17db now covers it. Tested with a copybara push to exoplayer github PiperOrigin-RevId: 485329674 (cherry picked from commit 972e169)
Configuration menu - View commit details
-
Copy full SHA for 7bfc645 - Browse repository at this point
Copy the full SHA 7bfc645View commit details -
HDR: Generalize Pixel 6 workaround to TP
PiperOrigin-RevId: 485366659 (cherry picked from commit 6de5d93)
Configuration menu - View commit details
-
Copy full SHA for 69112df - Browse repository at this point
Copy the full SHA 69112dfView commit details -
Load bitmaps for
MediaMetadataCompat
and handle the metadata updates.* Add `Listener` in `MediaSession` with method `onNotificationRefreshRequired(MediaSession)`. * Add `MediaSessionService` as the listener of the `MediaSession` when `MediaSession` is added to `MediaSessionService` * Load bitmap when update metadata in `MediaSessionLegacyStub` and call `onNotificationRefreshRequired` when bitmap asynchronously arrives. PiperOrigin-RevId: 485376145 (cherry picked from commit 624238c)
Configuration menu - View commit details
-
Copy full SHA for 61b1cfc - Browse repository at this point
Copy the full SHA 61b1cfcView commit details -
Apply tone mapping workaround to Pixel Watch as well.
Not sure what BUILD.ID the fix will first be applied on though. PiperOrigin-RevId: 485389618 (cherry picked from commit 2ddd645)
Configuration menu - View commit details
-
Copy full SHA for e48fe57 - Browse repository at this point
Copy the full SHA e48fe57View commit details
Commits on Nov 2, 2022
-
Fix Dackka/Metalava errors in the effects module
Public methods may only refer to public types in their signature. This change ensures that by switching to a public supertype everywhere. PiperOrigin-RevId: 485568625 (cherry picked from commit 3fdfe58)
Configuration menu - View commit details
-
Copy full SHA for 10d06dd - Browse repository at this point
Copy the full SHA 10d06ddView commit details
Commits on Nov 3, 2022
-
Configuration menu - View commit details
-
Copy full SHA for b25e1e2 - Browse repository at this point
Copy the full SHA b25e1e2View commit details -
Add 'Player.getVideoSurfaceSize' that returns the size of the surface
on which the video is rendered. Design Doc: go/aaos-mu-media-dd PiperOrigin-RevId: 485884772
Configuration menu - View commit details
-
Copy full SHA for dadf281 - Browse repository at this point
Copy the full SHA dadf281View commit details -
HDR Test: Add link to tested method.
PiperOrigin-RevId: 485890141 (cherry picked from commit bd4e58d)
Configuration menu - View commit details
-
Copy full SHA for b949b6b - Browse repository at this point
Copy the full SHA b949b6bView commit details -
Disable publishing block when media3 included in another build.
From https://github.com/androidx/media/pull/127/files PiperOrigin-RevId: 485921271 (cherry picked from commit 36a51ac)
Configuration menu - View commit details
-
Copy full SHA for cc9823d - Browse repository at this point
Copy the full SHA cc9823dView commit details
Commits on Nov 4, 2022
-
Add @SuppressWarnings to unblock T SDK for <unknown commit>
LSC: https://docs.google.com/document/d/16tpK6aXqN68PvTyvt4siM-m7f0NXi_8xEeitLDzr8xY/edit?usp=sharing TESTED=NA BEGIN_PUBLIC/END_PUBLIC PiperOrigin-RevId: 486180995 (cherry picked from commit 88445d2)
Configuration menu - View commit details
-
Copy full SHA for fe47393 - Browse repository at this point
Copy the full SHA fe47393View commit details
Commits on Nov 7, 2022
-
HDR: Update test FileUtil to handle null ColorInfo.
PiperOrigin-RevId: 486706595 (cherry picked from commit 0b53c93)
Configuration menu - View commit details
-
Copy full SHA for 9ad5650 - Browse repository at this point
Copy the full SHA 9ad5650View commit details -
HDR: Set decoder codec profile and level if available.
This should be necessary to ensure decoders see fewer errors. Setting this resulted in removing native_dequeueOutputBuffer errors on OMX.MTK decoders for in-app tone mapping prototyping. PiperOrigin-RevId: 486715941 (cherry picked from commit 0b7e5bb)
Configuration menu - View commit details
-
Copy full SHA for 0969819 - Browse repository at this point
Copy the full SHA 0969819View commit details -
Move muxer initialization off application thread
Problem: We are initialising muxer as soon as we start the transformation. Now the startTransformation() method can be called from main thread, but muxer creation is an I/O operation and should be not be done on main thread. Solution: Added lazy initialisation of muxer object. The actual transformation happens on background thread so the muxer will be initialised lazily from background thread only. Another way was to provide an initialize() method on MuxerWrapper which will explicitly initialise muxer object but with this approach the caller need to call the initialise method before calling anything else. With current implementation the renderers are calling MuxerWrapper methods on various callbacks (Not sequentially) and also we are sharing same muxer with multiple renderers so It might become confusing for the caller on when to call the initialise() method. Also there are few methods on MuxerWrapper which dont really need muxer object. So in short it might make MuxerWrapper APIs more confusing. Validation: Verified the transformation from demo app. PiperOrigin-RevId: 486735787 (cherry picked from commit b10b4e6)
Configuration menu - View commit details
-
Copy full SHA for 194a32c - Browse repository at this point
Copy the full SHA 194a32cView commit details
Commits on Nov 8, 2022
-
Move muxing inside sample pipelines
This logic is currently in the player renderers. With multi-asset, the renderers will go into the AssetLoader, which shouldn't be responsible for muxing. PiperOrigin-RevId: 486860502 (cherry picked from commit d8754b6)
Configuration menu - View commit details
-
Copy full SHA for f3f2f93 - Browse repository at this point
Copy the full SHA f3f2f93View commit details -
Set targetSdkVersion of main demo app back to 29
#minor-release PiperOrigin-RevId: 486969194 (cherry picked from commit 2172466)
Configuration menu - View commit details
-
Copy full SHA for f5acc9e - Browse repository at this point
Copy the full SHA f5acc9eView commit details
Commits on Nov 9, 2022
-
Move slow mo logic to sample pipelines
This is to avoid having this logic in TransformerInternal once it is added. PiperOrigin-RevId: 487159941 (cherry picked from commit b59fdf5)
Configuration menu - View commit details
-
Copy full SHA for 881838b - Browse repository at this point
Copy the full SHA 881838bView commit details -
Merge Issue: google#10762: Fix ffmpeg jni wrapper returning invalid r…
…esult codes Imported from GitHub PR Issue: google#10762 This ensure that ffmpeg error code are properly translated to values that the ExoPlayer decoder understand. The main gain is that it allows the decoder to properly ignore more cases of invalid data and recover. The second gain is that the other errors are now proper ExoPlayer errors and no more obscure buffer ones. Fixes: Issue: google#10760 Merge 82ceeb7 into 972e169 COPYBARA_INTEGRATE_REVIEW=go/exoghi/10762 from Tolriq:ffmpeg_error_code 82ceeb7 PiperOrigin-RevId: 487189910 (cherry picked from commit 6d2e7a1)
Configuration menu - View commit details
-
Copy full SHA for 95d9e49 - Browse repository at this point
Copy the full SHA 95d9e49View commit details -
Just move some code around for now, to start setting up the overall structure. PiperOrigin-RevId: 487229329 (cherry picked from commit 5d1cab0)
Configuration menu - View commit details
-
Copy full SHA for 1ffe6a7 - Browse repository at this point
Copy the full SHA 1ffe6a7View commit details -
Change UnsupportedEncodingException to IllegalArgumentException
In startTransformation method we were throwing UnsupportedEncodingException (IOException) when mediaItem with unsupported arguments is passed. Changed this to IllegalArgumentException which seems more logical here. PiperOrigin-RevId: 487259296 (cherry picked from commit 4598cc9)
Configuration menu - View commit details
-
Copy full SHA for 70f74fd - Browse repository at this point
Copy the full SHA 70f74fdView commit details -
Set HDR color info on FrameworkMuxer
Not setting the color info results in a missing "colr" box in the produced container, under file/moov/trak/mdia/minf/stbl/stsd/hvc1. This means extractors will not be able to find out the transcoded file is HDR. In `Transformer`, this means it can't transcode this transcoded file, because it currently relies on the container bearing HDR info to construct the transcoding sample pipeline. PiperOrigin-RevId: 487276712 (cherry picked from commit d6c8e3a)
Configuration menu - View commit details
-
Copy full SHA for 98c981f - Browse repository at this point
Copy the full SHA 98c981fView commit details -
HDR: Implement ForceInterpretHdrVideoAsSdr
Also, document that we tone map when no HDR features are explicitly set PiperOrigin-RevId: 487310971 (cherry picked from commit 8bdd278)
Configuration menu - View commit details
-
Copy full SHA for 39d9aef - Browse repository at this point
Copy the full SHA 39d9aefView commit details
Commits on Nov 10, 2022
-
Fix Dackka/Metalava errors in the ExoPlayer module
This makes two types of fix: 1. Align parameter names on overridden methods where the superclass has `@param` javadoc. 2. Use `@hide` on `protected final` methods that refer to package-private types. This will hide these symbols from Dackka javadoc generation but not (currently) from the artefacts distributed on Maven. These methods are currently unusable outside their package anyway (e.g. by external developers) because of the dependency on a package-private type. This also changes some HLS, SmoothStreaming, and IMA code where I've renamed parameters of overridden methods to be consistent across the type hierarchy. #minor-release PiperOrigin-RevId: 487472665 (cherry picked from commit 10c4a4d)
Configuration menu - View commit details
-
Copy full SHA for 01f30f0 - Browse repository at this point
Copy the full SHA 01f30f0View commit details -
Fix Dackka/Metalava errors in the HLS and RTSP modules
This makes two fixes: 1. Remove `HlsSampleStreamWrapper.Callback` (package-private) from the list of interfaces implemented by `HlsMediaPeriod` (`public`) and move the implementation to a private inner class instead. This avoids Metalava complaining about a public class that inherits from a package-private type. 2. Reduce the visibility of `RtpPayloadFormat.isFormatSupported(MediaDescription)` from `public` to package-private. The `MediaDescription` type is already package-private, so this method was already unusable outside the package. #minor-release PiperOrigin-RevId: 487472781 (cherry picked from commit 9041d7b)
Configuration menu - View commit details
-
Copy full SHA for 2540dee - Browse repository at this point
Copy the full SHA 2540deeView commit details -
Fix Dackka/Metalava errors in av1, flac, ffmpeg, midi, and opus modules
This uses `@hide` on `protected final` methods to hide them from Dackka javadoc generation, since these methods are inaccessible to developers anyway. These symbols will still (currently) be included in artefacts distributed on Maven (because we don't run Metalava as part of generating these artefacts). In some cases I had to change the visibility/finality of methods to make them `protected final` before adding the `@hide` annotation (but the impact should be very low, since most of these methods were either already unusable by app developers, or they shouldn't have been used). #minor-release PiperOrigin-RevId: 487472907 (cherry picked from commit 1cd488a)
Configuration menu - View commit details
-
Copy full SHA for 925e733 - Browse repository at this point
Copy the full SHA 925e733View commit details -
Fix Dackka/Metalava errors in test_utils module
This involves reducing the visibility of methods/constructors that are already unusable outside the `androidx.media3.test.utils` package. #minor-release PiperOrigin-RevId: 487473005 (cherry picked from commit ca8de0e)
Configuration menu - View commit details
-
Copy full SHA for 7f706c8 - Browse repository at this point
Copy the full SHA 7f706c8View commit details -
Fix Dackka parameter name error in
Gav1Decoder
andVpxDecoder
These aren't caught by presubmit because the classes are annotated `@VisibleForTesting` and are therefore stripped out by Metalava. However Metalava doesn't run when we're generating javadoc for real. #minor-release PiperOrigin-RevId: 487476260 (cherry picked from commit 14e23d3)
Configuration menu - View commit details
-
Copy full SHA for 77c8875 - Browse repository at this point
Copy the full SHA 77c8875View commit details -
Set targetSdkVersion of main demo app to 29
#minor-release PiperOrigin-RevId: 487479366 (cherry picked from commit 09bee98)
Configuration menu - View commit details
-
Copy full SHA for 386e2af - Browse repository at this point
Copy the full SHA 386e2afView commit details -
Fix parameter name mismatch in MappingTrackSelector.selectTracks
It's not clear to me why presubmit didn't catch this, I briefly investigated but couldn't work it out - so I'm just going to fix it and move on. #minor-release PiperOrigin-RevId: 487497827 (cherry picked from commit 13ee34f)
Configuration menu - View commit details
-
Copy full SHA for ab501dd - Browse repository at this point
Copy the full SHA ab501ddView commit details -
Configure Dackka to generate javadoc for protected methods
#minor-release PiperOrigin-RevId: 487497923 (cherry picked from commit 7cb2e11)
Configuration menu - View commit details
-
Copy full SHA for 23518e2 - Browse repository at this point
Copy the full SHA 23518e2View commit details -
Add missing IntDef on MediaSource.Factory.getSupportedTypes overrides
Without this the annotation isn't shown in javadoc (same in Dackka) No annotation: https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/source/DefaultMediaSourceFactory.html#getSupportedTypes() Annotation present: https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/source/MediaSource.Factory.html#getSupportedTypes() #minor-release PiperOrigin-RevId: 487498450 (cherry picked from commit 4949fbe)
Configuration menu - View commit details
-
Copy full SHA for d976041 - Browse repository at this point
Copy the full SHA d976041View commit details
Commits on Nov 17, 2022
-
Reformat demo build.gradle file
PiperOrigin-RevId: 487539107 (cherry picked from commit 0383b72)
Configuration menu - View commit details
-
Copy full SHA for dd49f24 - Browse repository at this point
Copy the full SHA dd49f24View commit details -
Add
@ForOverride
toDecoderAudioRenderer
protected
methodsPiperOrigin-RevId: 487779266 (cherry picked from commit a34fdcf)
Configuration menu - View commit details
-
Copy full SHA for 704e84f - Browse repository at this point
Copy the full SHA 704e84fView commit details -
Reformat demo build.gradle file
PiperOrigin-RevId: 488376715 (cherry picked from commit 30b73c8)
Configuration menu - View commit details
-
Copy full SHA for 54d3dbf - Browse repository at this point
Copy the full SHA 54d3dbfView commit details -
Calculate SSAI window duration for live periods with unset duration.
We currently skip this calculation entirely, but it can be added by calculating the window duration using the wrapped window's duration and the provided AdPlaybackState. Issue: google#10764 PiperOrigin-RevId: 488614767 (cherry picked from commit 20151b9)
Configuration menu - View commit details
-
Copy full SHA for 5def6e4 - Browse repository at this point
Copy the full SHA 5def6e4View commit details -
Mark iterationFinished when triggering release event.
When we currently trigger the iteration finished event during the release, we don't mark the event as triggered. This means that someone can trigger another release from within the callback, which then tries to resend the event. Issue: google#10758 #minor-release PiperOrigin-RevId: 488645089 (cherry picked from commit 3e5103a)
Configuration menu - View commit details
-
Copy full SHA for 88804dd - Browse repository at this point
Copy the full SHA 88804ddView commit details -
Set valid channel masks for 8 and 12 channels on all Android versions
Util.getAudioTrackChannelConfig() maps a channel count to a channel mask that is passed to AudioTrack. The method expected that playback of 8-channel audio is possible from Android 5.1 and playback of 12-channel audio is only possible from Android 12L. However, there is no restriction on the upper number of channels that can be passed to the AudioTrack. google#10701 is an example where the audio decoder outputs 12 channels on an Android 10. This change removes the restrictions for 8 and 12 channels. Note, we still do not support playback of arbitrary number of channels as it would require further changes to DefaultAudioSink. #minor-release Issue: google#10701 PiperOrigin-RevId: 488659831 (cherry picked from commit 1b24e6f)
Configuration menu - View commit details
-
Copy full SHA for db2ab52 - Browse repository at this point
Copy the full SHA db2ab52View commit details -
Rename getVideoSurfaceSize to getSurfaceSize
This better matches the callback name (onSurfaceSizeChanged) and probably cause less confusion with getVideoSize. PiperOrigin-RevId: 488669786 (cherry picked from commit 8438dac)
Configuration menu - View commit details
-
Copy full SHA for 6108c05 - Browse repository at this point
Copy the full SHA 6108c05View commit details
Commits on Nov 22, 2022
-
Filter bogus AndroidX core jar file when creating javadoc
#minor-release PiperOrigin-RevId: 489202167 (cherry picked from commit 7e82d4e)
Configuration menu - View commit details
-
Copy full SHA for f4259f3 - Browse repository at this point
Copy the full SHA f4259f3View commit details -
Remove @hide javadoc annotation from ExoPlayer GitHub
This tag is only understood by Dackka, which is used to generate the media3 javadoc. PiperOrigin-RevId: 489233200 (cherry picked from commit 058cba9)
Configuration menu - View commit details
-
Copy full SHA for bd6570f - Browse repository at this point
Copy the full SHA bd6570fView commit details -
Version bump to exoplayer:2.18.2 and media3:1.0.0-beta03
#minor-release PiperOrigin-RevId: 489959918 (cherry picked from commit ca190c0)
Configuration menu - View commit details
-
Copy full SHA for 66995db - Browse repository at this point
Copy the full SHA 66995dbView commit details -
Update JavaDoc for exoplayer:2.18.2
#minor-release PiperOrigin-RevId: 490202192 (cherry picked from commit 6f1cf6d)
Configuration menu - View commit details
-
Copy full SHA for aef5330 - Browse repository at this point
Copy the full SHA aef5330View commit details -
Reorder some release notes in other sections.
#minor-release PiperOrigin-RevId: 490224795 (cherry picked from commit e567594)
Configuration menu - View commit details
-
Copy full SHA for 9b0790e - Browse repository at this point
Copy the full SHA 9b0790eView commit details
Commits on Nov 23, 2022
-
Fix compilation error in ffmpeg JNI layer
PiperOrigin-RevId: 490263003 (cherry picked from commit 202e03f)
Configuration menu - View commit details
-
Copy full SHA for a114b0e - Browse repository at this point
Copy the full SHA a114b0eView commit details -
Configuration menu - View commit details
-
Copy full SHA for a9444c8 - Browse repository at this point
Copy the full SHA a9444c8View commit details
Commits on Nov 24, 2022
-
Remove two media3-only release notes from the ExoPlayer release notes
Issue: google#10811 PiperOrigin-RevId: 490726544 (cherry picked from commit bb270c6)
Configuration menu - View commit details
-
Copy full SHA for 0c74758 - Browse repository at this point
Copy the full SHA 0c74758View commit details
Commits on Jan 5, 2023
-
Issue: google#10854 PiperOrigin-RevId: 496922055 (cherry picked from commit 8e9f838)
Configuration menu - View commit details
-
Copy full SHA for 3a654c1 - Browse repository at this point
Copy the full SHA 3a654c1View commit details
Commits on Jan 25, 2023
-
Changed decoder list sort to order by functional support of format
Added new method to check if codec just functionally supports a format. Changed getDecoderInfosSortedByFormatSupport to use new function to order by functional support. This allows decoders that only support functionally and are more preferred by the MediaCodecSelector to keep their preferred position in the sorted list. UnitTests included -Two MediaCodecVideoRenderer tests that verify hw vs sw does not have an effect on sort of the decoder list, it is only based on functional support Issue: google#10604 PiperOrigin-RevId: 487779284 (cherry picked from commit 1eb8a6b)
Configuration menu - View commit details
-
Copy full SHA for 97d7ed7 - Browse repository at this point
Copy the full SHA 97d7ed7View commit details -
Fix NPE when listener is not set
PiperOrigin-RevId: 488970696 (cherry picked from commit f52bb27)
Configuration menu - View commit details
-
Copy full SHA for e2e7c43 - Browse repository at this point
Copy the full SHA e2e7c43View commit details -
Add setPlaybackLooper ExoPlayer builder method
The method allows clients to specify a pre-existing thread to use for playback. This can be used to run multiple ExoPlayer instances on the same playback thread. PiperOrigin-RevId: 488980749 (cherry picked from commit 79b809b)
Configuration menu - View commit details
-
Copy full SHA for e42c65b - Browse repository at this point
Copy the full SHA e42c65bView commit details -
Mark broadcast receivers as not exported
They are called from the system only and don't need to be exported to be visible to other apps. PiperOrigin-RevId: 489210264 (cherry picked from commit c1fd03d)
Configuration menu - View commit details
-
Copy full SHA for 0d11d55 - Browse repository at this point
Copy the full SHA 0d11d55View commit details -
Throw exception if a released player is passed to TestPlayerRunHelper
I considered moving this enforcement inside the ExoPlayerImpl implementation, but it might lead to app crashes in cases that apps (incorrectly) call a released player, but it wasn't actually causing a problem. PiperOrigin-RevId: 489233917 (cherry picked from commit d4c9199)
Configuration menu - View commit details
-
Copy full SHA for d99a667 - Browse repository at this point
Copy the full SHA d99a667View commit details -
Add additional codecs to the eosPropagationWorkaround list.
Issue: google#10756 PiperOrigin-RevId: 489236336 (cherry picked from commit cbcdbfe)
Configuration menu - View commit details
-
Copy full SHA for be2bdbd - Browse repository at this point
Copy the full SHA be2bdbdView commit details -
Pass correct frame size for passthrough playback
When estimating the AudioTrack min buffer size, we must use a PCM frame of 1 when doing direct playback (passthrough). The code was passing -1 (C.LENGTH_UNSET). PiperOrigin-RevId: 489238392 (cherry picked from commit d9d7168)
Configuration menu - View commit details
-
Copy full SHA for fcf5452 - Browse repository at this point
Copy the full SHA fcf5452View commit details -
Add remaining state and getters to SimpleBasePlayer
This adds the full Builders and State representation needed to implement all Player getter methods and listener invocations. PiperOrigin-RevId: 489503319 (cherry picked from commit b81cd08)
Configuration menu - View commit details
-
Copy full SHA for f1a9a6b - Browse repository at this point
Copy the full SHA f1a9a6bView commit details -
Add
set -eu
to all shell scriptsThese flags ensure that any errors cause the script to exit (instead of just carrying on) (`-e`) and that any unrecognised substitution variables cause an error instead of silently resolving to an empty string (`-u`). Issues like Issue: google#10791 should be more quickly resolved with `set -e` because the script will clearly fail with an error like `make: command not found` which would give the user a clear pointer towards the cause of the problem. #minor-release PiperOrigin-RevId: 490001419 (cherry picked from commit f834419)
Configuration menu - View commit details
-
Copy full SHA for 87b1c30 - Browse repository at this point
Copy the full SHA 87b1c30View commit details -
Fixed missing imports for Metadata and AdPlaybackState for Exoplayer
PiperOrigin-RevId: 490012573 (cherry picked from commit 1551bea)
Configuration menu - View commit details
-
Copy full SHA for dda5f95 - Browse repository at this point
Copy the full SHA dda5f95View commit details -
Fixed Exoplayer imports for SimpleBasePlayerTest
PiperOrigin-RevId: 490181547 (cherry picked from commit 788f747)
Configuration menu - View commit details
-
Copy full SHA for fbab7de - Browse repository at this point
Copy the full SHA fbab7deView commit details -
Add
DefaultExtractorsFactory.setTsSubtitleFormats
ExoPlayer is unable to detect the presence of subtitle tracks in some MPEG-TS files that don't fully declare them. It's possible for a developer to provide the list instead, but doing so is quite awkward without this helper method. This is consistent for how `DefaultExtractorsFactory` allows other aspects of the delegate `Extractor` implementations to be customised. * Issue: google#10175 * Issue: google#10505 #minor-release PiperOrigin-RevId: 490214619 (cherry picked from commit 4853444)
Configuration menu - View commit details
-
Copy full SHA for f527632 - Browse repository at this point
Copy the full SHA f527632View commit details -
Reorder some release notes in other sections.
PiperOrigin-RevId: 490224795 (cherry picked from commit e567594)
Configuration menu - View commit details
-
Copy full SHA for 4a46935 - Browse repository at this point
Copy the full SHA 4a46935View commit details -
Merge pull request google#10786 from TiVo:p-aacutil-test-impl
PiperOrigin-RevId: 490465182 (cherry picked from commit 8a9a66c)
Configuration menu - View commit details
-
Copy full SHA for 989e2f7 - Browse repository at this point
Copy the full SHA 989e2f7View commit details -
Exclude tracks from
PlayerInfo
if not changedThis change includes a change in the `IMediaController.aidl` file and needs to provide backwards compatibility for when a client connects that is of an older or newer version of the current service implementation. This CL proposes to create a new AIDL method `onPlayerInfoChangedWithExtensions` that is easier to extend in the future because it does use an `Bundle` rather than primitives. A `Bundle` can be changed in a backward/forwards compatible way in case we need further changes. The compatibility handling is provided in `MediaSessionStub` and `MediaControllerStub`. The approach is not based on specific AIDL/Binder features but implemented fully in application code. Issue: androidx/media#102 #minor-release PiperOrigin-RevId: 490483068 (cherry picked from commit f262e91)
Configuration menu - View commit details
-
Copy full SHA for 20e54a8 - Browse repository at this point
Copy the full SHA 20e54a8View commit details -
Parse and set
peakBitrate
for Dolby TrueHD(AC-3) and (E-)AC-3#minor-release PiperOrigin-RevId: 490527831 (cherry picked from commit 01eddb3)
Configuration menu - View commit details
-
Copy full SHA for 35a900a - Browse repository at this point
Copy the full SHA 35a900aView commit details -
*** Original commit *** Parse and set `peakBitrate` for Dolby TrueHD(AC-3) and (E-)AC-3 #minor-release *** PiperOrigin-RevId: 490570517 (cherry picked from commit ea3552c)
Configuration menu - View commit details
-
Copy full SHA for 2910117 - Browse repository at this point
Copy the full SHA 2910117View commit details -
*** Original commit *** Rollback of google@01eddb3 *** Original commit *** Parse and set `peakBitrate` for Dolby TrueHD(AC-3) and (E-)AC-3 #minor-release *** *** PiperOrigin-RevId: 490707234 (cherry picked from commit 8c91a31)
Configuration menu - View commit details
-
Copy full SHA for b4a88d6 - Browse repository at this point
Copy the full SHA b4a88d6View commit details -
Remove two media3-only release notes from the ExoPlayer release notes
Issue: google#10811 PiperOrigin-RevId: 490726544 (cherry picked from commit bb270c6)
Configuration menu - View commit details
-
Copy full SHA for 64b32c4 - Browse repository at this point
Copy the full SHA 64b32c4View commit details -
Use
ParsableBitArray
instead ofParsableByteArray
To avoid complicated bit shifting and masking. Also makes the code more readable. PiperOrigin-RevId: 490749482 (cherry picked from commit 89e4b8d)
Configuration menu - View commit details
-
Copy full SHA for 062f0e3 - Browse repository at this point
Copy the full SHA 062f0e3View commit details -
Convert bitrates to bps before setting it
Format expects the values of `averageBitrate` and `peakBitrate` in bps and the value fetched from AC3SpecificBox and EC3SpecificBox is in kbps. PiperOrigin-RevId: 490756581 (cherry picked from commit 67955e0)
Configuration menu - View commit details
-
Copy full SHA for 7e733aa - Browse repository at this point
Copy the full SHA 7e733aaView commit details -
Remove flakiness from DefaultAnalyticsCollectorTest
Our FakeClock generally makes sure that playback tests are fully deterministic. However, this fails if the test uses blocking waits with clock.onThreadBlocked and where relevant Handlers are created without using the clock. To fix the flakiness, we can make the following adjustments: - Use TestExoPlayerBuilder instead of legacy ExoPlayerTestRunner to avoid onThreadBlocked calls. This also makes the tests more readable. - Use clock to create Handler for FakeVideoRenderer and FakeAudioRenderer. Ideally, this should be passed through RenderersFactory, but it's too disruptive given this is a public API. - Use clock for MediaSourceList and MediaPeriodQueue update handler. PiperOrigin-RevId: 490907495 (cherry picked from commit 7d62943)
Configuration menu - View commit details
-
Copy full SHA for 0fb501e - Browse repository at this point
Copy the full SHA 0fb501eView commit details -
Clean up javadoc on
Metadata.Entry.populateMediaMetadata
Remove self-links, and remove section that is documenting internal ordering behaviour of [`SimpleBasePlayer.getCombinedMediaMetadata`](https://github.com/google/ExoPlayer/blob/bb270c62cf2f7a1570fe22f87bb348a2d5e94dcf/library/common/src/main/java/com/google/android/exoplayer2/SimpleBasePlayer.java#L1770) rather than anything specifically about this method. #minor-release PiperOrigin-RevId: 490923719 (cherry picked from commit ed8c196)
Configuration menu - View commit details
-
Copy full SHA for a68ab5f - Browse repository at this point
Copy the full SHA a68ab5fView commit details -
Ensure messages sent on a dead thread don't block FakeClock execution
FakeClock keeps an internal list of messages to be executed to ensure deterministic serialization. The next message from the list is triggered by a separate helper message sent to the real Handler. However, if the target HandlerThread is no longer alive (e.g. when it quit itself during the message execution), this helper message is never executed and the entire message execution chain is stuck forever. This can be solved by checking the return values of Hander.post or Handler.sendMessage, which are false if the message won't be delivered. If the messages are not delivered, we can unblock the chain by marking the message as complete and triggering the next one. PiperOrigin-RevId: 491275031 (cherry picked from commit 2977bef)
Configuration menu - View commit details
-
Copy full SHA for 83b7f80 - Browse repository at this point
Copy the full SHA 83b7f80View commit details -
Merge pull request google#10799 from OxygenCobalt:id3v2-multi-value
PiperOrigin-RevId: 491289028 (cherry picked from commit c827e46)
Configuration menu - View commit details
-
Copy full SHA for cbc2547 - Browse repository at this point
Copy the full SHA cbc2547View commit details -
Split up
Id3DecoderTest
methodsIt's clearer if each test method follows the Arrange/Act/Assert pattern PiperOrigin-RevId: 491299379 (cherry picked from commit bf77290)
Configuration menu - View commit details
-
Copy full SHA for 50e686e - Browse repository at this point
Copy the full SHA 50e686eView commit details -
Remove impossible
UnsupportedEncodingException
fromId3Decoder
The list of charsets is already hard-coded, and using `Charset` types ensures they will all be present at run-time, hence we will never encounter an 'unsupported' charset. PiperOrigin-RevId: 491324466 (cherry picked from commit 043546a)
Configuration menu - View commit details
-
Copy full SHA for 70a55ef - Browse repository at this point
Copy the full SHA 70a55efView commit details -
Merge pull request google#10776 from dongvanhung:feature/add_support_…
…clear_download_manager_helpers PiperOrigin-RevId: 491336828 (cherry picked from commit 3a7f940)
Configuration menu - View commit details
-
Copy full SHA for 44d12a5 - Browse repository at this point
Copy the full SHA 44d12a5View commit details -
Bump cast sdk version and remove workaround for live duration
The fix for b/171657375 (internal) has been shipped with 21.1.0 already (see https://developers.google.com/cast/docs/release-notes#august-8,-2022). PiperOrigin-RevId: 491583727 (cherry picked from commit 04f031d)
Configuration menu - View commit details
-
Copy full SHA for 69ded0f - Browse repository at this point
Copy the full SHA 69ded0fView commit details -
Add configuration to support OPUS offload
To support OPUS offload, we need to provide a few configuration values that are currently not set due to the lack of devices supporting OPUS offload. PiperOrigin-RevId: 491613716 (cherry picked from commit 4cf877b)
Configuration menu - View commit details
-
Copy full SHA for b6477dd - Browse repository at this point
Copy the full SHA b6477ddView commit details -
Use audio bitrate to calculate AudioTrack min buffer in passthrough
Use the bitrate of the audio format (when available) in DefaultAudioSink.AudioTrackBufferSizeProvider.getBufferSizeInBytes() to calculate accurate buffer sizes for direct (passthrough) playbacks. #minor-release PiperOrigin-RevId: 491628530 (cherry picked from commit e219ac2)
Configuration menu - View commit details
-
Copy full SHA for d792378 - Browse repository at this point
Copy the full SHA d792378View commit details -
Rename SimpleBasePlayer.PlaylistItem to MediaItemData
This better matches the terminology we use elsewhere in the Player interface, where items inside the playlist are referred to as "media item" and only the entire list is called "playlist". PiperOrigin-RevId: 491882849 (cherry picked from commit 6c46759)
Configuration menu - View commit details
-
Copy full SHA for 2921cb7 - Browse repository at this point
Copy the full SHA 2921cb7View commit details -
Parse and set bitrates in
Ac3Reader
PiperOrigin-RevId: 492003800 (cherry picked from commit 5f73984)
Configuration menu - View commit details
-
Copy full SHA for 8246587 - Browse repository at this point
Copy the full SHA 8246587View commit details -
Add media type to MediaMetadata
This helps to denote what type of content or folder the metadata describes. PiperOrigin-RevId: 492123690 (cherry picked from commit 1ac72de)
Configuration menu - View commit details
-
Copy full SHA for 8ec46cd - Browse repository at this point
Copy the full SHA 8ec46cdView commit details -
Add support for most setters in SimpleBasePlayer
This adds the forwarding logic for most setters in SimpleExoPlayer in the same style as the existing logic for setPlayWhenReady. This change doesn't implement the setters for modifying media items, seeking and releasing yet as they require additional handling that goes beyond the repeated implementation pattern in this change. PiperOrigin-RevId: 492124399 (cherry picked from commit e598a17)
Configuration menu - View commit details
-
Copy full SHA for 2bfced9 - Browse repository at this point
Copy the full SHA 2bfced9View commit details -
Merge pull request google#10750 from Stronger197:subrip_utf_16
PiperOrigin-RevId: 492164739 (cherry picked from commit 496cfa4)
Configuration menu - View commit details
-
Copy full SHA for eb51ad5 - Browse repository at this point
Copy the full SHA eb51ad5View commit details -
Split SubripDecoder and ParsableByteArray tests
In some cases we split a test method, and in other cases we just add line breaks to make the separation between arrange/act/assert more clear. PiperOrigin-RevId: 492182769 (cherry picked from commit 02fa8aa)
Configuration menu - View commit details
-
Copy full SHA for 05151ba - Browse repository at this point
Copy the full SHA 05151baView commit details -
Removed ExoPlayer specific states from SimpleBasePlayer
PiperOrigin-RevId: 492443147 (cherry picked from commit 08f6fe1)
Configuration menu - View commit details
-
Copy full SHA for d0691aa - Browse repository at this point
Copy the full SHA d0691aaView commit details -
Fix
TextRenderer
exception when a subtitle file contains no cuesDiscovered while investigating Issue: google#10823 Example stack trace with the previous code (I added the index value for debugging): ``` playerFailed [eventTime=44.07, mediaPos=44.01, window=0, period=0, errorCode=ERROR_CODE_FAILED_RUNTIME_CHECK androidx.media3.exoplayer.ExoPlaybackException: Unexpected runtime error at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:635) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:202) at android.os.Looper.loop(Looper.java:291) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: java.lang.IllegalArgumentException: index=-1 at androidx.media3.common.util.Assertions.checkArgument(Assertions.java:55) at androidx.media3.extractor.text.webvtt.WebvttSubtitle.getEventTime(WebvttSubtitle.java:62) at androidx.media3.extractor.text.SubtitleOutputBuffer.getEventTime(SubtitleOutputBuffer.java:56) at androidx.media3.exoplayer.text.TextRenderer.getCurrentEventTimeUs(TextRenderer.java:435) at androidx.media3.exoplayer.text.TextRenderer.render(TextRenderer.java:268) at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1008) at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:509) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:202) at android.os.Looper.loop(Looper.java:291) at android.os.HandlerThread.run(HandlerThread.java:67) ] ``` #minor-release PiperOrigin-RevId: 492464180 (cherry picked from commit 5f6fde4)
Configuration menu - View commit details
-
Copy full SHA for e342b70 - Browse repository at this point
Copy the full SHA e342b70View commit details -
Fix
ExoPlayerTest
to useC.TIME_UNSET
instead ofC.POSITION_UNSET
This inconsistency was exposed by an upcoming change to deprecate `POSITION_UNSET` in favour of `INDEX_UNSET` because position is an ambiguous term between 'byte offset' and 'media position', as shown here. PiperOrigin-RevId: 492470241 (cherry picked from commit 2f8cf94)
Configuration menu - View commit details
-
Copy full SHA for fec7b1b - Browse repository at this point
Copy the full SHA fec7b1bView commit details -
Fix threading of onFallbackApplied callback
The callback is currently triggered on the ExoPlayer playback thread instead of the app thread that added the listener. PiperOrigin-RevId: 492474405 (cherry picked from commit f3fc4fb)
Configuration menu - View commit details
-
Copy full SHA for 5fd6ce5 - Browse repository at this point
Copy the full SHA 5fd6ce5View commit details -
Add javadoc links to README files
Fix some other link titles and destinations spotted along the way. #minor-release PiperOrigin-RevId: 493276172 (cherry picked from commit c006575)
Configuration menu - View commit details
-
Copy full SHA for d2d45db - Browse repository at this point
Copy the full SHA d2d45dbView commit details -
Support release in SimpleBasePlayer
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 (cherry picked from commit 3a66c28)
Configuration menu - View commit details
-
Copy full SHA for a65d9e9 - Browse repository at this point
Copy the full SHA a65d9e9View commit details -
Replace MediaMetadata folderType by isBrowsable
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 (cherry picked from commit 9d05935)
Configuration menu - View commit details
-
Copy full SHA for a599289 - Browse repository at this point
Copy the full SHA a599289View commit details -
Remove debug timeout multiplier.
It looks like this was added accidentally in <unknown commit>. PiperOrigin-RevId: 493834134 (cherry picked from commit f8e4e17)
Configuration menu - View commit details
-
Copy full SHA for 4566416 - Browse repository at this point
Copy the full SHA 4566416View commit details -
Clarify and correct allowed multi-threading for some Player methods
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 (cherry picked from commit e9364b0)
Configuration menu - View commit details
-
Copy full SHA for 3dfbfd3 - Browse repository at this point
Copy the full SHA 3dfbfd3View commit details -
Forward seek command details to seekTo method in BasePlayer
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 (cherry picked from commit 6e0f1f1)
Configuration menu - View commit details
-
Copy full SHA for b9365f5 - Browse repository at this point
Copy the full SHA b9365f5View commit details -
Reset isLoading when calling SimpleBasePlayer.stop/release
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 (cherry picked from commit e4f0b73)
Configuration menu - View commit details
-
Copy full SHA for 47b811e - Browse repository at this point
Copy the full SHA 47b811eView commit details -
Document the reason for defining private method
defaultIfNull
PiperOrigin-RevId: 495004732 (cherry picked from commit c3ca71f)
Configuration menu - View commit details
-
Copy full SHA for aa2158d - Browse repository at this point
Copy the full SHA aa2158dView commit details -
Remove parameters with default values from bundle in
MediaItem
This improves the time taken to construct PlayerInfo from bundle from ~600ms to ~450ms. PiperOrigin-RevId: 495055355 (cherry picked from commit 7de47fe)
Configuration menu - View commit details
-
Copy full SHA for 951fea2 - Browse repository at this point
Copy the full SHA 951fea2View commit details -
Clear one-off events from state as soon as they are triggered.
This ensures they are not accidentally triggered again when the state is rebuilt with a buildUpon method. PiperOrigin-RevId: 495280711 (cherry picked from commit fa5aaf9)
Configuration menu - View commit details
-
Copy full SHA for 0e921d1 - Browse repository at this point
Copy the full SHA 0e921d1View commit details -
Allow unset index and position values + remove period index
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 (cherry picked from commit 91557ac)
Configuration menu - View commit details
-
Copy full SHA for 8e2692d - Browse repository at this point
Copy the full SHA 8e2692dView commit details -
Remove parameters with
null
values from bundle inMediaMetadata
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 (cherry picked from commit 8dea624)
Configuration menu - View commit details
-
Copy full SHA for b9fd7fd - Browse repository at this point
Copy the full SHA b9fd7fdView commit details -
Use theme when loading drawables on API 21+
Issue: androidx/media#220 PiperOrigin-RevId: 495642588 (cherry picked from commit 33f8f40)
Configuration menu - View commit details
-
Copy full SHA for 5ff9069 - Browse repository at this point
Copy the full SHA 5ff9069View commit details -
Rename
EMPTY_MEDIA_ITEM
toPLACEHOLDER_MEDIA_ITEM
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 (cherry picked from commit 74559b4)
Configuration menu - View commit details
-
Copy full SHA for 4b7a005 - Browse repository at this point
Copy the full SHA 4b7a005View commit details -
Clarify behavior for out-of-bounds indices and align implementations
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 (cherry picked from commit a1c0b10)
Configuration menu - View commit details
-
Copy full SHA for f178486 - Browse repository at this point
Copy the full SHA f178486View commit details -
Check if codec still exists before handling tunneling events
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 (cherry picked from commit 5e23b8b)
Configuration menu - View commit details
-
Copy full SHA for 0ab7c75 - Browse repository at this point
Copy the full SHA 0ab7c75View commit details -
Add playlist and seek operations to SimpleBasePlayer
These are the remaining setter operations. They all share the same logic that handles playlist and/or position changes. The logic to create the placeholder state is mostly copied from ExoPlayerImpl's maskTimelineAndPosition and getPeriodPositonUsAfterTimelineChanged. PiperOrigin-RevId: 496364712 (cherry picked from commit 09d3764)
Configuration menu - View commit details
-
Copy full SHA for 2c17c6e - Browse repository at this point
Copy the full SHA 2c17c6eView commit details -
Remove ellipsis from Player javadoc
PiperOrigin-RevId: 496377192 (cherry picked from commit 844428e)
Configuration menu - View commit details
-
Copy full SHA for 65daec3 - Browse repository at this point
Copy the full SHA 65daec3View commit details -
Fix Dackka error due to param name mismatch
https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter#seekTo(long) #minor-release PiperOrigin-RevId: 496378709 (cherry picked from commit d2a3d8f)
Configuration menu - View commit details
-
Copy full SHA for beeb6e7 - Browse repository at this point
Copy the full SHA beeb6e7View commit details -
Clarify some Player command and method javadoc
#minor-release PiperOrigin-RevId: 496661152 (cherry picked from commit f47ad3c)
Configuration menu - View commit details
-
Copy full SHA for 730f3a3 - Browse repository at this point
Copy the full SHA 730f3a3View commit details -
Document the relationship between Player methods and available commands
#minor-release PiperOrigin-RevId: 496668378 (cherry picked from commit 54e7968)
Configuration menu - View commit details
-
Copy full SHA for de203fe - Browse repository at this point
Copy the full SHA de203feView commit details -
Add error messages to correctness assertions in SimpleBasePlayer
Users of this class may run into these assertions when creating the State and they need to check the source code to understand why the State is invalid. Adding error messages to all our correctness assertions helps to understand the root cause more easily. PiperOrigin-RevId: 496875109 (cherry picked from commit b7e887a)
Configuration menu - View commit details
-
Copy full SHA for 7afdc9e - Browse repository at this point
Copy the full SHA 7afdc9eView commit details -
Fix recursive loop when registering controller visibility listeners
There are two overloads of this method due to a type 'rename' from `PlayerControlView.VisibilityListener` to `PlayerView.ControllerVisibilityListener`. Currently when you call one overload it passes `null` to the other one (to clear the other listener). Unfortunately this results in it clearing itself, because it receives a null call back! This change tweaks the documentation to clarify that the 'other' listener is only cleared if you pass a non-null listener in. This solves the recursive problem, and allows the 'legacy' visibility listener to be successfully registered. Issue: androidx/media#229 #minor-release PiperOrigin-RevId: 496876397 (cherry picked from commit 37fd65a)
Configuration menu - View commit details
-
Copy full SHA for 3cb0195 - Browse repository at this point
Copy the full SHA 3cb0195View commit details -
Issue: google#10854 PiperOrigin-RevId: 496922055 (cherry picked from commit 8e9f838)
Configuration menu - View commit details
-
Copy full SHA for a212bc9 - Browse repository at this point
Copy the full SHA a212bc9View commit details -
Bump IMA SDK version to 3.29.0
Issue: google#10845 PiperOrigin-RevId: 496947392 (cherry picked from commit 8ed5158)
Configuration menu - View commit details
-
Copy full SHA for 0417dba - Browse repository at this point
Copy the full SHA 0417dbaView commit details -
Check
MediaMetadata
bundle to verify keys are skippedAdded another check in test to make sure we don't add keys to bundle for fields with `null` values. PiperOrigin-RevId: 496948705 (cherry picked from commit 890fd0a)
Configuration menu - View commit details
-
Copy full SHA for e4fa94a - Browse repository at this point
Copy the full SHA e4fa94aView commit details -
Optimise bundling for
AdPlaybackState
usingAdPlaybackState.NONE
Did not do this optimisation for `AdPlaybackState.AdGroup` as its length is zero for `AdPlaybackState` with no ads. No need to pass default values while fetching keys, which we always set in `AdPlaybackState.AdGroup.toBundle()`. PiperOrigin-RevId: 496995048 (cherry picked from commit f2eac2d)
Configuration menu - View commit details
-
Copy full SHA for 9b11686 - Browse repository at this point
Copy the full SHA 9b11686View commit details -
Fix order of playback controls in RTL layout
Issue: androidx/media#227 #minor-release PiperOrigin-RevId: 497159283 (cherry picked from commit 8313af1)
Configuration menu - View commit details
-
Copy full SHA for ee72778 - Browse repository at this point
Copy the full SHA ee72778View commit details -
Enable RTL support in the demo app
We might as well keep this enabled by default, rather than having to manually toggle it on to investigate RTL issues like Issue: androidx/media#227. PiperOrigin-RevId: 497159744 (cherry picked from commit 010c6b9)
Configuration menu - View commit details
-
Copy full SHA for 1e97da9 - Browse repository at this point
Copy the full SHA 1e97da9View commit details -
Remove player listener on the application thread of the player
PiperOrigin-RevId: 497183220 (cherry picked from commit 965606f)
Configuration menu - View commit details
-
Copy full SHA for 25c964d - Browse repository at this point
Copy the full SHA 25c964dView commit details -
Check bundles in
MediaItem
to verify keys are skippedAdded another check in each of these tests to make sure we don't add keys to bundle for fields with default values. Also fixed comments of similar changes in `AdPlaybackStateTest` and `MediaMetadataTest`. PiperOrigin-RevId: 499463581 (cherry picked from commit 9d431a5)
Configuration menu - View commit details
-
Copy full SHA for fea5eea - Browse repository at this point
Copy the full SHA fea5eeaView commit details -
Optimise bundling for
Timeline.Window
andTimeline.Period
Improves the time taken to construct playerInfo from its bundle from ~400 ms to ~300 ms. Also made `Timeline.Window.toBundle(boolean excludeMediaItem)` public as it was required to assert a condition in tests. PiperOrigin-RevId: 499512353 (cherry picked from commit 2a77f1e)
Configuration menu - View commit details
-
Copy full SHA for f3a1f2f - Browse repository at this point
Copy the full SHA f3a1f2fView commit details -
Throw a ParserException instead of a NullPointerException if the samp…
…le table (stbl) is missing a required sample description (stsd). As per the javadoc for AtomParsers.parseTrack, ParserException should be "thrown if the trak atom can't be parsed." PiperOrigin-RevId: 499522748 (cherry picked from commit bbe78b1)
Configuration menu - View commit details
-
Copy full SHA for 25e6f62 - Browse repository at this point
Copy the full SHA 25e6f62View commit details -
Fix typo in
DefaultTrackSelector.Parameters
fieldPiperOrigin-RevId: 499905136 (cherry picked from commit bdd6818)
Configuration menu - View commit details
-
Copy full SHA for f9ae0a6 - Browse repository at this point
Copy the full SHA f9ae0a6View commit details -
Initialise fields used for bundling as String directly
Initialising the fields as Integer and then getting a String on compute time is slow. Instead we directly initialise these fields as String. Improves the time taken in bundling PlayerInfo further to less than 200ms from ~300ms. Also modified a test to improve productive coverage. PiperOrigin-RevId: 500003935 (cherry picked from commit d49437c)
Configuration menu - View commit details
-
Copy full SHA for 0b95e2c - Browse repository at this point
Copy the full SHA 0b95e2cView commit details -
Update bandwidth meter estimates
PiperOrigin-RevId: 501010994 (cherry picked from commit 09a15fb)
Configuration menu - View commit details
-
Copy full SHA for f438607 - Browse repository at this point
Copy the full SHA f438607View commit details -
Add focusSkipButtonWhenAvailable to focus UI on ATV
For TV devices the skip button needs to have the focus to be accessible with the remote control. This property makes this configurable while being set to true by default. PiperOrigin-RevId: 501077608 (cherry picked from commit d2898b7)
Configuration menu - View commit details
-
Copy full SHA for 61eeb8b - Browse repository at this point
Copy the full SHA 61eeb8bView commit details -
Request notification permission in demo app for API 33+
Starting with API 33 the POST_NOTIFICATION permission needs to be requested at runtime or the notification is not shown. Note that with an app with targetSdkVersion < 33 but on a device with API 33 the notification permission is automatically requested when the app starts for the first time. If the user does not grant the permission, requesting the permission at runtime result in an empty array of grant results. Issue: google#10884 PiperOrigin-RevId: 501320632 (cherry picked from commit 6bacbaa)
Configuration menu - View commit details
-
Copy full SHA for b1b9c12 - Browse repository at this point
Copy the full SHA b1b9c12View commit details -
Document that
DownloadService
needs notification permissionsStarting with Android 13 (API 33) an app needs to request the permission to post notifications or notifications are suppressed. This change documents this in the class level JavaDoc of the `DownloadService`. Issue: google#10884 PiperOrigin-RevId: 501346908 (cherry picked from commit 055ed77)
Configuration menu - View commit details
-
Copy full SHA for fc4415b - Browse repository at this point
Copy the full SHA fc4415bView commit details -
Add AdsLoader.focusSkipButton()
This method allows to call through to `StreamManager.focus()` of the currently playing SSAI stream. PiperOrigin-RevId: 501399144 (cherry picked from commit 0ba0c0e)
Configuration menu - View commit details
-
Copy full SHA for 8f37ad6 - Browse repository at this point
Copy the full SHA 8f37ad6View commit details -
Clarify what default settings are being used for SSAI AdsLoader
PiperOrigin-RevId: 502388865 (cherry picked from commit 26e1a28)
Configuration menu - View commit details
-
Copy full SHA for 4b3c74f - Browse repository at this point
Copy the full SHA 4b3c74fView commit details -
Disables play/pause button when there's nothing to play
PiperOrigin-RevId: 502571320 (cherry picked from commit 345f234)
Configuration menu - View commit details
-
Copy full SHA for cebc0fa - Browse repository at this point
Copy the full SHA cebc0faView commit details -
Make availableCommands known when bundling PlayerInfo
When bundling PlayerInfo, we remove data when the controller is not allowed to access this data via getters. We also remove data for performance reasons. In the toBundle() method, it's currently hard to make the connection between allowed commands and filtering, because the values are checked at a different place. This can be made more readable by forwarding the applicable Commands directly. The only functional fix is to filter the Timeline when sending the first PlayerInfo after a connecting a controller if the command to get the Timeline is not available. This also allows us to remove a path to filter MediaItems from Timelines as it isn't used. PiperOrigin-RevId: 502607391 (cherry picked from commit 5461d5c)
Configuration menu - View commit details
-
Copy full SHA for 7f20729 - Browse repository at this point
Copy the full SHA 7f20729View commit details -
Fix javadoc references to
writeSampleData
PiperOrigin-RevId: 502821506 (cherry picked from commit 8fcd6bb)
Configuration menu - View commit details
-
Copy full SHA for 31aae77 - Browse repository at this point
Copy the full SHA 31aae77View commit details -
Correctly filter PlayerInfo by available getter commands.
When bundling PlayerInfo, we need to remove information if the controller is not allowed to access it. This was only partially done at the moment. PiperOrigin-RevId: 502852798 (cherry picked from commit 50f066d)
Configuration menu - View commit details
-
Copy full SHA for ea1301a - Browse repository at this point
Copy the full SHA ea1301aView commit details -
Extend command GET_CURRENT_MEDIA_ITEM to more methods.
We currently only document it for the getCurrentMediaItem(), but the command was always meant to cover all information about the current media item and the position therein. To correctly hide information for controllers, we need to filter the Timeline when bundling the PlayerInfo class if only this command is available. PiperOrigin-RevId: 503098124 (cherry picked from commit 5e9c9ed)
Configuration menu - View commit details
-
Copy full SHA for b169386 - Browse repository at this point
Copy the full SHA b169386View commit details -
Explicitly document most Player.Listener methods in terms of getters
This makes it implicitly clear that if the value of a getter changes due to a change in command availability then the listener will be invoked, without needing to explicitly document every command on every listener method. #minor-release PiperOrigin-RevId: 503178383 (cherry picked from commit aa23920)
Configuration menu - View commit details
-
Copy full SHA for 197109e - Browse repository at this point
Copy the full SHA 197109eView commit details -
Undo unreleased changes from transforming-media.md
The "Transforming media" page has been updated with changes that won't be part of the next release. Undo these changes so that this page is consistent with the latest release. PiperOrigin-RevId: 503917637 (cherry picked from commit fdf8666)
Configuration menu - View commit details
-
Copy full SHA for 128fed8 - Browse repository at this point
Copy the full SHA 128fed8View commit details
Commits on Jan 26, 2023
-
Minor fix in transforming-media.md
PiperOrigin-RevId: 504281747 (cherry picked from commit 4c1be4c)
Configuration menu - View commit details
-
Copy full SHA for 92686b3 - Browse repository at this point
Copy the full SHA 92686b3View commit details -
ImaUtil calls VideoProgressUpdate.equals() which is annotated as hidden, which causes lint errors with gradle. #minor-release PiperOrigin-RevId: 504306210 (cherry picked from commit f86948f)
Configuration menu - View commit details
-
Copy full SHA for 26c8c55 - Browse repository at this point
Copy the full SHA 26c8c55View commit details -
Document two limitations with subtitle sideloading
#minor-release PiperOrigin-RevId: 504517946 (cherry picked from commit f083ff2)
Configuration menu - View commit details
-
Copy full SHA for 3bb3c60 - Browse repository at this point
Copy the full SHA 3bb3c60View commit details -
Add missing command checks in UI module
The commands are partly checked already before enabling features or calling player methods, but the checks were still missing in many places. #minor-release PiperOrigin-RevId: 504589888 (cherry picked from commit 2d7ddcc)
Configuration menu - View commit details
-
Copy full SHA for 5350d06 - Browse repository at this point
Copy the full SHA 5350d06View commit details
Commits on Feb 2, 2023
-
Tweak UI behavior when commands are missing.
For most missing commands, we already disable the corresponding controls. This change extends this to more UI elements that are disabled in case the corresponding action is unavailable. #minor-release PiperOrigin-RevId: 505057751 (cherry picked from commit 641c3b1)
Configuration menu - View commit details
-
Copy full SHA for b9bb323 - Browse repository at this point
Copy the full SHA b9bb323View commit details -
Match MergingMediaPeriod track selection by period index in id
MergingMediaPeriod creates its track groups with ids concatenating position in its periods array and the underlying child track group id. The ids can be used in selectTracks for matching to periods list. Issue: google#10930 PiperOrigin-RevId: 505074653 (cherry picked from commit ee055ef)
Configuration menu - View commit details
-
Copy full SHA for ace97fa - Browse repository at this point
Copy the full SHA ace97faView commit details -
Fix timestamp comparison for seeks in fMP4
When seeking in fMP4, we try to extract as little samples as possible by only starting at the preceding sync frame. This comparison should use <= to allow sync frames at exactly the seek position. Issue: google#10941 #minor-release PiperOrigin-RevId: 505098172 (cherry picked from commit ac3017b)
Configuration menu - View commit details
-
Copy full SHA for 284bf97 - Browse repository at this point
Copy the full SHA 284bf97View commit details -
Fix (another)
LeanbackPlayerAdapter
param name mismatchI missed this when fixing `positionInMs` for Dackka in google@d2a3d8f This time I manually verified that all the `@Override` methods have parameter names that match [the docs](https://developer.android.com/reference/androidx/leanback/media/PlayerAdapter). #minor-release PiperOrigin-RevId: 506017063 (cherry picked from commit 736f090)
Configuration menu - View commit details
-
Copy full SHA for 4dfa7ca - Browse repository at this point
Copy the full SHA 4dfa7caView commit details -
Merge pull request google#10793 from fraunhoferfokus:dash-thumbnail-s…
…upport PiperOrigin-RevId: 506261584 (cherry picked from commit 107e0c6)
Configuration menu - View commit details
-
Copy full SHA for 76e8740 - Browse repository at this point
Copy the full SHA 76e8740View commit details -
Publish ConcatenatingMediaSource2
Can be used to combine multiple media items into a single timeline window. Issue: androidx/media#247 Issue: google#4868 PiperOrigin-RevId: 506283307 (cherry picked from commit eb8fffb)
Configuration menu - View commit details
-
Copy full SHA for 7269d2a - Browse repository at this point
Copy the full SHA 7269d2aView commit details
Commits on Feb 14, 2023
-
Update release notes for ExoPlayer 2.18.3
#minor-release PiperOrigin-RevId: 509246479 (cherry picked from commit 8ff024e)
Configuration menu - View commit details
-
Copy full SHA for f731a46 - Browse repository at this point
Copy the full SHA f731a46View commit details -
Version bump for ExoPlayer 2.18.3 & media3-1.0.0-rc01
#minor-release PiperOrigin-RevId: 509501665 (cherry picked from commit b18dccd)
Configuration menu - View commit details
-
Copy full SHA for 7dbc2d4 - Browse repository at this point
Copy the full SHA 7dbc2d4View commit details
Commits on Feb 15, 2023
-
Update javadoc for ExoPlayer 2.18.3
#minor-release PiperOrigin-RevId: 509789955 (cherry picked from commit 4759e00)
Configuration menu - View commit details
-
Copy full SHA for f5d442f - Browse repository at this point
Copy the full SHA f5d442fView commit details
Commits on Feb 16, 2023
-
Update javadoc for ExoPlayer 2.18.3
#minor-release PiperOrigin-RevId: 509864205 (cherry picked from commit 19d4a58)
Configuration menu - View commit details
-
Copy full SHA for 57bd861 - Browse repository at this point
Copy the full SHA 57bd861View commit details -
Update javadoc for ExoPlayer 2.18.3
#minor-release PiperOrigin-RevId: 509867431 (cherry picked from commit 482871f)
Configuration menu - View commit details
-
Copy full SHA for 68ca399 - Browse repository at this point
Copy the full SHA 68ca399View commit details -
Configuration menu - View commit details
-
Copy full SHA for f72ca83 - Browse repository at this point
Copy the full SHA f72ca83View commit details
Commits on Feb 28, 2023
-
Detect HEVC HDR10 codec profile more accurately
In MediaCodecUtil, use Format.colorInfo, besides the codec string, to accurately map to a 10bit HEVC profile. PiperOrigin-RevId: 507500071 (cherry picked from commit 80dbaca)
Configuration menu - View commit details
-
Copy full SHA for 8f1aeca - Browse repository at this point
Copy the full SHA 8f1aecaView commit details -
Fix AudioTrackPositionTracker logic for playback speed adjustments
The AudioTrackPositionTracker needs to correct positions by the speed set on the AudioTrack itself whenever it makes estimations based on real-time (=the real-time playout duration is not equal to the media duration played). This happens for the main playback path already, but not for the mode in which the position is estimated from the playback head position and also not in the phase after the track has been stopped. Both cases are not very noticeable during normal playback, but become relevant when playing in offload mode. PiperOrigin-RevId: 507736408 (cherry picked from commit 4ede931)
Configuration menu - View commit details
-
Copy full SHA for bc9f2be - Browse repository at this point
Copy the full SHA bc9f2beView commit details -
Merge pull request google#248 from lemondoglol:update-segment-size
PiperOrigin-RevId: 507784608 (cherry picked from commit 08342ea)
Configuration menu - View commit details
-
Copy full SHA for 3dcdfe5 - Browse repository at this point
Copy the full SHA 3dcdfe5View commit details -
Merge pull request google#10959 from balachandarlinks:handle-sql-exce…
…ption-in-cached-content-index PiperOrigin-RevId: 508323432 (cherry picked from commit 20a5e46)
Configuration menu - View commit details
-
Copy full SHA for 3bd0896 - Browse repository at this point
Copy the full SHA 3bd0896View commit details -
Document spatialization behavior constants.
PiperOrigin-RevId: 508602059 (cherry picked from commit 1c29131)
Configuration menu - View commit details
-
Copy full SHA for 58650b8 - Browse repository at this point
Copy the full SHA 58650b8View commit details -
Add null check to
ExoPlayerImpl.isTunnelingEnabled
`TrackSelectorResult.rendererConfigurations` can contain null elements: > A null entry indicates the corresponding renderer should be disabled. This wasn't caught by the nullness checker because `ExoPlayerImpl` is currently excluded from analysis. #minor-release Issue: google#10977 PiperOrigin-RevId: 508619169 (cherry picked from commit 5e3cd7a)
Configuration menu - View commit details
-
Copy full SHA for 2794992 - Browse repository at this point
Copy the full SHA 2794992View commit details -
AsynchronousMediaCodecAdapter: surface queueing errors sooner
The AsynchronousMediaCodecAdapter's queuing thread stores any exceptions raised by MediaCodec and re-throws them on the next call to queueInputBuffer()/queueSecureInputBuffer(). However, if MediaCodec raises and error while queueing, it goes into a failed state and does not announce available input buffers. If there is no input available input buffer, the MediaCodecRenderer will never call queueInputBuffer()/queueSecureInputBuffer(), hence playback is stalled. This change surfaces the queueing error through the adapter's dequeueing methods. PiperOrigin-RevId: 508637346 (cherry picked from commit a5f4651)
Configuration menu - View commit details
-
Copy full SHA for aeff51c - Browse repository at this point
Copy the full SHA aeff51cView commit details -
Add ad event listeners in the Looper event of the ad manager callback
#minor-release PiperOrigin-RevId: 509189206 (cherry picked from commit e98670e)
Configuration menu - View commit details
-
Copy full SHA for 65f2e16 - Browse repository at this point
Copy the full SHA 65f2e16View commit details -
Catch IllegalArgumentExceptions in RTSP Response parsing
In parsing Describe RTSP response messages, IllegalArgumentExceptions are thrown for invalid parameters and values. These exceptions were not caught and crashed the Playback thread. Now these exceptions will be caught and their errors forwarded to the proper error handling listeners. #minor-release Issue: google#10971 PiperOrigin-RevId: 509207881 (cherry picked from commit 711fa44)
Configuration menu - View commit details
-
Copy full SHA for 89acf3c - Browse repository at this point
Copy the full SHA 89acf3cView commit details -
Add exception cause to thrown exception
PiperOrigin-RevId: 509473556 (cherry picked from commit 08cf6db)
Configuration menu - View commit details
-
Copy full SHA for 52d5ff4 - Browse repository at this point
Copy the full SHA 52d5ff4View commit details -
Map
PLAYER_STATE_LOADING
toSTATE_BUFFERING
#minor-release Issue: androidx/media#245 PiperOrigin-RevId: 510456793 (cherry picked from commit a231ff4)
Configuration menu - View commit details
-
Copy full SHA for 61a38a1 - Browse repository at this point
Copy the full SHA 61a38a1View commit details -
Reduce number of calls to AudioTrack.getPlaybackHeadPosition
This call may cause performance overhead in some situations, for example if the AudioTrack needs to query an offload DSP for the current position. We don't need to check this multiple times per doSomeWork iteration as the value is unlikely to change in any meaningful way. PiperOrigin-RevId: 510957116 (cherry picked from commit 829b49d)
Configuration menu - View commit details
-
Copy full SHA for 0563c43 - Browse repository at this point
Copy the full SHA 0563c43View commit details -
Skip rendering multiple frames on the same vsync
When rendering frames at a rate higher than the screen refresh rate, e.g. playing at 8x, the player is releasing multiple frames at the same release time (nanos) which are then dropped by the platform. The output buffers are available later and as a result MediaCodec cannot keep up decoding fast enough. This change skips releasing multiple video frames on the same vsync period and proactivelly drops the frame. The frame is counted as skipped rather than dropped to differentiate with frames dropped due to slow decoding. PiperOrigin-RevId: 510964976 (cherry picked from commit cbb6878)
Configuration menu - View commit details
-
Copy full SHA for 5f91e45 - Browse repository at this point
Copy the full SHA 5f91e45View commit details -
Indicate that SCTE-35 metadata in not supported with HLS
Issue: google#10992 #minor-release PiperOrigin-RevId: 510988140 (cherry picked from commit 57a638a)
Configuration menu - View commit details
-
Copy full SHA for d0c0769 - Browse repository at this point
Copy the full SHA d0c0769View commit details -
Use ArrayDeque for pending output stream changes.
The current logic uses manual array operations to keep track of pending changes. Modernize this code by using an ArrayDeque and a data class. This also allows to extend the output stream information in the future. This also fixes a bug where a position reset accidentally assigns a pending stream offset instead of keeping the current one. PiperOrigin-RevId: 511787571 (cherry picked from commit 4e0babd)
Configuration menu - View commit details
-
Copy full SHA for 629e1c5 - Browse repository at this point
Copy the full SHA 629e1c5View commit details -
Add missing variant to package transformations
PiperOrigin-RevId: 512002735 (cherry picked from commit 1ef70cd)
Configuration menu - View commit details
-
Copy full SHA for 342ae31 - Browse repository at this point
Copy the full SHA 342ae31View commit details -
Do not specify export flags for protected system broadcasts.
Protected system broadcasts should not specify the export flag. Marking them as NOT_EXPORTED breaks sticky broadcasts in some cases. Issue: google#10970 #minor-release PiperOrigin-RevId: 512020154 (cherry picked from commit 34b9824)
Configuration menu - View commit details
-
Copy full SHA for 29eeca3 - Browse repository at this point
Copy the full SHA 29eeca3View commit details -
Use more realistic time values for MediaCodecVideoRendererTest
This test became flaky after google@cbb6878 because some of the unrealistic frame times ended up on the same release time. Using realistic numbers avoids the flakiness. PiperOrigin-RevId: 512566469 (cherry picked from commit 13700e0)
Configuration menu - View commit details
-
Copy full SHA for 5862fe4 - Browse repository at this point
Copy the full SHA 5862fe4View commit details -
Correctly update output info if previous stream has been fully rendered
The output info for a new stream is marked pending until the last sample of the previous stream has been processed. However, this fails if the previous stream has already been fully processed. We need to detect this case explicitly to avoid signalling the output change one sample too late. #minor-release PiperOrigin-RevId: 512572854 (cherry picked from commit 39935d7)
Configuration menu - View commit details
-
Copy full SHA for f5c6967 - Browse repository at this point
Copy the full SHA f5c6967View commit details -
Add workaround for wrong PerformancePoints on some devices.
Some devices were reported to have wrong PerformancePoint sets that cause 60 fps to be marked as unsupported even though they are supported. Issue: google#10898 #minor-release PiperOrigin-RevId: 512580395 (cherry picked from commit 04f0cc9)
Configuration menu - View commit details
-
Copy full SHA for 095a0b5 - Browse repository at this point
Copy the full SHA 095a0b5View commit details -
Ensure output format is updated in sync with stream changes.
MediaCodecRenderer currently has two independent paths to trigger events at stream changes: 1. Detection of the last output buffer of the old stream to trigger onProcessedStreamChange and setting the new output stream offset. 2. Detection of the first input buffer of the new stream to trigger onOutputFormatChanged. Both events are identical for most media. However, there are two problematic cases: A. (1) happens after (2). This may happen if the declared media duration is shorter than the actual last sample timestamp. B. (2) is too late and there are output samples between (1) and (2). This can happen if the new media outputs samples with a timestamp less than the first input timestamp. This can be made more robust by: - Keeping a separate formatQueue for each stream to avoid case A. - Force outputting the first format after a stream change to avoid case B. Issue: google#8594 #minor-release PiperOrigin-RevId: 512586838 (cherry picked from commit a02c8d8)
Configuration menu - View commit details
-
Copy full SHA for 38639e5 - Browse repository at this point
Copy the full SHA 38639e5View commit details
Commits on Mar 2, 2023
-
Fix some playback parameter signalling problems.
Playback parameter signalling can be quite complex because (a) the renderer clock often has a delay before it realizes that it doesn't support a previously set speed and (b) the speed set on media clock sometimes intentionally differs from the one surfaced to the user, e.g. during live speed adjustment or when overriding ad playback speed to 1.0f. This change fixes two problems related to this signalling: 1. When resetting the media clock speed at a period transition, we don't currently tell the renderers that this happened. 2. When a delayed speed change update from the media clock is pending and the renderer for this media clock is disabled before the change can be handled, the pending update becomes stale but it still applied later and overrides any other valid speed set in the meantime. Both edge cases are also covered by extended or new player tests. Issue: google#10882 PiperOrigin-RevId: 512658918 (cherry picked from commit d363977)
Configuration menu - View commit details
-
Copy full SHA for 3e7eece - Browse repository at this point
Copy the full SHA 3e7eeceView commit details -
Ensure getPlaybackHeadPosition isn't called if not needed
Once the value returned from AudioTimestampPoller advances, we only need getPlaybackHeadPosition to sample sync params and verify the returned timestamp. Both of these happen less often and we can avoid calling getPlaybackHeadPosition if we don't actually need it. PiperOrigin-RevId: 512882170 (cherry picked from commit 4cf7d3c)
Configuration menu - View commit details
-
Copy full SHA for 996d660 - Browse repository at this point
Copy the full SHA 996d660View commit details -
#minor-release PiperOrigin-RevId: 512890813 (cherry picked from commit 13a86b3)
Configuration menu - View commit details
-
Copy full SHA for c23010d - Browse repository at this point
Copy the full SHA c23010dView commit details -
Minor change in ForwardingPlayer javadoc
#minor-release PiperOrigin-RevId: 512897269 (cherry picked from commit 48047cf)
Configuration menu - View commit details
-
Copy full SHA for bfc12ef - Browse repository at this point
Copy the full SHA bfc12efView commit details -
Remove @see tags with <a> tags
These are not supported by Dackka #minor-release PiperOrigin-RevId: 513176533 (cherry picked from commit ef5a1ce)
Configuration menu - View commit details
-
Copy full SHA for a834d05 - Browse repository at this point
Copy the full SHA a834d05View commit details -
Merge pull request google#255 from mayurk2:use_edts_offset_if_it_is_f…
…or_entire_file PiperOrigin-RevId: 513213229 (cherry picked from commit d2ba290)
Configuration menu - View commit details
-
Copy full SHA for d3ef801 - Browse repository at this point
Copy the full SHA d3ef801View commit details -
Extend documentation for ForwardingPlayer
Add some additional information which methods to override for available commands. #minor-release PiperOrigin-RevId: 513251805 (cherry picked from commit a64a9e6)
Configuration menu - View commit details
-
Copy full SHA for d5ae16c - Browse repository at this point
Copy the full SHA d5ae16cView commit details -
Update migration script to 1.0.0-rc02/2.18.4
PiperOrigin-RevId: 513482096 (cherry picked from commit b634005)
Configuration menu - View commit details
-
Copy full SHA for 4298cfa - Browse repository at this point
Copy the full SHA 4298cfaView commit details -
Bump version numbers to Media3 1.0.0-rc02 and ExoPlayer 2.18.4
#minor-release PiperOrigin-RevId: 513488487 (cherry picked from commit 3b16231)
Configuration menu - View commit details
-
Copy full SHA for c641307 - Browse repository at this point
Copy the full SHA c641307View commit details -
PiperOrigin-RevId: 513516267 (cherry picked from commit 658b503)
Configuration menu - View commit details
-
Copy full SHA for 05ac6ab - Browse repository at this point
Copy the full SHA 05ac6abView commit details -
Fix lint-baseline.xml for latest UI translations
#minor-release PiperOrigin-RevId: 513533248 (cherry picked from commit af6807d)
Configuration menu - View commit details
-
Copy full SHA for c459b08 - Browse repository at this point
Copy the full SHA c459b08View commit details -
Update release notes for ExoPlayer 2.18.4
#minor-release PiperOrigin-RevId: 513555559 (cherry picked from commit 4f68f89)
Configuration menu - View commit details
-
Copy full SHA for 86013bd - Browse repository at this point
Copy the full SHA 86013bdView commit details
Commits on Mar 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for bc35372 - Browse repository at this point
Copy the full SHA bc35372View commit details
Commits on Mar 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7efc278 - Browse repository at this point
Copy the full SHA 7efc278View commit details
Commits on Mar 21, 2023
-
Configuration menu - View commit details
-
Copy full SHA for f10bf19 - Browse repository at this point
Copy the full SHA f10bf19View commit details