- 12 Dec, 2022 40 commits
-
-
An AndroidTest is needed to test the message sending from ExoPlayerImpl to a video renderer (MCVR in this case). The test will be added later. PiperOrigin-RevId: 493602259
claincly committed -
PiperOrigin-RevId: 493557119
claincly committed -
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
tonihei committed -
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
tonihei committed -
PiperOrigin-RevId: 493543188
tofunmi committed -
This shouldn't really have anything to do with HDR. PiperOrigin-RevId: 493357915
huangdarwin committed -
Implements milestone 1.4.2 of the [overlays implementation plan](https://docs.google.com/document/d/1EcP2GN8k8N74hHZyD0KTqm9oQo5-W1dZMqIVyqVGtlo/edit#bookmark=id.76uzcie1dg9d) PiperOrigin-RevId: 493324764
tofunmi committed -
Rename ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED to ERROR_CODE_ENCODING_FORMAT_UNSUPPORTED. This makes the error code more consistent with ERROR_CODE_DECODING_FAILED on the decoding side. Also, the error code is in the "Encoding errors (4xxx)" section, so muxer errors probably should be in the "Muxer errors (7xxx)" section instead. Additionally, no muxer errors currently seem to use ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED, so this should be a safe change. PiperOrigin-RevId: 493322880
huangdarwin committed -
PiperOrigin-RevId: 493300556
kimvde committed -
This is necessary to move video slow motion flattening to the AssetLoader because this step can change the duration. As we use the duration before flattening to calculate the progress, we must also use the position before flattening. PiperOrigin-RevId: 493291990
kimvde committed -
Implements milestone 1.4.1 of the [overlays implementation plan](https://docs.google.com/document/d/1EcP2GN8k8N74hHZyD0KTqm9oQo5-W1dZMqIVyqVGtlo/edit#bookmark=id.76uzcie1dg9d) PiperOrigin-RevId: 493291813
tofunmi committed -
Implements milestone 1.3 of the [overlays implementation plan](https://docs.google.com/document/d/1EcP2GN8k8N74hHZyD0KTqm9oQo5-W1dZMqIVyqVGtlo/edit#bookmark=id.76uzcie1dg9d) PiperOrigin-RevId: 493290147
tofunmi committed -
Implements milestone 1.2 of the [overlays implementation plan](https://docs.google.com/document/d/1EcP2GN8k8N74hHZyD0KTqm9oQo5-W1dZMqIVyqVGtlo/edit#bookmark=id.76uzcie1dg9d) PiperOrigin-RevId: 493282868
tofunmi committed -
PiperOrigin-RevId: 493281221
claincly committed -
Fix some other link titles and destinations spotted along the way. #minor-release PiperOrigin-RevId: 493276172
ibaker committed -
These terms are easier to understand, and make sense in the context of MatrixTextureProcessor now that a MatrixTextureProcessor may have a different input and output transfer. PiperOrigin-RevId: 493265980
huangdarwin committed -
PiperOrigin-RevId: 493260798
kimvde committed -
Modify FrameProcessor and MatrixTextureProcessor interfaces to support different input and output color transfers. Does not implement conversion between color ranges (ex. HDR and SDR), but should allow for conversion between color transfers of the same color range (ex. HLG and PQ). This supports in-app tone mapping, where we need a single FrameProcessor to input HDR color transfers (ex. HLG/PQ) and output SDR (ex. gamma2.2). This also supports previewing, where we need a single FrameProcessor to be able to input HLG and output PQ. Manually tested by confirming colors still look right on SDR and HDR videos with a rotation and color affect applied. PiperOrigin-RevId: 493108678
huangdarwin committed -
By putting Listener as the last argument. PiperOrigin-RevId: 493100906
claincly committed -
PiperOrigin-RevId: 493040714
kimvde committed -
From this CL on, FrameProcessor listeners will be invoked from an Executor that is passed in when creating the FrameProcessor. GlTextureProcessor needs to invoke the ErrorListener on the said Executor too. PiperOrigin-RevId: 493018583
claincly committed -
PiperOrigin-RevId: 493001630
samrobinson committed -
Adds a modified version of sample.mp4 to the list, which has no audio. PiperOrigin-RevId: 492993918
samrobinson committed -
PiperOrigin-RevId: 492579961
Googler committed -
These have the same value (`-1`), and basically the same meaning (offset in an array/list/file/byte stream/etc), but 'position' is an overloaded term in a media playback library, and there's a risk people assume that methods like `Player.getCurrentPosition()` may return `C.POSITION_UNSET`, when in fact unset media times (whether duration or position) are always represented by `C.TIME_UNSET` which is a) a `long` (not `int`) and b) a different underlying value. (aside: `getCurrentPosition()` never returns an unset value, but it's a good example of the ambiguity of the word 'position' between 'byte offset' and 'media timestamp'.) PiperOrigin-RevId: 492493102
ibaker committed -
The callback is currently triggered on the ExoPlayer playback thread instead of the app thread that added the listener. PiperOrigin-RevId: 492474405
tonihei committed -
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
ibaker committed -
Discovered while investigating Issue: google/ExoPlayer#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: 492464180ibaker committed -
PiperOrigin-RevId: 492443147
michaelkatz committed -
This is necessary to move video decoding to the AssetLoader. Otherwise, if the decoder max pending frame count is reached, the AssetLoader will stop queuing frames to the pipeline, and process data will not be called anymore. PiperOrigin-RevId: 492392621
kimvde committed -
PiperOrigin-RevId: 492195931
samrobinson committed -
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
ibaker committed -
PiperOrigin-RevId: 492164739
Ian Baker committed -
PiperOrigin-RevId: 492160193
samrobinson committed -
PiperOrigin-RevId: 492154544
samrobinson committed -
Add required import for androidx.window.java.layout.WindowInfoTrackerCallbackAdapter PiperOrigin-RevId: 492131661
kimvde committed -
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
tonihei committed -
This helps to denote what type of content or folder the metadata describes. PiperOrigin-RevId: 492123690
tonihei committed -
PiperOrigin-RevId: 492023573
claincly committed -
PiperOrigin-RevId: 492003800
rohks committed
-