- 06 Dec, 2021 1 commit
-
-
Previously, transformation_matrix was incorrectly applied to texture sampling coordinates, which led to transformations seemingly moving in the opposite position, and an undesirable GL_CLAMP_TO_EDGE behavior when sampling outside the edge of the texture. PiperOrigin-RevId: 413653360
huangdarwin committed
-
- 02 Dec, 2021 13 commits
-
-
Allowing duplicate groups caused some other code working with the array to use reference equality comparison. This is error-prone, easily forgotten (e.g. when using the TrackGroups in a map) and causes bugs when TrackGroups are serialized to disk or to another process. All TrackGroups created by ExoPlayer are already unique and custom code creating TrackGroupArrays with identical groups can easily distringuish them by adding an id to each group. Issue: google/ExoPlayer#9718 PiperOrigin-RevId: 413617005
tonihei committed -
It seems fine to remove the documentation about the WebM case now we are only supporting unfragmented MP4, so that new users coming to this API aren't confused about how to set the container MIME type. PiperOrigin-RevId: 413611472
andrewlewis committed -
This allows to give TrackGroups an identifier. The underlying goal is to provide a way to make otherwise identical TrackGroups distinguishable. Also set this id in all internal sources that may produce identical TrackGroups in certain edge cases. Issue: google/ExoPlayer#9718 PiperOrigin-RevId: 413430719
tonihei committed -
Allows a transformation matrix to be input into Transformer, to apply vertex transformations like cropping, rotation, and other transformations built into android.graphics.Matrix. Not building out into a VertexTransformation class yet, as that class structure wouldn't make sense until we can modify resolution, per TODOs. PiperOrigin-RevId: 413384409
huangdarwin committed -
This will remove the need to implement compat code handling very old API versions where some symbols are not available, and it reduces the burden of dealing with media framework issues around concurrent codec usage that are worse on older API versions. Top apps that we've surveyed as potential users for transformer library features are using API 21 or later. PiperOrigin-RevId: 413341540
andrewlewis committed -
PiperOrigin-RevId: 413188534
olly committed -
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
hschlueter committed -
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
andrewlewis committed -
https://github.com/google/ExoPlayer/commit/f790d105b76cb92ac31cf0ab6c9557a41b4bc15b
*** 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
ibaker committed -
PiperOrigin-RevId: 412901581
samrobinson committed -
PiperOrigin-RevId: 412856100
samrobinson committed -
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
tonihei committed -
When the input is not a slow motion video, then flattening should do nothing, so there is no need to re-encode audio. PiperOrigin-RevId: 412443097
hschlueter committed
-
- 26 Nov, 2021 26 commits
-
-
PiperOrigin-RevId: 412438389
samrobinson committed -
Use @VisibleForTesting and add some comments for GL code. Refactoring change only. No functional changes intended PiperOrigin-RevId: 412428196
huangdarwin committed -
Issue: google/ExoPlayer#9719 #minor-release PiperOrigin-RevId: 412424558
kimvde committed -
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
huangdarwin committed -
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
tonihei committed -
PiperOrigin-RevId: 412286692
kimvde committed -
Issue: google/ExoPlayer#9727 #minor-release PiperOrigin-RevId: 412266397
ibaker committed -
PiperOrigin-RevId: 412251020
samrobinson committed -
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
tonihei committed -
- 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
kimvde committed -
We need the filename of the output videos to be predictable, because MobileHarness requires the exact filename to pull the file. PiperOrigin-RevId: 412092347
samrobinson committed -
Deprecates setContext() and moves the required Context arg into the constructor. This way, the parameter can later be final and non-null, per the comment at: http://go/https://github.com/google/ExoPlayer/commit/ecb47ba5647a7622fc73c09ac37f4e8b3b450cec/depot/google3/third_party/java_src/android_libs/media/libraries/transformer/src/main/java/androidx/media3/transformer/TranscodingTransformer.java?left=s19&right=r12#97L Also, fixes setOutputMimeType_unsupportedMimeType_throws by providing a context in the builder, and updating the FrameworkMuxer#supportsOutputMimeType to catch IllegalArgumentExceptions thrown by FrameworkMuxer#mimeTypeToMuxerOutputFormat. PiperOrigin-RevId: 412053564
huangdarwin committed -
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
samrobinson committed -
This change moves methods that are the same in `TransformerAudioRenderer` and `TransformerVideoRenderer` to `TransformerBaseRenderer`. PiperOrigin-RevId: 411758928
hschlueter committed -
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
tonihei committed -
PiperOrigin-RevId: 411751425
kimvde committed -
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
bachinger committed -
PiperOrigin-RevId: 411657479
bachinger committed -
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
bachinger committed -
Issue: google/ExoPlayer#9710 PiperOrigin-RevId: 411568601
tonihei committed -
Test failure message now also reports the number of different sizes. PiperOrigin-RevId: 411529648
samrobinson committed -
PiperOrigin-RevId: 411526089
samrobinson committed -
After removing the deprecated call to player.stop(/* reset= */ true) and instead using two calls to the player, overridding stop in a ForwardingPlayer does not help to avoid clearing the player. To remove the deprecation we need an option so that users who want not to clear the player have a way to do so. PiperOrigin-RevId: 411518090
bachinger committed -
PiperOrigin-RevId: 411517319
tonihei committed -
Document that apps should retain `GlUtil.Program` while the program is in use, and keep a reference to attributes/uniforms within the program to make sure they don't get GC'd causing any allocated buffers passed to GL to become invalid. Tested manually by running gldemo and transformer. PiperOrigin-RevId: 411516894
andrewlewis committed -
This should have been done in https://github.com/google/ExoPlayer/commit/098c3a010edb2461b65496b1229bd08b14b0f0d6 PiperOrigin-RevId: 411073049
ibaker committed
-