Sometimes the empty end of stream buffer has a non-zero
data limit. Calling flip first, resets the limit to the
position which is zero in these cases.
PiperOrigin-RevId: 413156455
The test extracts and decodes the first video frame in the test media, renders it to the frame editor's input surface and then processes data. It then reads back the output from the frame editor, converts it to a bitmap and then compares that with a 'golden' bitmap (which is just the same as the test media's first video frame).
PiperOrigin-RevId: 413131811
*** Original commit ***
Remove usage of @ForOverride.
Fixes the gradle compilation failures.
Gradle dependencies need revising if we want to be using this, as
checkerframework is ahead of their latest version, such that we
can't compile.
***
PiperOrigin-RevId: 412901827
Currently we prefer technical preferences set in the Parameters over
content preferences implied by the media. It proably makes more
sense in the opposite order to avoid the situation where a
non-default track (e.g. commentary) is selected just because it
better matches some technical criteria.
Also add comments explaining the track selection logic stages.
PiperOrigin-RevId: 412840962
This is already called in GlUtil.Program().
Tested by confirming that the demo-gl target still runs as expected.
Refactoring change only. No intended functional changes.
PiperOrigin-RevId: 412308564
And also tweak existing role flag logic to strictly prefer perfect
matches over partial matches.
Caveat: Video role flags only supported for fixed track selections
(same issue as Issue: google/ExoPlayer#9519).
Issue: google/ExoPlayer#9402
PiperOrigin-RevId: 412292835
This allows to check if the media metrics service is available outside
the actual constructor and to fail gracefully if it is missing.
PiperOrigin-RevId: 412232425
- This format is passed to the PassthroughPipeline, which doesn't use
any decoder.
- In most other cases where it is used, it is not relevant that this
format will be or has been passed to the decoder. What's relevant is
that it is the format of the input.
PiperOrigin-RevId: 412093371
We need the filename of the output videos to be predictable, because
MobileHarness requires the exact filename to pull the file.
PiperOrigin-RevId: 412092347
Fixes the gradle compilation failures.
Gradle dependencies need revising if we want to be using this, as
checkerframework is ahead of their latest version, such that we
can't compile.
PiperOrigin-RevId: 412004021
This change moves methods that are the same in
`TransformerAudioRenderer` and `TransformerVideoRenderer` to
`TransformerBaseRenderer`.
PiperOrigin-RevId: 411758928
This inheritance is really confusing because ExoPlayerImpl is not
a full Player interface implementation. It also claims to be an
ExoPlayer implementation in the Javadoc which isn't true in its
current state.
Removing the inheritance also allows to clean up some unused methods.
PiperOrigin-RevId: 411756963
This is documented on the setter already, but it seems to make sense to do this in the constructor as well for clarity.
Issue: google/ExoPlayer#9550
PiperOrigin-RevId: 411675700
Before this change ExpPlayerImplInternal dropped a change of the playing period when a change in the timeline occurred that actually changed the playing period but we don't want to update the period queue. This logic also dropped the update of a skipped server side inserted preroll ad for which we want the periodQueue to 'seek' to the stream position after the preroll ad and trigger a SKIP discontinuity.
This change now introduces an exception so that a skipped SSI ad is still causing an update in the period queue which leads to a 'seek' and a discontinuity of type SKIP.
PiperOrigin-RevId: 411607299
This is already called in GlUtil.Program().
Tested by confirming that the demo-gl target still runs as expected.
Refactoring change only. No intended functional changes.
PiperOrigin-RevId: 412308564
And also tweak existing role flag logic to strictly prefer perfect
matches over partial matches.
Caveat: Video role flags only supported for fixed track selections
(same issue as Issue: google/ExoPlayer#9519).
Issue: google/ExoPlayer#9402
PiperOrigin-RevId: 412292835
This allows to check if the media metrics service is available outside
the actual constructor and to fail gracefully if it is missing.
PiperOrigin-RevId: 412232425
- This format is passed to the PassthroughPipeline, which doesn't use
any decoder.
- In most other cases where it is used, it is not relevant that this
format will be or has been passed to the decoder. What's relevant is
that it is the format of the input.
PiperOrigin-RevId: 412093371
We need the filename of the output videos to be predictable, because
MobileHarness requires the exact filename to pull the file.
PiperOrigin-RevId: 412092347
Fixes the gradle compilation failures.
Gradle dependencies need revising if we want to be using this, as
checkerframework is ahead of their latest version, such that we
can't compile.
PiperOrigin-RevId: 412004021
This change moves methods that are the same in
`TransformerAudioRenderer` and `TransformerVideoRenderer` to
`TransformerBaseRenderer`.
PiperOrigin-RevId: 411758928
This inheritance is really confusing because ExoPlayerImpl is not
a full Player interface implementation. It also claims to be an
ExoPlayer implementation in the Javadoc which isn't true in its
current state.
Removing the inheritance also allows to clean up some unused methods.
PiperOrigin-RevId: 411756963
This is documented on the setter already, but it seems to make sense to do this in the constructor as well for clarity.
Issue: google/ExoPlayer#9550
PiperOrigin-RevId: 411675700
Before this change ExpPlayerImplInternal dropped a change of the playing period when a change in the timeline occurred that actually changed the playing period but we don't want to update the period queue. This logic also dropped the update of a skipped server side inserted preroll ad for which we want the periodQueue to 'seek' to the stream position after the preroll ad and trigger a SKIP discontinuity.
This change now introduces an exception so that a skipped SSI ad is still causing an update in the period queue which leads to a 'seek' and a discontinuity of type SKIP.
PiperOrigin-RevId: 411607299