- 11 Apr, 2023 4 commits
-
-
To set the chroma format and depth information for H265 format,the csd-0 data needs to be parsed. The previous implementation skipped parsing csd-0 data and hard coded values based on "profile" field in MediaFormat. Along with above mention changes, corrected some of the comments as per spec. PiperOrigin-RevId: 522335595
sheenachhabra committed -
This change improves `ImaUtil.maybeCorrectPreviouslyUnknownAdDuration` to handles the case when the timeline moves forward more than a single period while an ad group with unknown period duration is being played. PiperOrigin-RevId: 522292612
bachinger committed -
The button gets only updated after an onTracksChanged callback but isn't set to the initial state similar to other changes triggered by callbacks (e.g. updateRepeatSwitchUI) PiperOrigin-RevId: 522274800
tonihei committed -
PiperOrigin-RevId: 522058915
tonihei committed
-
- 05 Apr, 2023 27 commits
-
-
PiperOrigin-RevId: 522046876
bachinger committed -
`sed` has a different in-place command line syntax in FreeBsd than GNU tools. This change makes the `sed` commands work with FreeBSD `sed` on OSX in bash and zsh shells. Issue: androidx/media#217 PiperOrigin-RevId: 522043938
bachinger committed -
PiperOrigin-RevId: 522039856
christosts committed -
If the duration is reported in MediaMetadataCompat, it should also be set in the QueueTimeline to match controller.getDuration() PiperOrigin-RevId: 522022953
tonihei committed -
PiperOrigin-RevId: 522010318
tofunmi committed -
And also mention a few restrictions regarding legacy components in Javadoc. #minor-release Issue: androidx/media#293 PiperOrigin-RevId: 522005562
tonihei committed -
NPE in toneMap_hlgFrame_matchesGoldenFile and toneMap_pqFrame_matchesGoldenFile was created because a uEnableColorTransfer uniform was being created on the HDR path, when HDR shader files don't have this uniform. (they don't support disable color transfers right now) Fix: only create the uniform when input is SDR. manually tested on failing tests PiperOrigin-RevId: 522002603
tofunmi committed -
MediaItems are not meant to be unique in a playlist. If a legacy session publishes multiple items that get converted to equal MediaItems, the current code fails because we look up queue ids in a Map (that doesn't allow duplicate entries). Fix this by storing a simple list of items with additional data. #minor-release Issue: androidx/media#290 PiperOrigin-RevId: 521993802
tonihei committed -
As most classes are used via interface only and people depending on it locally can always find the Javadoc in Android Studio directly, we don't plan to add Javadocs for these extensions module in developer.android.com. PiperOrigin-RevId: 521993756
rohks committed -
PiperOrigin-RevId: 521805477
tofunmi committed -
PiperOrigin-RevId: 521790733
samrobinson committed -
It's currently not possible to even subclass MediaSession because the constructor is package-private. To avoid any accidental usage or future indirect subclassing, all methods can be marked as final. PiperOrigin-RevId: 521775373
tonihei committed -
Need to use NAL unit util methods in muxer module. PiperOrigin-RevId: 521772831
sheenachhabra committed -
This ensures that anybody implementing `Player` (which is relatively unusual) must override at least one `@UnstableApi` method, and therefore opt-in to the unstable API. PiperOrigin-RevId: 521769675
ibaker committed -
PiperOrigin-RevId: 521731485
sheenachhabra committed -
PiperOrigin-RevId: 521476767
bachinger committed -
* Add a new event `onAudioCapabilitiesChanged` in `AudioSink.Listener` interface. * Add an interface `RendererCapabilities.Listener`, which will listen to `onRendererCapabilitiesChanged` events from the renderer. * Add `getRendererCapabilitiesReceiver` method for `TrackSelector`, and register/unregister the `TrackSelector` as the `RendererCapabilitiesReceiver` (if implemented) when the `ExoPlayer` is initialized/released. * Trigger the `AudioSink.Listener.onAudioCapabilitiesChanged` and further `RendererCapabilities.Listener.onRendererCapabilitiesChanged` events when the audio capabilities changes are detected in `DefaultAudioSink`. PiperOrigin-RevId: 521427567
tianyifeng committed -
PiperOrigin-RevId: 521427239
huangdarwin committed -
The check currently relies on the default value of 0 returned if the Bundle doesn't define a pid. But in some cases, like Robolectric unit tests, 0 is a possible pid. The check can be improved by directly asserting that the value is defined. PiperOrigin-RevId: 521414649
tonihei committed -
This was broken and has been fixed in <unknown commit>. PiperOrigin-RevId: 521380415
kimvde committed -
This includes: - Add an ad for each LOADED event of the SDK by taking the duration of the ad from the media structure to exactly match the start position of ads and then use `addLiveAdBreak()` that is used for HLS live already. - When the refreshed content timeline arrives, possibly correct the duration of an ad that has been inserted while the period duration was still unknown (last period of the live timeline). - When an ad period is removed the ad group needs to be put into a condition that allows continuing playback. PiperOrigin-RevId: 520919236
bachinger committed -
Handling of the stream offset and start position was unnecessarily complex and even incorrect. It was going to be an issue for concatenation of video and image input. The stream offset is the offset added before decoding/encoding to make sure it doesn’t fail in case of negative timestamps (which do rarely occur). The start position is equal to the stream offset, plus the clipping start time if the media is clipped. Before this change: - Samples were offset by the start position before decoding, and this offset was removed before muxing. - The startPosition of the first MediaItem in a sequence was used for all the MediaItems in this sequence (which is incorrect). - The stream offset was removed before applying the GL effects and added back before encoding so that it was not visible to the OpenGL processing. After this change: - The start position is subtracted in the AssetLoader, so that the downstream components don’t have to deal with the stream offsets and start positions. - Decoded samples with negative timestamps are not passed to the SamplePipelines. The MediaMuxer doesn’t handle negative timestamps well. If a stream is 10 secondes long and starts at timestamp -2 seconds, the output will only contain the samples corresponding to the first 8 (10 - 2) seconds. It won’t contain the last 2 seconds of the stream. It seems acceptable to remove the first 2 seconds instead. PiperOrigin-RevId: 520916464
kimvde committed -
PiperOrigin-RevId: 520886975
sheenachhabra committed -
Releasing the player once a sequence has ended seems to make our emulator tests flaky. Comment out until we find the cause. The player will still be released from TransformerInternal, when the export ends. PiperOrigin-RevId: 520886181
kimvde committed -
Issue: google/ExoPlayer#11008 PiperOrigin-RevId: 520864579
ibaker committed -
PiperOrigin-RevId: 520709134
Googler committed -
The `DashMediaSource` wrongly added an offset to the media times set to the `MediaLoadData`. With this the `startTimeMS` and `endTimeMs` don't represent the positions in the period but in the stream. `DashMediaSource` was the only call site that was setting the offset to a non-zero value. So if we are using 0 for the `DashMediaSource` as well, the offset is redundant and we can remove it everywhere. PiperOrigin-RevId: 520682026
bachinger committed
-
- 30 Mar, 2023 9 commits
-
-
PiperOrigin-RevId: 520663415
kimvde committed -
PiperOrigin-RevId: 520650881
rohks committed -
The media3-hosted versions of these SVGs were removed due to a change in the way the reference docs are generated. While work on getting them hosted on developer.android.com, this change simply links to the (identical) exoplayer2 versions in order to fix the media3 docs. #minor-release PiperOrigin-RevId: 520647905
ibaker committed -
Also fixed the javadoc link in devsite and removed javadoc links from decoder extensions as it is not published yet on developer.android.com. #minor-release PiperOrigin-RevId: 520636868
rohks committed -
https://github.com/androidx/media/commit/26aee812d59a63d040d2a3ac4475e6c538665f0b
*** Original commit *** Rollback of https://github.com/androidx/media/commit/6109a0eb624dfc8d4153e85f67556b6b3c38b9cc *** Original commit *** Intercept audio capabilities change in `DefaultAudioSink` *** *** PiperOrigin-RevId: 520619600
tianyifeng committed -
RawCC is a Google-internal subtitle format that is no longer directly supported by this library (since https://github.com/androidx/media/commit/4f616d60034e13e2236f321cbb3187ac92a2709d). PiperOrigin-RevId: 520591591
ibaker committed -
This method has been deprecated for over 2 years. PiperOrigin-RevId: 520586238
tonihei committed -
This means we don't need to manually store the result of `get()` into a local to convince the nullness checker that it remains non-null. PiperOrigin-RevId: 520576719
ibaker committed -
For multi-period live streams the content timeline for which the global ad playback state has been split needs to be kept together to not run into a race between timeline refreshes and ad events. PiperOrigin-RevId: 520358964
bachinger committed
-