- 26 May, 2023 23 commits
-
-
I moved this assignment in https://github.com/google/ExoPlayer/commit/326f53a61c4e58a9123561e0f0c838c40929852f in order to provide a single source-of-truth for `publish.gradle`, but as pointed out in Issue: androidx/media#416 this breaks apps that are depending on our project locally using the instructions we publish. Instead we can remove the `rootProject.name` check from `publish.gradle`, and check an explicit boolean value instead to indicate if the root project is 'ours' (with this boolean only set from `settings.gradle`, so it doesn't get picked up by apps depending on us locally). #minor-release PiperOrigin-RevId: 534459085 (cherry picked from commit 3ca3e11de1ab7c8a1fde0f9dd92dd9724fedcc56)
ibaker committed -
And fix violation of this in AdsMediaSource. #minor-release PiperOrigin-RevId: 534441648 (cherry picked from commit 23b53fc7942131823c62af3570cfebb28614521b)
tonihei committed -
Use the audio or video specific variants instead. #minor-release PiperOrigin-RevId: 534436644 (cherry picked from commit 868e44290e7701c55352368a72a63aa0647fc483)
ibaker committed -
Use the non-deprecated constructor instead. #minor-release PiperOrigin-RevId: 534426655 (cherry picked from commit 523ec804d2fc50111eaad7b73510c21cd5f68896)
ibaker committed -
#minor-release PiperOrigin-RevId: 534412494 (cherry picked from commit 6dcd6276ae4129361d48af032a4fe62fd499ccc5)
ibaker committed -
PiperOrigin-RevId: 534390168 (cherry picked from commit 3ac41de751e27e28bc383cc2aa0667d9332322b3)
jbibik committed -
Use the constructor that takes an `Executor` instead. #minor-release PiperOrigin-RevId: 534370613 (cherry picked from commit b56fddfa01b85eb7370308057c0c69eb0c779f1c)
ibaker committed -
Use `build()` instead. #minor-release PiperOrigin-RevId: 534348979 (cherry picked from commit b71487ebb468b511b1d6880d4f5d26c0f0777fcd)
ibaker committed -
Use `setWakeMode(int)` instead. #minor-release PiperOrigin-RevId: 534344010 (cherry picked from commit 90303e40ed86364d3128e5f9fec306a6f3bb5906)
ibaker committed -
This change deprecates `PlayerView.setUseArtwork(boolean)` and introduces `setArtworkDisplayMode(mode)` and `artworkDisplayMode="off|fit|fill"` instead. - off: no artwork is displayed (like deprecated useArtwork=false) - fit: letterbox like media (like deprecated useArtwork=true) - fill: scales the artwork to fill the entire width/weight of the player view #minor-release PiperOrigin-RevId: 534167226 (cherry picked from commit 7f3f2fe0758e083cc5baf8781b1f1be20d32f052)
bachinger committed -
Fix a bug when seeking in an opus container. The calculations inside DefaultOggSeeker may overflow a long primitive. Issue: androidx/media#391 #minor-release PiperOrigin-RevId: 534128513 (cherry picked from commit 5535cd18ec50862425adadd231778752bfe12ba1)
christosts committed -
Earlier metadata was written multiple times as it came. With new changes, all the distinct metadata entries will get collected and will be written at once in the end. PiperOrigin-RevId: 534088401 (cherry picked from commit f88fde8b88c2422f096425b6568ee7ac8ebb2ade)
sheenachhabra committed -
This allows us to disallow access after release. PiperOrigin-RevId: 534046475 (cherry picked from commit d357cd616c47cce0a5cdd066b25e307488d25534)
huangdarwin committed -
This allows apps to use a custom VideoFrameProcessor implementation for video playback. This may be useful, for example, when outputting to a texture. PiperOrigin-RevId: 534044831 (cherry picked from commit 703923d196934fdcc019ffd610b6f778f8fa043d)
huangdarwin committed -
The methods in ExoPlayerImpl and MediaControllerImplBase that determine the new PlayerInfo/PlaybackInfo currently have a hard-to-reason-about setup where the method generating the new info accesses other methods that rely on the existing class field instead of working with the passed in PlayerInfo/PlaybackInfo. This prevents reuse of the util methods (e.g. for replaceMediaItems) because they access potentially stale state. This change untangles these methods a bit by making the util methods either static or at least ensure that they don't rely on existing class fields of PlayerInfo/PlaybackInfo. Overall, the change is a complete no-op. #minor-release PiperOrigin-RevId: 534036633 (cherry picked from commit f898a7f17376d50c4de6cd8f67fe047410581527)
tonihei committed -
The main interface documentation hasn't been updated substantially since 2017 and is missing notes for many of its current features and requirements. Also change the recommendation for implementors from BasePlayer to SimpleBasePlayer to ensure new classes are more likely to cover all of the interface requirements. #minor-release PiperOrigin-RevId: 534027117 (cherry picked from commit d75e24a713dd8648ff775c6d29be6db30a7d31d9)
tonihei committed -
This field is always accessed with the mutex held. PiperOrigin-RevId: 534027096 (cherry picked from commit ea42465fef89a667655c4d2603e7b48b54157d92)
andrewlewis committed -
PiperOrigin-RevId: 534016337 (cherry picked from commit 42632b29670b0008b440b7059071a48a0a07b5cb)
andrewlewis committed -
PiperOrigin-RevId: 534015933 (cherry picked from commit 65c33e69709f34ef94f8831b290eb30df2a4306b)
andrewlewis committed -
Use `DefaultTrackSelector(Context)` instead. #minor-release PiperOrigin-RevId: 533985937 (cherry picked from commit a8928fba7f13ddd1033368b69d601da1e8bfb852)
ibaker committed -
PiperOrigin-RevId: 533721679 (cherry picked from commit 5e7334545ad6bfc4fe88559c7949bbc227543681)
jbibik committed -
This class is to be shared between extractor, transformer and muxer module. PiperOrigin-RevId: 533490888 (cherry picked from commit fe5dedb84e4e947d0647fc7d5363eb5a1f500384)
sheenachhabra committed -
In terms of MCVR with a `VideoRendererEventListener`, the video size is set to 0/0 right after `onVideoDisabled()` is called and is set to the actual size as soon as the video size is known after 'onVideoEnabled()`. For ExoPlayer and in terms of the `Player` interface, `Player.getVideoSize()` returns a video size of 0/0 when `Player.getCurrentTracks()` does not support `C.TRACK_TYPE_VIDEO`. This is ensured by the masking behavior of `ExoPlayerImpl` that sets an empty track selection result when the playing period changes due to a seek or timeline removal. When transitioning playback from a video media item to the next, or when seeking within the same video media item, the renderer is not disabled. #minor-release PiperOrigin-RevId: 533479600 (cherry picked from commit f38cbad98558145b3b89f1bb57b25f3105ea36f9)
bachinger committed
-
- 25 May, 2023 8 commits
-
-
#minor-release PiperOrigin-RevId: 533463348 (cherry picked from commit fa21b2e28d5726d42a178f931793a49fcb375813)
ibaker committed -
PiperOrigin-RevId: 533402277 (cherry picked from commit 03e3ce19f1a58668f0bc7fe14172abf817836beb)
claincly committed -
This is useful for cases where only certain types (e.g. only video) from a source are needed and other tracks should be filtered out completely to avoid later track selection issues. #minor-release PiperOrigin-RevId: 533394658 (cherry picked from commit 78c56d20483b804acbc2c0254cf5e9a8334c51bf)
tonihei committed -
This allows us to avoid needing a reference to the VideoFrameProcessor, which can be especially difficult if an App only has a reference to the VideoFrameProcessor.Factory it passes into Transformer/ExoPlayer. PiperOrigin-RevId: 533205983 (cherry picked from commit 4d7c57ed6ee72c633b4e3eb7fff3aa7274b127ce)
huangdarwin committed -
https://stackoverflow.com/questions/70993863/mockito-can-not-mock-random-in-java-17 #minor-release PiperOrigin-RevId: 533161221 (cherry picked from commit 0460e1a1f90066e147bbab7d9b0f8d771a4692be)
ibaker committed -
JaCoCo introduces private synthetic methods (even on interfaces) which have to be skipped when checking that a 'forwarding' implementation does forward everything. Instead we can use the existing `getPublicMethods()` method which implicitly skips these (since they're private). PiperOrigin-RevId: 533130932 (cherry picked from commit 1c104f66e182ce5f9d591375e3b683a3166749ce)
jbibik committed -
PiperOrigin-RevId: 533121451 (cherry picked from commit 2a411ec23308e19c57672f363a2c0e0781863bf8)
sheenachhabra committed -
PiperOrigin-RevId: 533117700 (cherry picked from commit c5ec457dae7120d3c08d3b19c27435afdf1dd1b7)
claincly committed
-
- 18 May, 2023 9 commits
-
-
Tofunmi Adigun-Hameed committed
-
PiperOrigin-RevId: 532846248 (cherry picked from commit 43638cd2940afa67b5a3e39879f5fe65c36f59df)
tofunmi committed -
Use `Format.buildUpon()` and `setXXX` instead. #minor-release PiperOrigin-RevId: 532840625 (cherry picked from commit 19b6ce501456cc1f04b36b72d073803fc1a5080e)
rohks committed -
PiperOrigin-RevId: 532838813 (cherry picked from commit bd95fcd98d87c3ba6ada053a6f2ca1468accf4a4)
sheenachhabra committed -
Use `Format.Builder` instead. #minor-release PiperOrigin-RevId: 532808478 (cherry picked from commit 5d0366bfb99a00d4104aa30a85d1b98b2f2ede86)
rohks committed -
This device failed on HdrEditingTest's exportAndTranscode_hlg10File_whenHdrEditingUnsupported_toneMapsOrThrows before this CL, and succeeds on that test after this CL. PiperOrigin-RevId: 532796897 (cherry picked from commit 68946d992a12e3c12a06bd0157b70aacd6c70851)
huangdarwin committed -
This class will be shared between extractor and muxer module. PiperOrigin-RevId: 532784415 (cherry picked from commit 3aad4f1770a6d89ca635790b04f5c53318da41d8)
sheenachhabra committed -
PiperOrigin-RevId: 532770925 (cherry picked from commit 937f3b51efb0c890e85fe43edf94aac68307437e)
ibaker committed -
Have the FinalShaderProgramWrapper / VideoFrameProcessor texture output access textures provided through a texture pool, that recycles used textures. Also, add the TexturePool interface to generally re-use textures. PiperOrigin-RevId: 532754377 (cherry picked from commit 1f9977f3c76891c6190da1d63045f61ce9b2050b)
huangdarwin committed
-