- 17 Oct, 2022 39 commits
-
-
PiperOrigin-RevId: 481215581
Googler committed -
PiperOrigin-RevId: 481150758
ibaker committed -
PiperOrigin-RevId: 481143798
huangdarwin committed -
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
ibaker committed -
PiperOrigin-RevId: 481122795
claincly committed -
PiperOrigin-RevId: 481115402
Marc Baechinger committed -
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
tonihei committed -
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
bachinger committed -
PiperOrigin-RevId: 480847967
Googler committed -
- This method is redundant with getSupportedSampleMimeTypes(). - This is to prepare the Muxer class to become public. PiperOrigin-RevId: 480840902
kimvde committed -
When debugging and fixing Issue: google/ExoPlayer#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
ibaker committed -
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
huangdarwin committed -
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
huangdarwin committed -
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
huangdarwin committed -
PiperOrigin-RevId: 480349627
Googler committed -
#inlineme PiperOrigin-RevId: 480189473
Googler committed -
Fix a race condition making test flaky. PiperOrigin-RevId: 480104467
christosts committed -
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/ExoPlayer#10664 PiperOrigin-RevId: 480048126
tonihei committed -
PiperOrigin-RevId: 480041937
christosts committed -
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/ExoPlayer#8944 PiperOrigin-RevId: 480040876
michaelkatz committed -
Replace the instance-field MediaController with a local instance created in each test. PiperOrigin-RevId: 480039768
christosts committed -
PlayableFolderActivity currently uses two seperate commands to set the playlist and then seek to the requested item. This is slightly inefficient and also causes analytics listeners to believe the first item in the playlist was briefly active. #minor-release Issue: androidx/media#180 PiperOrigin-RevId: 480031682
tonihei committed -
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
claincly committed -
Remove static imports to constants and imports to intdefs, to make the code more readable. PiperOrigin-RevId: 479594144
christosts committed -
PiperOrigin-RevId: 479579252
christosts committed -
Also, update tests to allow AnyOf error codes, and no longer check exception messages, which caused quite a bit of churn. PiperOrigin-RevId: 479570861
huangdarwin committed -
PiperOrigin-RevId: 479569806
ibaker committed -
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
claincly committed -
PiperOrigin-RevId: 479268879
aquilescanta committed -
* 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
tianyifeng committed -
PiperOrigin-RevId: 479079184
christosts committed -
The JavaDoc of RequestMetadata should point to the media3 controller, not the platform one. PiperOrigin-RevId: 479047924
tonihei committed -
Currently `FrameProcessor.releaseOutputFrame()` method supports Release at a specific system time Drops the frame This API is not that convenient to use when the caller wants to release a frame, now, regardless of the release time. A use case is to release (present) a frame when no frame is shown for a while, and it's thus better to just release the frame, now. Currently if MCVR wants a frame to be rendered now, MCVR calls release frame with a set offset like 10us: `releaseOutputFrame(System.nanoTime() + 10_000)`. The 10us offset is to prevent the frame processor dropping the frame, due to thread hopping delays. To make the API better usable, consider adding a mode for releasing the frame now, like (bold marks the new mode) - Use C.TIME_UNSET to drop - **Use -1 to release the frame immediately, or** - Use an actual release time. PiperOrigin-RevId: 479044215
claincly committed -
PiperOrigin-RevId: 479003655
Googler committed -
A follow up to stopping speaker playback with a Player decorator from https://github.com/androidx/media/issues/15. It looks like we will need to change to using playback suppression to avoid errors like https://github.com/androidx/media/issues/167, when we don't start a foreground service. We may not have this implemented by 1.0, but would like it in the API and it seems to be appropriate. PiperOrigin-RevId: 478835686
yschimke committed -
Assert that tone mapping is applied when an HDR edit cannot be HDR, but is successfully tone mapped. Meanwhile, assert that fallback, which is applied after codec configuration (which throws the "Tone-mapping requested but not supported by the decoder" error) is not applied when that error is called. PiperOrigin-RevId: 478762951
huangdarwin committed -
When a media service currently produces multiple media sessions, the notification of the second session overwrites the notification of the first one, because all sessions use the same notification ID. When we use different notification IDs for different sessions, multiple media notifications can be up at the same time, which means that they can both be controlled at the same time. PiperOrigin-RevId: 478709069
Googler committed -
PiperOrigin-RevId: 478510687
Googler committed -
PiperOrigin-RevId: 478019046
huangdarwin committed
-
- 30 Sep, 2022 1 commit
-
-
"Final" was likely added to reference the FinalMatrixTextureProcessorWrapper, which is a package-private class. However, I think more clear to express that this is the input size, which then has all effects applied, to get the output size. PiperOrigin-RevId: 477975358
huangdarwin committed
-