- 17 Oct, 2022 19 commits
-
-
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 21 commits
-
-
"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 -
Per go/java-practices/imports#static No functional changes intended. PiperOrigin-RevId: 477974779
huangdarwin committed -
Rename test files to avoid substrings that can be implied by the directory name, like "Transformation" and "Test" No functional changes. Renaming-only. PiperOrigin-RevId: 477724724
huangdarwin committed -
PiperOrigin-RevId: 477524540
samrobinson committed -
For tone mapping error messages. PiperOrigin-RevId: 477447799
huangdarwin committed -
Also, add checks for output file color. PiperOrigin-RevId: 477439139
huangdarwin committed -
PiperOrigin-RevId: 477166507
Googler committed -
PiperOrigin-RevId: 477101201
bachinger committed -
PiperOrigin-RevId: 476937845
samrobinson committed -
PiperOrigin-RevId: 476909855
samrobinson committed -
One of the tests in MediaBrowserListenerTest caused the remote browser service to crash and then just timed out. As this asserts nothing useful besides checking that the timeout method is working, we can remove the test. Crashing the remote browser service had the side effect of letting subsequent tests in the same class fail because the previous session was never released and was still present in the static MediaSession SESSION_ID_TO_SESSION_MAP instance, which prevented the creation of new sessions with the same id. This is only an issue in test runs because a real process would also lose its static variables when it crashes. PiperOrigin-RevId: 476905337
tonihei committed -
`PlaybackStateCompat.toKeyCode(command)` was replaced by our own implementation of `toKeyCode()`. The legacy implementation used PLAY and PAUSE, while the new implementation uses PLAY_PAUSE. This made `pause` a pending intent that attempt to start the service in the foreground, but `service.startForeground()` won't be called in `MediaNotificationManager.updateNotificationInternal` when paused. PiperOrigin-RevId: 476895752
bachinger committed -
Comment-only change. PiperOrigin-RevId: 476873286
huangdarwin committed -
Calling maybeUpdateLegacyErrorState potentially creates a new legacy playback state which involves calling player methods. This change makes sure that the call sites of `maybeUpdateLegacyErrorState` are called on the app thread as enforced by the library. PiperOrigin-RevId: 476406282
bachinger committed -
This allows to access the associated functionality of AudioTrack and fills a feature gap to MediaPlayer, which has a similar method. Issue: androidx/media#135 PiperOrigin-RevId: 476398964
tonihei committed -
PiperOrigin-RevId: 476390089
leonwind committed -
* Before this CL, the texture was stored during the construction of the LUT processor. This failed since if one creates a list of GlEffects on the application thread, the texture will get stored in the application thread during the effect creation and not on the GL thread, which executes the FrameProcessors. * This is an issue since the executing thread then can't index from the texture stored on a different thread. PiperOrigin-RevId: 476388021
leonwind committed -
PiperOrigin-RevId: 476376463
Marc Baechinger committed -
PiperOrigin-RevId: 476373520
leonwind committed -
PiperOrigin-RevId: 476362571
leonwind committed -
If the sample type is dolby vision and the following conditions match a)There is a supported alternative codec mimetype b)Display does not support Dolby Vision Then getDecoderInfos will return the alternative types. Issue: google/ExoPlayer#9794 PiperOrigin-RevId: 476356223
michaelkatz committed
-