-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
merge google 2 local #1
Commits on Apr 25, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 059c359 - Browse repository at this point
Copy the full SHA 059c359View commit details
Commits on Apr 26, 2022
-
Add 30 second high motion clips to AndroidTestUtil.
30 second clips at higher resolutions are useful for testing encoder behaviour compared to shorter clips. PiperOrigin-RevId: 444505865
Configuration menu - View commit details
-
Copy full SHA for c87d03e - Browse repository at this point
Copy the full SHA c87d03eView commit details -
Add 30 second high motion clips to AndroidTestUtil.
30 second clips at higher resolutions are useful for testing encoder behaviour compared to shorter clips. PiperOrigin-RevId: 444505865
Configuration menu - View commit details
-
Copy full SHA for d88bd14 - Browse repository at this point
Copy the full SHA d88bd14View commit details -
Transformer GL: save actual bitmap before checking pixel diffs.
This allows the actual bitmap to be saved, even if output dimensions are different than expected. Otherwise, differing output dimensions would throw an exception, preventing the bitmap from being saved. PiperOrigin-RevId: 444512210
Configuration menu - View commit details
-
Copy full SHA for 3cf7f58 - Browse repository at this point
Copy the full SHA 3cf7f58View commit details -
Transformer GL: save actual bitmap before checking pixel diffs.
This allows the actual bitmap to be saved, even if output dimensions are different than expected. Otherwise, differing output dimensions would throw an exception, preventing the bitmap from being saved. PiperOrigin-RevId: 444512210
Configuration menu - View commit details
-
Copy full SHA for 877ba22 - Browse repository at this point
Copy the full SHA 877ba22View commit details -
Transformer: remove unused bitmap test option.
Remove unused saveTestBitmapToCacheDirectory throwOnFailure option. #cleanup PiperOrigin-RevId: 444516857
Configuration menu - View commit details
-
Copy full SHA for 22c9b81 - Browse repository at this point
Copy the full SHA 22c9b81View commit details -
Transformer: remove unused bitmap test option.
Remove unused saveTestBitmapToCacheDirectory throwOnFailure option. #cleanup PiperOrigin-RevId: 444516857
Configuration menu - View commit details
-
Copy full SHA for b29d496 - Browse repository at this point
Copy the full SHA b29d496View commit details -
PiperOrigin-RevId: 444530943
Configuration menu - View commit details
-
Copy full SHA for 6708b43 - Browse repository at this point
Copy the full SHA 6708b43View commit details -
Filter media notification actions
The DefaultMediaNotificationProvider checks if a command is available before putting the respective action in the notification. PiperOrigin-RevId: 440114422
Configuration menu - View commit details
-
Copy full SHA for 005882e - Browse repository at this point
Copy the full SHA 005882eView commit details -
Change SSIM transcode MIME type to H264.
The MIME type was set to H265 to force transcoding. Now that we have an encoder factory that forces encoding, switching back to H264 ensures the quality test is conducted on more devices (those don't support H265 can be tested now). However, H265 should be part of the quality test after we have proper mechanism to skip test based on device capability. PiperOrigin-RevId: 440132471
Configuration menu - View commit details
-
Copy full SHA for 7fc699e - Browse repository at this point
Copy the full SHA 7fc699eView commit details -
FrameProcessor: Add setCrop to Presentation.
PiperOrigin-RevId: 440325693
Configuration menu - View commit details
-
Copy full SHA for 187b45b - Browse repository at this point
Copy the full SHA 187b45bView commit details -
Add WorkerThread annotation to FrameProcessorChain helpers.
PiperOrigin-RevId: 440347550
Configuration menu - View commit details
-
Copy full SHA for 1fbaa5c - Browse repository at this point
Copy the full SHA 1fbaa5cView commit details -
Expect PresentationTime Discontinuity During Stream Transitions
PiperOrigin-RevId: 440378974
Configuration menu - View commit details
-
Copy full SHA for e4b0c20 - Browse repository at this point
Copy the full SHA e4b0c20View commit details -
Removing using the test asset that has Mp3 audio track.
The stream with the mp3 track is added because - We only encode to AAC - We only encode when the source track is not AAC Now that we have a way to force encoding, we no longer need the mp3 track. The test asset is kept for later parameterized testing. PiperOrigin-RevId: 440876080
Configuration menu - View commit details
-
Copy full SHA for 9230381 - Browse repository at this point
Copy the full SHA 9230381View commit details -
PiperOrigin-RevId: 440906834
Configuration menu - View commit details
-
Copy full SHA for 7b78548 - Browse repository at this point
Copy the full SHA 7b78548View commit details -
Allow suppression of AssertionError in TransformerAndroidTestRunner.
PiperOrigin-RevId: 440952335
Configuration menu - View commit details
-
Copy full SHA for e4d7e5e - Browse repository at this point
Copy the full SHA e4d7e5eView commit details -
Fix FrameProcessorChain method ordering.
signalEndOfInputStream makes more sense before isEnded and getPendingInputFrameCount is related to registerInputFrame. PiperOrigin-RevId: 441134418
Configuration menu - View commit details
-
Copy full SHA for eea6fc0 - Browse repository at this point
Copy the full SHA eea6fc0View commit details -
Media: Remove unused test images.
PiperOrigin-RevId: 441142050
Configuration menu - View commit details
-
Copy full SHA for 5174bf3 - Browse repository at this point
Copy the full SHA 5174bf3View commit details -
Remove transformer from inputValues json.
Transformer resolves to null when wrapped, this is a debug line that was not removed. PiperOrigin-RevId: 441200790
Configuration menu - View commit details
-
Copy full SHA for 3b21c7e - Browse repository at this point
Copy the full SHA 3b21c7eView commit details -
Make TransformerEndToEndTest constants private.
PiperOrigin-RevId: 441230941
Configuration menu - View commit details
-
Copy full SHA for 3f47c1e - Browse repository at this point
Copy the full SHA 3f47c1eView commit details -
Rename TracksInfo and TrackGroupInfo
1. TracksInfo is renamed to Tracks 2. TracksInfo.TrackGroupInfo is renamed to Tracks.Group PiperOrigin-RevId: 441232373
Configuration menu - View commit details
-
Copy full SHA for 0ad508b - Browse repository at this point
Copy the full SHA 0ad508bView commit details -
FrameProcessor: Add aspect ratio changes to Presentation.
PiperOrigin-RevId: 441250773
Configuration menu - View commit details
-
Copy full SHA for 304d579 - Browse repository at this point
Copy the full SHA 304d579View commit details -
Upgrade compileSdkVersion to 32 (Android 12L)
PiperOrigin-RevId: 441424063
Configuration menu - View commit details
-
Copy full SHA for f4e0339 - Browse repository at this point
Copy the full SHA f4e0339View commit details -
Rename GlFrameProcessor updateProgramAndDraw to drawFrame.
What a minimal implementation should include is now explained in the interface javadoc while the method name reflects what the method does. PiperOrigin-RevId: 441432059
Configuration menu - View commit details
-
Copy full SHA for fe7e330 - Browse repository at this point
Copy the full SHA fe7e330View commit details -
Clarify TransformationRequest setResolution javadoc.
Scaling and rotation using ScaleToFitFrameProcessor may change the the resolution and aspect ratio, so defaulting to the same as the input is no longer accurate. PiperOrigin-RevId: 441463349
Configuration menu - View commit details
-
Copy full SHA for 2ad44a7 - Browse repository at this point
Copy the full SHA 2ad44a7View commit details -
FrameProcessor: Move test bitmaps to a separate directory.
* Group what's now many related test PNGs by moving them to their own directory. * Move bitmap references to files where they're used, as each bitmap is only used once each, except the original bitmap. PiperOrigin-RevId: 441485489
Configuration menu - View commit details
-
Copy full SHA for e077c76 - Browse repository at this point
Copy the full SHA e077c76View commit details -
Tracks.Group/TrackGroup variable naming disambiguation
PiperOrigin-RevId: 441712166
Configuration menu - View commit details
-
Copy full SHA for fbd8273 - Browse repository at this point
Copy the full SHA fbd8273View commit details -
Transformer Demo: Add short test video
Add a very short (1 second) video, so that some manual tests / prototyping, including tests for the start and end of a video, encoder selection, or changes applied to frames, can finish quickly. PiperOrigin-RevId: 441756901
Configuration menu - View commit details
-
Copy full SHA for ef96932 - Browse repository at this point
Copy the full SHA ef96932View commit details -
FrameProcessor: Add checks to ensure width and height are positive.
Negative and zero values should be disallowed. PiperOrigin-RevId: 441757246
Configuration menu - View commit details
-
Copy full SHA for 96b5014 - Browse repository at this point
Copy the full SHA 96b5014View commit details -
Rename
Player.COMMAND_GET_TRACK_INFOS
toCOMMAND_GET_TRACKS
`Player.getCurrentTracksInfo` was renamed to `Player.getCurrentTracks` in 0ad508b. PiperOrigin-RevId: 441825078
Configuration menu - View commit details
-
Copy full SHA for 6c80a82 - Browse repository at this point
Copy the full SHA 6c80a82View commit details -
Add checks for device capability in tests.
PiperOrigin-RevId: 442751310
Configuration menu - View commit details
-
Copy full SHA for 570769a - Browse repository at this point
Copy the full SHA 570769aView commit details -
Block until FrameProcessorChain is released.
This is safer because it will prevent any future problems with creating a new FrameProcessorChain before the previous one has completed its async release. From [eglDestroyContext documentation](https://www.khronos.org/registry/EGL/sdk/docs/man/html/eglDestroyContext.xhtml): "If the EGL rendering context is not current to any thread, eglDestroyContext destroys it immediately." The context isn't current to any thread here because GlUtil calls eglMakeCurrent with EGL_NO_CONTEXT before calling eglDestroyContext. So everthing should be released once the FrameProcessorChain's release task terminates. PiperOrigin-RevId: 442807484
Configuration menu - View commit details
-
Copy full SHA for ba5d570 - Browse repository at this point
Copy the full SHA ba5d570View commit details -
Add context param to GlFrameProcessor initialize().
PiperOrigin-RevId: 442826391
Configuration menu - View commit details
-
Copy full SHA for 7e76f77 - Browse repository at this point
Copy the full SHA 7e76f77View commit details -
FrameProcessor: Improve PresentationFrameProcessor javadocs.
PiperOrigin-RevId: 442835160
Configuration menu - View commit details
-
Copy full SHA for 6138a0b - Browse repository at this point
Copy the full SHA 6138a0bView commit details -
Add 4 different video resolutions for bitrate analysis.
PiperOrigin-RevId: 442844189
Configuration menu - View commit details
-
Copy full SHA for eb72e0a - Browse repository at this point
Copy the full SHA eb72e0aView commit details -
DownloadHelper: propagate errors to callback
When downlading an adaptive asset, if an ExoPlaybackException happens during track selection, the player raises an UnsupportedOperationException which is not handled gracefully and can crash the app main thread. This change catches the error and forwards it to DownloadHelper.Callback.onPrepareError() as an IOException. PiperOrigin-RevId: 443015332
Configuration menu - View commit details
-
Copy full SHA for c199368 - Browse repository at this point
Copy the full SHA c199368View commit details -
Some devices under report their resolution support, like 2144 for 2160 in H265, 1072 for 1080 in H264. This CL only takes care of these two cases, - reporting 1920x1080 is supported when the device reports 1920x1072, and - reporting 3840x2160 is supported when the device reports 3840x2144 PiperOrigin-RevId: 443095042
Configuration menu - View commit details
-
Copy full SHA for 3459197 - Browse repository at this point
Copy the full SHA 3459197View commit details -
Don't use API 26 SurfaceTexture constructor in frame processor tests.
After this change the test will use EGL_NO_SURFACE or a pixel buffer surface if using no surface is not supported. PiperOrigin-RevId: 443113794
Configuration menu - View commit details
-
Copy full SHA for e996d48 - Browse repository at this point
Copy the full SHA e996d48View commit details -
Align MediaCodec and Decoder AudioRenderer onDisabled logic.
PiperOrigin-RevId: 443156130
Configuration menu - View commit details
-
Copy full SHA for 8c07f1e - Browse repository at this point
Copy the full SHA 8c07f1eView commit details -
Expand Samsung/1+ workaround to API 31 + 32
The issue with decoding getting stuck is still reproducible on `samsung/beyond1lteeea/beyond1:12/SP1A.210812.016/G973FXXUEGULB:user/release-keys`. PiperOrigin-RevId: 443368546
Configuration menu - View commit details
-
Copy full SHA for 3867f8e - Browse repository at this point
Copy the full SHA 3867f8eView commit details -
Fix Basic authentication header
Issue: #9544 The header must include the word "Basic", but the word is missing. #minor-release PiperOrigin-RevId: 443386880
Configuration menu - View commit details
-
Copy full SHA for 084dfc0 - Browse repository at this point
Copy the full SHA 084dfc0View commit details -
FrameProcessor: Create EncoderCompatibilityFrameProcessor.
Split rotationDegrees changes to EncoderCompatibilityFrameProcessor, a new FrameProcessor. This removes automatic rotationDegrees adjustments from Presentation, which allows Presentation to be used for changes before the end of a FrameProcessorChain pipeline. PiperOrigin-RevId: 443387226
Configuration menu - View commit details
-
Copy full SHA for 20dac7c - Browse repository at this point
Copy the full SHA 20dac7cView commit details -
Update the playback speed details in the live streaming dev guide
Configuration menu - View commit details
-
Copy full SHA for f08dea2 - Browse repository at this point
Copy the full SHA f08dea2View commit details -
PiperOrigin-RevId: 443620931
Configuration menu - View commit details
-
Copy full SHA for 3abc547 - Browse repository at this point
Copy the full SHA 3abc547View commit details -
Fix encoder configuration before API 25
Float I-frame intervals are only supported from API 25 onwards (see https://developer.android.com/reference/android/media/MediaFormat#KEY_I_FRAME_INTERVAL). Setting a null value for profile/level can cause a native crash when configuring the decoder. PiperOrigin-RevId: 443647924
Configuration menu - View commit details
-
Copy full SHA for 5a3ed34 - Browse repository at this point
Copy the full SHA 5a3ed34View commit details -
Add an SSIM test with 360p input
This test should run on all devices from API 21 (the media uses Baseline profile level 3.0 H.264) to give us coverage of the full pipeline (forcing re-encoding) and SSIM calculation on all devices. PiperOrigin-RevId: 443650002
Configuration menu - View commit details
-
Copy full SHA for 6443d5b - Browse repository at this point
Copy the full SHA 6443d5bView commit details -
Catch unchecked exception in RtspSessionTiming parsing.
Issue: #10165 #minor-release PiperOrigin-RevId: 443653894
Configuration menu - View commit details
-
Copy full SHA for 85bd080 - Browse repository at this point
Copy the full SHA 85bd080View commit details -
Transformer GL: Avoid no-op ScaleToFit / Presentation FrameProcessors
Avoid no-op FrameProcessors in VideoTranscodingSamplePipeline, to avoid creating resources for and executing GL for a no-op vertex+fragment shader. EncoderCompatibilityFrameProcessor will still always be exercised. PiperOrigin-RevId: 443675833
Configuration menu - View commit details
-
Copy full SHA for 4f272cc - Browse repository at this point
Copy the full SHA 4f272ccView commit details -
Use last frame processor to draw on debug surface view.
The last frame processor could use a different drawing command than a four vertex triangle strip. So we need call its drawing method again instead of assuming the shape. PiperOrigin-RevId: 444217274
Configuration menu - View commit details
-
Copy full SHA for 928a69d - Browse repository at this point
Copy the full SHA 928a69dView commit details -
Fix warning about potential integer overflow in DefaultAudioSink
PiperOrigin-RevId: 444221415
Configuration menu - View commit details
-
Copy full SHA for 40c27c4 - Browse repository at this point
Copy the full SHA 40c27c4View commit details -
FrameProcessor: Avoid early rounding in Presentation output dimensions.
PiperOrigin-RevId: 444253425
Configuration menu - View commit details
-
Copy full SHA for 0760520 - Browse repository at this point
Copy the full SHA 0760520View commit details -
Keep AudioTrack on flush as default
PiperOrigin-RevId: 444264961
Configuration menu - View commit details
-
Copy full SHA for 8da6c35 - Browse repository at this point
Copy the full SHA 8da6c35View commit details -
*** Original commit *** Keep AudioTrack on flush as default *** PiperOrigin-RevId: 444327724
Configuration menu - View commit details
-
Copy full SHA for d536fe3 - Browse repository at this point
Copy the full SHA d536fe3View commit details -
Transformer GL: Add support for pixelWidthHeightRatio.
To ensure frame processor operations operate on square pixels, make the frame taller or wider for non-square input pixels. In addition to automated tests, this was tested by changing the inputFormat.pixelWidthHeightRatio in the TransformerVideoRenderer. PiperOrigin-RevId: 444553517
Configuration menu - View commit details
-
Copy full SHA for 1eadde5 - Browse repository at this point
Copy the full SHA 1eadde5View commit details -
Merge pull request #10214 from cedricxperi:dev-v2
PiperOrigin-RevId: 444585404
Configuration menu - View commit details
-
Copy full SHA for c25a3af - Browse repository at this point
Copy the full SHA c25a3afView commit details
Commits on May 3, 2022
-
*** Original commit *** Upgrade Robolectric dependency to 4.8 *** PiperOrigin-RevId: 446175705
Configuration menu - View commit details
-
Copy full SHA for c517d9a - Browse repository at this point
Copy the full SHA c517d9aView commit details -
PiperOrigin-RevId: 446181877
Configuration menu - View commit details
-
Copy full SHA for 02d847f - Browse repository at this point
Copy the full SHA 02d847fView commit details -
Separate matrix effect specification and implementation.
This change splits AdvancedFrameProcessor into 4 files: - MatrixTransformationFrameProcessor for the GlFrameProcessor implementation - MatrixTransformation and GlMatrixTransformation for the GlEffect specification - MatrixUtils for the static matrix helpers PiperOrigin-RevId: 446236384
Configuration menu - View commit details
-
Copy full SHA for 0bba5c6 - Browse repository at this point
Copy the full SHA 0bba5c6View commit details -
Some APIs from Android 12L were used either via reflection or constants values were hard-coded. We can now use these APIs directly since we upgraded the compile SDK version to 32. PiperOrigin-RevId: 446167543
Configuration menu - View commit details
-
Copy full SHA for 3830d02 - Browse repository at this point
Copy the full SHA 3830d02View commit details
Commits on May 4, 2022
-
Migrate usages of the deprecated TrackSelectionParameters.CREATOR
PiperOrigin-RevId: 446400192
Configuration menu - View commit details
-
Copy full SHA for 8bb11f3 - Browse repository at this point
Copy the full SHA 8bb11f3View commit details -
Upgrade Robolectric dependency to 4.8.1
PiperOrigin-RevId: 446423017
Configuration menu - View commit details
-
Copy full SHA for dec1d37 - Browse repository at this point
Copy the full SHA dec1d37View commit details -
Add frame processor based on MediaPipe to demo
PiperOrigin-RevId: 446432695
Configuration menu - View commit details
-
Copy full SHA for ee3a183 - Browse repository at this point
Copy the full SHA ee3a183View commit details -
The TrackSelector is released when the player is released. The TrackSelector can be reused if TrackSelector.init() is called again. PiperOrigin-RevId: 446439717
Configuration menu - View commit details
-
Copy full SHA for e62338e - Browse repository at this point
Copy the full SHA e62338eView commit details -
GL: Update exoplayer to use bindTexture.
Refactoring change only. PiperOrigin-RevId: 446475708
Configuration menu - View commit details
-
Copy full SHA for 3730c1e - Browse repository at this point
Copy the full SHA 3730c1eView commit details -
Use MatrixTransformation instead of wrapping its GlFrameProcssor.
ScaleToFitFrameProcessor, PresentationFrameProcessor, and EncoderCompatibilityFrameProcessor now each implement MatrixTransformation instead of wrapping MatrixTransformationFrameProcessor. PiperOrigin-RevId: 446480286
Configuration menu - View commit details
-
Copy full SHA for 3701e80 - Browse repository at this point
Copy the full SHA 3701e80View commit details
Commits on May 5, 2022
-
Workaround for OkHttp Interrupt issues.
Relates to square/okhttp#3146. This was from androidx/media#71. There is a draft PR https://github.com/square/okhttp/pull/7185/files which documents OkHttp's ideal handling of cancellation including interrupts. But a few key points 1) This is a target state, and OkHttp does not currently handle interrupts correctly. In the past this has been identified, and the advice is to avoid interrupts on Http threads, see discussion on square/okhttp#1902. Also an attempt at a fix here square/okhttp#7023 which wasn't in a form to land. 2) Even with this fixed, it is likely to never be optimal, because of OkHttp sharing a socket connection for multiple inflight requests. From square/okhttp#7185 ``` Thread.interrupt() is Clumsy ---------------------------- `Thread.interrupt()` is Java's built-in mechanism to cancel an in-flight `Thread`, regardless of what work it's currently performing. We recommend against using `Thread.interrupt()` with OkHttp because it may disrupt shared resources including HTTP/2 connections and cache files. In particular, calling `Thread.interrupt()` may cause unrelated threads' call to fail with an `IOException`. ``` This PR leaves the Loader/DataSource thread parked on a countdown latch, while this may seem wasteful and an additional context switch. However in practice the response isn't returned until the Http2Connection and Http2Reader have a response from the server and these means effectively parking in a `wait()` statement here https://github.com/square/okhttp/blob/9e039e94123defbfd5f11dc64ae146c46b7230eb/okhttp/src/jvmMain/kotlin/okhttp3/internal/http2/Http2Stream.kt#L140 PiperOrigin-RevId: 446652468
Configuration menu - View commit details
-
Copy full SHA for 0f502b2 - Browse repository at this point
Copy the full SHA 0f502b2View commit details -
Remove redundant attribute from matrix transformation vertex shader.
The texture coordinates can be derived from the frame coordinates. PiperOrigin-RevId: 446770538
Configuration menu - View commit details
-
Copy full SHA for ff1305c - Browse repository at this point
Copy the full SHA ff1305cView commit details
Commits on May 6, 2022
-
Remove ExoPlayer's RawCcExtractor
RawCC is a Google-internal subtitle format, and is no longer used with ExoPlayer. PiperOrigin-RevId: 446950691
Configuration menu - View commit details
-
Copy full SHA for a0ac261 - Browse repository at this point
Copy the full SHA a0ac261View commit details -
Transformer GL: Remove obsolete TODOs.
We won't try to provide/rethrow helpful error messages that are already provided by GL, as this sort of task would expand into writing a GL verifier. A Gl verifier is unnecessarily complex for minimal payoff, especially as Apps expected to read GL error messages would mostly be those writing custom GlFrameProcessors, who should be already be familiar with reading GL error messages anyways. PiperOrigin-RevId: 446950837
Configuration menu - View commit details
-
Copy full SHA for 7cf5964 - Browse repository at this point
Copy the full SHA 7cf5964View commit details -
Disable transcoding when reading content URIs
Before this change, we list the formats for which we don't want transcoding. This change disables transcoding altogether. This was tested by checking that transcoding takes place on a short camera recording only when the added flag is not present (and AndroidManifest does not declare support for HEVC). PiperOrigin-RevId: 446986580
Configuration menu - View commit details
-
Copy full SHA for 521e067 - Browse repository at this point
Copy the full SHA 521e067View commit details -
Match the suggested bitrate to the actual Kush Gauge formula.
As defined in Kush Amerasinghe's paper 'H.264 For the rest of us'. PiperOrigin-RevId: 446988272
Configuration menu - View commit details
-
Copy full SHA for 5df6a58 - Browse repository at this point
Copy the full SHA 5df6a58View commit details
Commits on May 9, 2022
-
Fix review comment in RTPVp9Reader
Change-Id: I7e2d36eb3d69fb09e0d0bbc283d41165c69d4076
Configuration menu - View commit details
-
Copy full SHA for a1cff9a - Browse repository at this point
Copy the full SHA a1cff9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 432ae9d - Browse repository at this point
Copy the full SHA 432ae9dView commit details -
Merge pull request #10150 from egor-n:dev-v2-8435-outlinecolour
PiperOrigin-RevId: 444787307
Configuration menu - View commit details
-
Copy full SHA for a8c0a1b - Browse repository at this point
Copy the full SHA a8c0a1bView commit details -
Transformer Demo: Add video with pixelWidthHeightRatio != 1.
This can allow apps to test and demonstrate support for videos with pixelWidthHeightRatio != 1. PiperOrigin-RevId: 444815182
Configuration menu - View commit details
-
Copy full SHA for a5adc8d - Browse repository at this point
Copy the full SHA a5adc8dView commit details -
Merge pull request #9967 from jruesga:cea708-handle-multiple-service-…
…blocks PiperOrigin-RevId: 444816821
Configuration menu - View commit details
-
Copy full SHA for 925a907 - Browse repository at this point
Copy the full SHA 925a907View commit details -
Clean up
Util.inferContentType
methodsThis fixes some small niggles: 1. `inferContentType(String)` is documented to take a path, but in the tests we're passing full URIs. 2. A `String` parameter is usually a path, but also a MIME type or an extension. In the new methods, the meaning of a `String` parameter is always clear from the name of the method. 3. `inferContentType(String)` is always passed an extension in 'production' code (which has to be manually prefixed with a dot). 4. `inferContentType(Uri, @nullable String)` always ignores the Uri if the String is non-null. IMO this logic is clearer to a reader if it's just in-lined at the call-site. These methods are used from the demo apps, so will be part of the stable API. PiperOrigin-RevId: 444826053
Configuration menu - View commit details
-
Copy full SHA for 754eb15 - Browse repository at this point
Copy the full SHA 754eb15View commit details -
Ignore mandatory SDP fields as ExoPlayer doesn't use them
Issue: #10049 PiperOrigin-RevId: 444833508
Configuration menu - View commit details
-
Copy full SHA for 5d1af64 - Browse repository at this point
Copy the full SHA 5d1af64View commit details -
Fix calculations that may lose precision compared to their target type
PiperOrigin-RevId: 444861268
Configuration menu - View commit details
-
Copy full SHA for 91b0d55 - Browse repository at this point
Copy the full SHA 91b0d55View commit details -
PiperOrigin-RevId: 444874326
Configuration menu - View commit details
-
Copy full SHA for 4c2ea75 - Browse repository at this point
Copy the full SHA 4c2ea75View commit details -
Fix PeriodicVignetteFrameProcessor javadoc.
The parameter was removed in a previous CL but wasn't removed from the javadoc yet. PiperOrigin-RevId: 444879675
Configuration menu - View commit details
-
Copy full SHA for 3874245 - Browse repository at this point
Copy the full SHA 3874245View commit details -
Reading AV1 initialization data.
We add an entire class like we do for parsing other codec initialization formats; it's currently not doing any parsing though (... initialization data is really simple for AV1 though: just the entire contents of the box). For testing, we add the sample file, having been re-encoded with ffmpeg (and we also happen to have another av1 file, too). PiperOrigin-RevId: 444890282
Configuration menu - View commit details
-
Copy full SHA for 825976c - Browse repository at this point
Copy the full SHA 825976cView commit details -
Add format when building a URI for an IMA SSAI media item
PiperOrigin-RevId: 445098397
Configuration menu - View commit details
-
Copy full SHA for ebcd3b0 - Browse repository at this point
Copy the full SHA ebcd3b0View commit details -
Add device capability based test skipping.
Change test name prefix from `transform` to `transcode` for consistency. PiperOrigin-RevId: 445106224
Configuration menu - View commit details
-
Copy full SHA for a161482 - Browse repository at this point
Copy the full SHA a161482View commit details -
Transformer: Restrict frame buffer size for all omx decoders API >= 29.
PiperOrigin-RevId: 445119411
Configuration menu - View commit details
-
Copy full SHA for 404192e - Browse repository at this point
Copy the full SHA 404192eView commit details -
Change video asset used in TranscodeQualityTest
The old video has a `irregular' resolution of 1080x720. Change to a 1920x1080 video. PiperOrigin-RevId: 445124065
Configuration menu - View commit details
-
Copy full SHA for be634bf - Browse repository at this point
Copy the full SHA be634bfView commit details -
Remove unneeded warning suppression from FrameworkMediaDrm
PiperOrigin-RevId: 445162900
Configuration menu - View commit details
-
Copy full SHA for d711405 - Browse repository at this point
Copy the full SHA d711405View commit details -
* Add a /* paramName= */ comment * Remove an unnecessary comma. * Remove extra "internal " for a b/### link PiperOrigin-RevId: 445169649
Configuration menu - View commit details
-
Copy full SHA for c67d691 - Browse repository at this point
Copy the full SHA c67d691View commit details -
Upgrade Robolectric dependency to 4.8
PiperOrigin-RevId: 445196313
Configuration menu - View commit details
-
Copy full SHA for 8da8c5e - Browse repository at this point
Copy the full SHA 8da8c5eView commit details -
Fix Util.inferContentTypeForExtension to handle .ism (smooth streaming)
This method was introduced in 754eb15 as a replacement for Util.inferContentType(String) but it incorrectly didn't return TYPE_SS when passed "ism" or "isml". PiperOrigin-RevId: 445217167
Configuration menu - View commit details
-
Copy full SHA for bec9431 - Browse repository at this point
Copy the full SHA bec9431View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5ad28a - Browse repository at this point
Copy the full SHA c5ad28aView commit details -
Rename CONTENT_TYPE_ @AudioContentType values to AUDIO_CONTENT_TYPE_*
This is consistent with the IntDef name, and frees up the CONTENT_TYPE_ prefix for the @ContentType values (which are currently just TYPE_*, and therefore ambiguous with lots of other 'type' values in C). PiperOrigin-RevId: 445356476
Configuration menu - View commit details
-
Copy full SHA for 07d08ba - Browse repository at this point
Copy the full SHA 07d08baView commit details -
Configuration menu - View commit details
-
Copy full SHA for a433163 - Browse repository at this point
Copy the full SHA a433163View commit details -
Add copies of PlayerControlView's public listeners to PlayerView
Developers are expected to (eventually) only use methods on PlayerView (and not PlayerControlView) to interact with the UI controller. PiperOrigin-RevId: 445361488
Configuration menu - View commit details
-
Copy full SHA for a840f97 - Browse repository at this point
Copy the full SHA a840f97View commit details -
Return recommended output size for FrameProcessorChain.
Also add warning for what can happen if this is ignored. Previously the return value was overridden by setOutputSurface, now setOutputSurface only overrides the values using internally. PiperOrigin-RevId: 445377036
Configuration menu - View commit details
-
Copy full SHA for 75c72f3 - Browse repository at this point
Copy the full SHA 75c72f3View commit details -
Use cronet for DRM requests in the main demo app
This ensures that both content and licenses are requested using the same HTTP stack. #minor-release PiperOrigin-RevId: 445378940
Configuration menu - View commit details
-
Copy full SHA for b0df946 - Browse repository at this point
Copy the full SHA b0df946View commit details -
Allow stable API users to use DebugTextViewHelper
This is used from the main demo app. PiperOrigin-RevId: 445420580
Configuration menu - View commit details
-
Copy full SHA for b9a8da4 - Browse repository at this point
Copy the full SHA b9a8da4View commit details -
Add MIDI mime types to decoder_midi and api.txt
PiperOrigin-RevId: 445445952
Configuration menu - View commit details
-
Copy full SHA for ad25c2a - Browse repository at this point
Copy the full SHA ad25c2aView commit details -
Add AV1 support to the getCodecMaxInputSize function.
PiperOrigin-RevId: 445973162
Configuration menu - View commit details
-
Copy full SHA for 2283b94 - Browse repository at this point
Copy the full SHA 2283b94View commit details -
Introduce GlEffect interface for effect specification.
PiperOrigin-RevId: 446143537
Configuration menu - View commit details
-
Copy full SHA for 76627d7 - Browse repository at this point
Copy the full SHA 76627d7View commit details -
Migrate usages from C.TYPE_* to C.CONTENT_TYPE_*
PiperOrigin-RevId: 446156308
Configuration menu - View commit details
-
Copy full SHA for 1809a0b - Browse repository at this point
Copy the full SHA 1809a0bView commit details -
Allow stable API users to bundle/unbundle TrackSelectionParameters
It's reasonable to serialize this type to support backgrounding use-cases, as demonstrated by the main demo app. PiperOrigin-RevId: 446161300
Configuration menu - View commit details
-
Copy full SHA for 33b049c - Browse repository at this point
Copy the full SHA 33b049cView commit details -
Opt some more bits of the main demo app into the unstable API
PiperOrigin-RevId: 446161354
Configuration menu - View commit details
-
Copy full SHA for eb1dc50 - Browse repository at this point
Copy the full SHA eb1dc50View commit details -
Don't implement Player.Listener from SubtitleView
We never register SubtitleView as a Player.Listener directly, it's always done via PlayerView. PiperOrigin-RevId: 447467037
Configuration menu - View commit details
-
Copy full SHA for 06d73e9 - Browse repository at this point
Copy the full SHA 06d73e9View commit details -
Add listener for FrameProcessingExceptions.
This listener replaces FrameProcessorChain#getAndRethrowBackgroundExceptions. The listener uses a new exception type FrameProcessingException separate from TransformationException as the frame processing components will be made reusable outside of transformer soon. PiperOrigin-RevId: 447455746
Configuration menu - View commit details
-
Copy full SHA for f08fdf6 - Browse repository at this point
Copy the full SHA f08fdf6View commit details
Commits on May 10, 2022
-
Expose the codec name to the analysis files.
PiperOrigin-RevId: 447724152
Configuration menu - View commit details
-
Copy full SHA for 6ac1306 - Browse repository at this point
Copy the full SHA 6ac1306View commit details -
Fix GlUtil vector size constant name.
This constant is used for https://docs.gl/es2/glVertexAttribPointer which takes the number of components per generic vertex attribute (meaning the size of the individual coordinate vectors here) not the number of attributes (the number of vertices that the old constant name referred to). PiperOrigin-RevId: 447427241
Configuration menu - View commit details
-
Copy full SHA for e89189e - Browse repository at this point
Copy the full SHA e89189eView commit details
Commits on May 23, 2022
-
Add
DefaultMediaSourceFactory.setDataSourceFactory
Also add this to the stable API instead of the constructor that takes `DataSource.Factory`. PiperOrigin-RevId: 450414119
Configuration menu - View commit details
-
Copy full SHA for e39a324 - Browse repository at this point
Copy the full SHA e39a324View commit details -
Skip performance tests if device is not capable.
PiperOrigin-RevId: 450427828
Configuration menu - View commit details
-
Copy full SHA for ffb75d7 - Browse repository at this point
Copy the full SHA ffb75d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96f35bb - Browse repository at this point
Copy the full SHA 96f35bbView commit details -
Do not setOffloadEndOfStream if AudioTrack is not playing
AudioTrack.setOffloadEndOfStream should be called after a track has been buffered. Additionally, the AudioTrack must be playing. It has been observed that for very short media (<1s), the AudioTrack might not have started immediately after the read that buffered the audio. In such a situation, calling AudioTrack.setOffloadEndOfStream throws and playback fails. Avoid this failure by checking that the AudioTrack is playing before calling setOffloadEndOfStream. This means that very short gapless media will not be gapless, this was deemed acceptable given that such very short media should be very rare in offload. PiperOrigin-RevId: 450431146
Configuration menu - View commit details
-
Copy full SHA for 3c9b0b9 - Browse repository at this point
Copy the full SHA 3c9b0b9View commit details -
*** Original commit *** Rollback of 57182ac *** Original commit *** Remove `@Nullable` from `MediaSource.Factory` setters The null-behaviour of these methods creates a minimization footgun, because **any** call to these setters will prevent R8 from removing the default implementation (even if it's never used by the app) - this is because R8 can't tell the default imple... *** PiperOrigin-RevId: 450453325
Configuration menu - View commit details
-
Copy full SHA for ecea2b9 - Browse repository at this point
Copy the full SHA ecea2b9View commit details -
Don't reallocate EGLSurface for same debug surface.
Recreating an EGLSurface for a surface that already has an EGLSurface is not allowed according to the [documentation](https://www.khronos.org/registry/EGL/sdk/docs/man/html/eglCreatePlatformWindowSurface.xhtml). This fix was tested on the devices listed in the bug description (Pixel 5a, Nexus 5). PiperOrigin-RevId: 450473569
Configuration menu - View commit details
-
Copy full SHA for ccd61b1 - Browse repository at this point
Copy the full SHA ccd61b1View commit details -
*** Original commit *** Remove `@Nullable` from `MediaSource.Factory` setters The null-behaviour of these methods creates a minimization footgun, because **any** call to these setters will prevent R8 from removing the default implementation (even if it's never used by the app) - this is because R8 can't tell the default implementation is only used if the parameter is `null`. ****** PiperOrigin-RevId: 450410833
Configuration menu - View commit details
-
Copy full SHA for 274f3a1 - Browse repository at this point
Copy the full SHA 274f3a1View commit details
Commits on May 24, 2022
-
Force encoding for the on-device regression tests.
transformWithDecodeEncode is now transformWithoutDecodeEncode, to test the passthrough path. PiperOrigin-RevId: 447796892
Configuration menu - View commit details
-
Copy full SHA for 271cdbe - Browse repository at this point
Copy the full SHA 271cdbeView commit details -
Expose decoder name to analysis files.
PiperOrigin-RevId: 447950623
Configuration menu - View commit details
-
Copy full SHA for d254967 - Browse repository at this point
Copy the full SHA d254967View commit details -
Refactor MIDI and Flac extractor loaders for deduplication
Add MIDI filetype information for use in the ExtractorsFactory PiperOrigin-RevId: 447976272
Configuration menu - View commit details
-
Copy full SHA for dce0db3 - Browse repository at this point
Copy the full SHA dce0db3View commit details -
Adds key functionality for basic MIDI synthesization
- Add a MidiRenderer skeleton with basic playback - Add MidiDecoder with placeholder synthesizer (JSyn) impl - Make MidiExtractor feed placeholder data - Add Renderer extension loaders for MIDI PiperOrigin-RevId: 448212797
Configuration menu - View commit details
-
Copy full SHA for 0948fd1 - Browse repository at this point
Copy the full SHA 0948fd1View commit details -
Transformer GL: Update test name reference.
The prior test does not exist, and is not a pixel test. PiperOrigin-RevId: 448224929
Configuration menu - View commit details
-
Copy full SHA for dd365cb - Browse repository at this point
Copy the full SHA dd365cbView commit details -
Add support for static RTP payload types.
Some RTP foramts are statically assigned, so they don't have the rtpmap attribute. Create the missing rtpmap attribute in this case. PiperOrigin-RevId: 448239724
Configuration menu - View commit details
-
Copy full SHA for 010a00e - Browse repository at this point
Copy the full SHA 010a00eView commit details -
Remove network type test restrictions for API 29/30
Network type detection on these API levels couldn't be tested yet because of a missing Robolectric feature. This was fixed by the recent Robolectric upgrade and the restrictions can be removed. This also requires to replicate the platform hack we rely on on these API levels. PiperOrigin-RevId: 448240431
Configuration menu - View commit details
-
Copy full SHA for 3eb6f0e - Browse repository at this point
Copy the full SHA 3eb6f0eView commit details -
Increase test timeout for 4k60 regression test.
Pixel 5 was occasionally reaching the 2 minute limit. PiperOrigin-RevId: 448244803
Configuration menu - View commit details
-
Copy full SHA for 800e533 - Browse repository at this point
Copy the full SHA 800e533View commit details -
Add DefaultMediaSourceFactory.{set,clear}LocalAdInsertionConfig
Deprecate the setAdsLoaderProvider and setAdViewProvider methods these replace. PiperOrigin-RevId: 448251423
Configuration menu - View commit details
-
Copy full SHA for 938728c - Browse repository at this point
Copy the full SHA 938728cView commit details -
Fix warning about ambiguous
@EnsuresNonNull
annotation``` [expression.parameter.name.shadows.field] The postcondition EnsuresNonNull on the declaration of method 'setContentTimeline' contains ambiguous identifier 'contentTimeline'. Use "this.contentTimeline" for the field, or "#1" for the formal parameter. private void setContentTimeline(Timeline contentTimeline) { ^ ``` PiperOrigin-RevId: 448285571
Configuration menu - View commit details
-
Copy full SHA for b9f1cb4 - Browse repository at this point
Copy the full SHA b9f1cb4View commit details -
Combine multiple matrix transformations in one shader.
When using a MatrixTransformationFrameProcessor per transformation matrix, each frame processor's shader applies the matrix to the vertices and clips the result to the NDC range when drawing the output frame. This change combines consecutive MatrixTransformations into a single MatrixTransformationFrameProcessor by multiplying the individual matrices while updating and clipping the visible polygon after each matrix and mapping the resulting visible polygon back to the input space so that its vertices and the combined transformation matrix can be used in the shader. PiperOrigin-RevId: 448521068
Configuration menu - View commit details
-
Copy full SHA for df1b733 - Browse repository at this point
Copy the full SHA df1b733View commit details -
Add language normalization for "arb" (Standard Arabic)
This is an individual language (ISO 639-3) part of the Arabic macrolanguage ("ar" in ISO 639-1). Add this mapping to our existing list similar to other individual to macrolanguage mappings we have already. Issue: Issue: #10255 PiperOrigin-RevId: 448911950
Configuration menu - View commit details
-
Copy full SHA for daa4c1c - Browse repository at this point
Copy the full SHA daa4c1cView commit details -
Merge pull request #64 from ittiam-systems:rtp-vp9
PiperOrigin-RevId: 448978892
Configuration menu - View commit details
-
Copy full SHA for f28f802 - Browse repository at this point
Copy the full SHA f28f802View commit details -
Add replacement for deprecated network type override constant
The MMWAVE constant was deprecated in favour of a new constant with a better name. Thus, we need to check for both constants now. PiperOrigin-RevId: 449018959
Configuration menu - View commit details
-
Copy full SHA for 4636030 - Browse repository at this point
Copy the full SHA 4636030View commit details -
Fix demo app crash when media pipe isn't loaded
The toast message about media pipe not loading needs to be shown on the main (UI) thread. PiperOrigin-RevId: 449199285
Configuration menu - View commit details
-
Copy full SHA for 578afa8 - Browse repository at this point
Copy the full SHA 578afa8View commit details -
The old reference was just for prototyping HDR. The new reference is for planned work to use the correct formats for input and output for HDR editing in GL. PiperOrigin-RevId: 449211792
Configuration menu - View commit details
-
Copy full SHA for b2f46fa - Browse repository at this point
Copy the full SHA b2f46faView commit details -
Create new class to store cues and timestamp.
We need to pass timestamp for the list of cues so we are defining a new class CueGroup which will store both cues and timestamp. PiperOrigin-RevId: 449212054
Configuration menu - View commit details
-
Copy full SHA for a27b539 - Browse repository at this point
Copy the full SHA a27b539View commit details -
Fix initialization of media pipe processors with assets
PiperOrigin-RevId: 449221156
Configuration menu - View commit details
-
Copy full SHA for d6dc3c5 - Browse repository at this point
Copy the full SHA d6dc3c5View commit details -
Attempt to load OpenCV when loading MediaPipe
PiperOrigin-RevId: 449227706
Configuration menu - View commit details
-
Copy full SHA for bea17b4 - Browse repository at this point
Copy the full SHA bea17b4View commit details -
Tidy releasing
FrameProcessorChain
PiperOrigin-RevId: 449238525
Configuration menu - View commit details
-
Copy full SHA for b3dc32d - Browse repository at this point
Copy the full SHA b3dc32dView commit details -
Add missing equals to MergingMediaPeriod.ForwardingTrackSelection
This causes a bug where the forwarded selections are no longer assumed equal and the child MediaPeriods will think they need to reset streams even though the selection stayed the same. Issue: Issue: #10248 PiperOrigin-RevId: 449454038
Configuration menu - View commit details
-
Copy full SHA for e9d5381 - Browse repository at this point
Copy the full SHA e9d5381View commit details -
Remove all null-tolerant methods from BundleableUtil.
In most cases it's clearer to in-line these null-checks with ternary operators. PiperOrigin-RevId: 449474621
Configuration menu - View commit details
-
Copy full SHA for aef2f15 - Browse repository at this point
Copy the full SHA aef2f15View commit details -
Clarify the priority of live config values in the dev guide
PiperOrigin-RevId: 449485592
Configuration menu - View commit details
-
Copy full SHA for cfaf39c - Browse repository at this point
Copy the full SHA cfaf39cView commit details -
Rename expected to reference in SsimHelper.
Reference is clearer when used in conjunction with actual, and matches other SSIM documentation. PiperOrigin-RevId: 449486177
Configuration menu - View commit details
-
Copy full SHA for 97331a6 - Browse repository at this point
Copy the full SHA 97331a6View commit details -
Migrate leaf listeners of
Player
to newonCues
overridePiperOrigin-RevId: 449587030
Configuration menu - View commit details
-
Copy full SHA for 75dc0e2 - Browse repository at this point
Copy the full SHA 75dc0e2View commit details -
Track validity of debug
SurfaceView
The debug surface view's output surface can become invalid during a transformation due to the parent activity pausing, for example. This can currently cause a crash when backing out of the `TransformerActivity` in the demo because the surface can be destroyed before the transformer has fully canceled. Also clarify naming of the outputSurface and inline the private method that created `EGLSurface`s (it was shorter after removing the debug preview). PiperOrigin-RevId: 449963440
Configuration menu - View commit details
-
Copy full SHA for 7ef65b6 - Browse repository at this point
Copy the full SHA 7ef65b6View commit details -
Fix comment in MediaCodecRenderer
This constant name was updated in 1bcf1cf PiperOrigin-RevId: 449969093
Configuration menu - View commit details
-
Copy full SHA for 685761b - Browse repository at this point
Copy the full SHA 685761bView commit details -
Use
@C.DataType
intdef inHlsDataSourceFactory.createDataSource
PiperOrigin-RevId: 449973324
Configuration menu - View commit details
-
Copy full SHA for bbb6d8f - Browse repository at this point
Copy the full SHA bbb6d8fView commit details -
Simplify some DefaultMediaSourceFactory instantiation in the dev guide
In many cases we're passing a 'custom' DataSource.Factory where it's not relevant for the respective dev guide section. #minor-release PiperOrigin-RevId: 450374171
Configuration menu - View commit details
-
Copy full SHA for 5baeffb - Browse repository at this point
Copy the full SHA 5baeffbView commit details -
Remove 5G-NSA detection on API 29/30.
This detection relies on an unsupported workaround and may trigger permission warnings in tools analyzing permission usage although no permission is needed or requested by app code. Given the majority of 5G-NSA playbacks are on API 31+ by now, we can remove this path to avoid the permission confusion and the unsupported detection workaround. PiperOrigin-RevId: 450382586
Configuration menu - View commit details
-
Copy full SHA for 48a0301 - Browse repository at this point
Copy the full SHA 48a0301View commit details -
Remove
@Nullable
fromMediaSource.Factory
settersThe null-behaviour of these methods creates a minimization footgun, because **any** call to these setters will prevent R8 from removing the default implementation (even if it's never used by the app) - this is because R8 can't tell the default implementation is only used if the parameter is `null`. PiperOrigin-RevId: 450386627
Configuration menu - View commit details
-
Copy full SHA for 57182ac - Browse repository at this point
Copy the full SHA 57182acView commit details -
Remove
@Nullable
from someDash/Hls/SsMediaSource.Factory
methodsThe null-behaviour of these methods creates a minimization footgun, because **any** call to these setters will prevent R8 from removing the default implementation (even if it's never used by the app) - this is because R8 can't tell the default implementation is only used if the parameter is `null`. Follow-up to 57182ac PiperOrigin-RevId: 450395941
Configuration menu - View commit details
-
Copy full SHA for dc6cc45 - Browse repository at this point
Copy the full SHA dc6cc45View commit details -
Put cloud storage samples at the top to avoid having a sample at the top of the list where we don't control the server. Also update labels not to mention progressive container type, as it's irrelevant for Transformer, which always transmuxes even if it doesn't transcode. #ame-bug-week PiperOrigin-RevId: 450403784
Configuration menu - View commit details
-
Copy full SHA for 4277ac3 - Browse repository at this point
Copy the full SHA 4277ac3View commit details
Commits on May 26, 2022
-
Wrap TelephonyCallback in nested class to avoid class loading issues.
PiperOrigin-RevId: 450643824
Configuration menu - View commit details
-
Copy full SHA for 9c5bc56 - Browse repository at this point
Copy the full SHA 9c5bc56View commit details -
Skip transform4K60 test if 4K decoding is not supported.
4K decoding is not supported (not required to be supported) on all devices, e.g., Nexus 5 does not support it. PiperOrigin-RevId: 450682519
Configuration menu - View commit details
-
Copy full SHA for 066327d - Browse repository at this point
Copy the full SHA 066327dView commit details -
Make
Rating.RATING_UNSET
package-privateThis value is only needed by subclasses of `Rating`, all of which are in this package (the `Rating` constructor is already package-private to ensure this). PiperOrigin-RevId: 450886872
Configuration menu - View commit details
-
Copy full SHA for 7465383 - Browse repository at this point
Copy the full SHA 7465383View commit details -
Replace 640x360 H264 test video with 320x240 H264 video.
Decoding and encoding 320x240 H264 video should be supported on all devices from Android 5.0 based on CDD requirements. https://source.android.com/compatibility/5.0/android-5.0-cdd#5_2_video_encoding 640x360 encoding doesn't seem to be supported on Nexus 5. PiperOrigin-RevId: 450901715
Configuration menu - View commit details
-
Copy full SHA for 52ad75c - Browse repository at this point
Copy the full SHA 52ad75cView commit details -
Skip SSIM calculation on Nexus 5 API 21.
There is a problem with the ImageReader formats used by the SSIM helper that only occurs for Nexus 5 API 21, so as a workaround we can skip the SSIM calculation on Nexus 5 API 21. This skips just the SSIM calculation (by setting the value to 1.0 instead and logging). The tests still run when SSIM is skipped so that we can detect other failures. PiperOrigin-RevId: 450903183
Configuration menu - View commit details
-
Copy full SHA for 2b4642f - Browse repository at this point
Copy the full SHA 2b4642fView commit details -
Fix some inconsistencies in the
MediaItem
API* Rename (via deprecation) `MediaItem.DrmConfiguration.Builder#forceSessionsForAudioAndVideoTracks` to `setForceSessionsForAudioAndVideoTracks`. This is more consistent with existing 'force' method names both in this class and in `TrackSelectionParameters.Builder`. * Add missing `@Nullable` annotation to the parameter for `MediaItem.SubtitleConfiguration.Builder#setMimeType`. This annotation is already present on the `MediaItem.SubtitleConfiguration#mimeType` field that this setter corresponds to. PiperOrigin-RevId: 450941336
Configuration menu - View commit details
-
Copy full SHA for b8769b2 - Browse repository at this point
Copy the full SHA b8769b2View commit details -
PiperOrigin-RevId: 451135097
Configuration menu - View commit details
-
Copy full SHA for 53b4452 - Browse repository at this point
Copy the full SHA 53b4452View commit details
Commits on May 30, 2022
-
Rename GlFrameProcessor to SingleFrameGlTextureProcessor.
Also update names of implementations to match design doc. In follow-ups, SingleFrameGlTextureProcessor will become an abstract implementation of a new GlTextureProcessor interface. Texture processor makes sense as it processes OpenGL textures. The term frame processor will be used for something else in follow-ups. PiperOrigin-RevId: 451142085
Configuration menu - View commit details
-
Copy full SHA for d37cf34 - Browse repository at this point
Copy the full SHA d37cf34View commit details -
Replace frame processor with texture processor in TODO comment.
PiperOrigin-RevId: 451142799
Configuration menu - View commit details
-
Copy full SHA for bc1ec9d - Browse repository at this point
Copy the full SHA bc1ec9dView commit details -
Simplify
DefaultMediaSourceFactory
instantiation in a testThere's no need to manually construct a 'default' DefaultDataSource.Factory instance, we can just pass the `Context` to `DefaultMediaSourceFactory` and let it construct the `DefaultDataSource.Factory` internally. PiperOrigin-RevId: 451155747
Configuration menu - View commit details
-
Copy full SHA for 32fd374 - Browse repository at this point
Copy the full SHA 32fd374View commit details -
Fix handling clipping in transformer renderers.
Decode-only video frames (needed when the frame at / first frame after the clipping start is not a key frame) need to be decoded but not passed to the frame processor chain or encoder. The clipping start offset needs to be removed from the frame timestamps in the passthrough and video pipelines. There are no changes needed for this in the audio pipeline, as it doesn't use the input timestamps -- it uses its own timestamps derived from the buffer sizes instead. Also add demo option to try this out. #minor-release PiperOrigin-RevId: 451353609
Configuration menu - View commit details
-
Copy full SHA for 541460a - Browse repository at this point
Copy the full SHA 541460aView commit details -
Transformer: Skip SSIM in tests when fallback is applied.
SSIM calculation requires the input and output dimensions to be identical. For devices that can't encode the input dimensions, skip SSIM calculations and log the cause. Only apply this on tests where the encoder may not support the input file dimensions. PiperOrigin-RevId: 451364904
Configuration menu - View commit details
-
Copy full SHA for 14fc317 - Browse repository at this point
Copy the full SHA 14fc317View commit details -
Expand SSIM skipping to all Nexus API 21 devices.
PiperOrigin-RevId: 451371681
Configuration menu - View commit details
-
Copy full SHA for 89e239e - Browse repository at this point
Copy the full SHA 89e239eView commit details -
Use video passthrough if clipping starts at key frame.
PiperOrigin-RevId: 451380267
Configuration menu - View commit details
-
Copy full SHA for 6b521b2 - Browse repository at this point
Copy the full SHA 6b521b2View commit details -
Unconditionally sleep for offload
Unconditionally sleep for offload, if the audio buffer is full. Previously ExoPlayer would not sleep if the expected wake-up was in 2s. This was to prevent underrun if the wake-up was delayed. Experiments have shown that the wakup audio buffer is far more than 2s (around 1min). Additionally, the metric was incorrect because it measured both, AudioTrack + DSP. Finally, this metric was erroneous after a gapless transition, when the head position would reset to 0 and thus the computed delay until next wakeup was too large. PiperOrigin-RevId: 451383701
Configuration menu - View commit details
-
Copy full SHA for 74c68b3 - Browse repository at this point
Copy the full SHA 74c68b3View commit details -
Use updated test name in BUILD and docs.
PiperOrigin-RevId: 451384408
Configuration menu - View commit details
-
Copy full SHA for a96dd2d - Browse repository at this point
Copy the full SHA a96dd2dView commit details -
Clarify variables and improve documentation of SSIM.
PiperOrigin-RevId: 451392021
Configuration menu - View commit details
-
Copy full SHA for 1becb45 - Browse repository at this point
Copy the full SHA 1becb45View commit details -
Transformer: Add 8k24fps transform test.
Most devices won't support 8k decoding, so they'll skip this test entirely. As the video is quite short, this test shouldn't be any longer than the nearby, long-running 4k60 test. PiperOrigin-RevId: 451423368
Configuration menu - View commit details
-
Copy full SHA for 983e074 - Browse repository at this point
Copy the full SHA 983e074View commit details -
Treat pixels as unsigned and correct pixel count division.
PiperOrigin-RevId: 451428202
Configuration menu - View commit details
-
Copy full SHA for 38720a6 - Browse repository at this point
Copy the full SHA 38720a6View commit details -
Wrap framework AudioAttributes in new AudioAttributesV21 class
PiperOrigin-RevId: 451831531
Configuration menu - View commit details
-
Copy full SHA for 6dd065a - Browse repository at this point
Copy the full SHA 6dd065aView commit details -
Retain stream time offsets through codecs
ExoPlayer applies a large time offset to buffers so that, if the input has negative timestamps, generally buffers seen by the decoders should have positive timestamps. Modify how the offset is handled in `Transformer` so that decoders and encoders generally see positive timestamps, by leaving the offset on samples when reading them in the base renderer (remove the code that removed the offset), and then removing the offset when muxing. Also update the frame processor chain and slow motion flattening code to retain the existing behavior after this change (these both need original media presentation timestamps) Tested via existing end-to-end tests and manually verified that the overlay frame processor shows the expected original media timestamps. Aside: we don't need the same logic as ExoPlayer to track stream offsets across the decoder yet, because we don't try to handle stream changes during playback in single asset editing. (There is an edge case of multi-period DASH that may not work but I doubt anyone will use that as input to `Transformer` before we change the code to handle multi-asset properly.) In future we should try to refactor interaction with the decoder to use the same code for Transformer and ExoPlayer. PiperOrigin-RevId: 451846055
Configuration menu - View commit details
-
Copy full SHA for 84efc5e - Browse repository at this point
Copy the full SHA 84efc5eView commit details -
Add RequestMetadata to MediaItem
These fields can be used to transport additional request properties when the requester doesn't know the details needed for the actual playback (i.e. the LocalConfiguration). PiperOrigin-RevId: 451857093
Configuration menu - View commit details
-
Copy full SHA for 38248af - Browse repository at this point
Copy the full SHA 38248afView commit details -
This value only existed to allow setting media URLs from external sources (e.g. in a MediaController) so that a player can start playing this item. Now that we have MediaItem.RequestMetadata.mediaUrl we can remove this value from MediaMetadata because it's request metadata, not media metadata. PiperOrigin-RevId: 451857413
Configuration menu - View commit details
-
Copy full SHA for 8e015c4 - Browse repository at this point
Copy the full SHA 8e015c4View commit details -
Skip BitrateAnalysisTest if device is incapable.
Add bitrate check to the "can encode" criteria. PiperOrigin-RevId: 451868042
Configuration menu - View commit details
-
Copy full SHA for d411461 - Browse repository at this point
Copy the full SHA d411461View commit details -
Gives a bit more information upon failures PiperOrigin-RevId: 451882968
Configuration menu - View commit details
-
Copy full SHA for d1c3b05 - Browse repository at this point
Copy the full SHA d1c3b05View commit details -
Configuration menu - View commit details
-
Copy full SHA for b332d66 - Browse repository at this point
Copy the full SHA b332d66View commit details -
Update the Gradle Wrapper and Android Gradle Plugin
The current verion of AGP warns it doesn't support Android API 32 [1]. The wrapper was upgraded with ([instructions](https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:upgrading_wrapper)): ```shell $ ./gradlew wrapper --gradle-version 7.4.2 --distribution-type all ``` [1] ``` WARNING:We recommend using a newer Android Gradle plugin to use compileSdk = 32 This Android Gradle plugin (7.0.3) was tested up to compileSdk = 31 This warning can be suppressed by adding android.suppressUnsupportedCompileSdk=32 to this project's gradle.properties The build will continue, but you are strongly encouraged to update your project to use a newer Android Gradle Plugin that has been tested with compileSdk = 32 ``` #minor-release PiperOrigin-RevId: 451893214 (cherry picked from commit 7fc9bb9)
Configuration menu - View commit details
-
Copy full SHA for 10a7e75 - Browse repository at this point
Copy the full SHA 10a7e75View commit details
Commits on May 31, 2022
-
Add explicit cast to ByteBuffer for Java 8 compatibility
PiperOrigin-RevId: 451994696 (cherry picked from commit 1c5032e)
Configuration menu - View commit details
-
Copy full SHA for 401c220 - Browse repository at this point
Copy the full SHA 401c220View commit details -
Add
@deprecated
javadoc to all@Deprecated
@Override
methodsThis ensures the 'use X instead' message is easily visible in the generated HTML for the overriding method. Currently it's not, e.g.: https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/BasePlayer.html#getCurrentWindowIndex() #minor-release PiperOrigin-RevId: 452002224 (cherry picked from commit d711dee)
Configuration menu - View commit details
-
Copy full SHA for 30bed6c - Browse repository at this point
Copy the full SHA 30bed6cView commit details -
Add some imports required for javadoc
#minor-release PiperOrigin-RevId: 452002758 (cherry picked from commit f76baae)
Configuration menu - View commit details
-
Copy full SHA for b0a9b90 - Browse repository at this point
Copy the full SHA b0a9b90View commit details -
#minor-release PiperOrigin-RevId: 452006137 (cherry picked from commit 5460ac8)
Configuration menu - View commit details
-
Copy full SHA for 49c5e32 - Browse repository at this point
Copy the full SHA 49c5e32View commit details -
This reinstates the permissive behaviour removed by fe7e5b8 Test file created by opening bear.opus in a hex editor and naively duplicating the two header packets, starting at (and including) the first `OggS` in the file and ending just before the third `OggS`. #minor-release Issue: #10038 PiperOrigin-RevId: 452015662 (cherry picked from commit b6b2826)
Configuration menu - View commit details
-
Copy full SHA for 27e0c80 - Browse repository at this point
Copy the full SHA 27e0c80View commit details -
Create
withMediaPipe
variant only if AAR is presentThis should fix running `./gradlew clean test` if MediaPipe hasn't been built, for example. PiperOrigin-RevId: 452033698 (cherry picked from commit 14ed32c)
Configuration menu - View commit details
-
Copy full SHA for 6e735ac - Browse repository at this point
Copy the full SHA 6e735acView commit details -
Ignore decoding test cases when library not available
#minor-release PiperOrigin-RevId: 452043577 (cherry picked from commit c386644)
Configuration menu - View commit details
-
Copy full SHA for 2b8dbb5 - Browse repository at this point
Copy the full SHA 2b8dbb5View commit details
Commits on Jun 7, 2022
-
Fix
HiddenTypedefConstant
Metalava error onPlaybackException
This is done by removing the `@FieldNumber` IntDef completely. It's not really adding much value anyway, because it's `open` so there's no real enforcement to prevent passing 'incorrect' values. #minor-release PiperOrigin-RevId: 452108972 (cherry picked from commit 97210b5)
Configuration menu - View commit details
-
Copy full SHA for c107b94 - Browse repository at this point
Copy the full SHA c107b94View commit details -
Filter bogus AndroidX Media jar file when creating javadoc
#minor-release PiperOrigin-RevId: 452282128 (cherry picked from commit 2441bc6)
Configuration menu - View commit details
-
Copy full SHA for aadd0c8 - Browse repository at this point
Copy the full SHA aadd0c8View commit details -
Rename
DefaultTrackSelector.ParametersBuilder
toParameters.Builder
We generally nest the `Builder` for `Foo` inside `Foo`. In this case, there's already a `DefaultTrackSelector.Parameters.Builder` type visible to a developer, it just happens to be the 'common' `TrackSelectorParameters.Builder`, so using it is a bit weird. For example this code snippet doesn't compile because `DefaultTrackSelector.Parameters.Builder#build()` returns `TrackSelectionParameters`. This CL fixes that problem and the code snippet now compiles. ```java DefaultTrackSelector.Parameters params = new DefaultTrackSelector.Parameters.Builder(context).build() ``` #minor-release PiperOrigin-RevId: 453215702 (cherry picked from commit 8816223)
Configuration menu - View commit details
-
Copy full SHA for dd27a9a - Browse repository at this point
Copy the full SHA dd27a9aView commit details -
Use a shared
keyForField
implementation in track selection parametersThe current setup with distinct, private `keyForField` implementations, leaves open the (theoretical) possibility of a clash in the `Bundle` keys used by the superclass and subclass. This change brings consistency with our only other extensible `Bundleable` type (`PlaybackException`). #minor-release PiperOrigin-RevId: 453385875 (cherry picked from commit a056f08)
Configuration menu - View commit details
-
Copy full SHA for 5030145 - Browse repository at this point
Copy the full SHA 5030145View commit details -
Fix handling of content URIs by demo apps
PiperOrigin-RevId: 453510883 (cherry picked from commit 21ad8cf)
Configuration menu - View commit details
-
Copy full SHA for 3748cc8 - Browse repository at this point
Copy the full SHA 3748cc8View commit details
Commits on Jun 9, 2022
-
Merge pull request #53 from ittiam-systems:rtp_opus
PiperOrigin-RevId: 453490088 (cherry picked from commit ade3452)
Configuration menu - View commit details
-
Copy full SHA for 68054de - Browse repository at this point
Copy the full SHA 68054deView commit details -
Clarify that
ShuffleOrder
must be consistent in both directions#minor-release PiperOrigin-RevId: 453622964 (cherry picked from commit 2c2be2d)
Configuration menu - View commit details
-
Copy full SHA for 2e2bbdd - Browse repository at this point
Copy the full SHA 2e2bbddView commit details -
Audio passthrough: handle unset audio format channel count
With HLS chunkless preparation, audio formats may have no value for channel count. In this case, the DefaultAudioSink will either query the platform for a supported channel count (API 29+) or assume a max channel count based on the encoding spec in order to decide whether the audio format can be played with audio passthrough. Issue: #10204 #minor-release PiperOrigin-RevId: 453644548 (cherry picked from commit b3b57bc)
Configuration menu - View commit details
-
Copy full SHA for 4e3617c - Browse repository at this point
Copy the full SHA 4e3617cView commit details -
Add COMMAND_SET_MEDIA_ITEM to Player.Commands
Some Player implementations have no playlist capability but can still set a MediaItem for playback. Examples are a MediaController connected to a legacy MediaSession, ExoPlayer up to 2.12 or MediaPlayer. To indicate this capability, we need an allowed command in addition to COMMAND_CHANGE_MEDIA_ITEMS that just allows to set a single item that replaces everything that is currently played. #minor-release PiperOrigin-RevId: 453879626 (cherry picked from commit 2056152)
Configuration menu - View commit details
-
Copy full SHA for c1aff0d - Browse repository at this point
Copy the full SHA c1aff0dView commit details -
Merge pull request #69 from ittiam-systems:rtp_amr_test
PiperOrigin-RevId: 453905355 (cherry picked from commit 8a31e33)
Configuration menu - View commit details
-
Copy full SHA for 56079ba - Browse repository at this point
Copy the full SHA 56079baView commit details -
Fix bug: playback is frozen with HLS chunkless preparation
This change fixes a bug where the player is frozen with HLS chunkless preparation because the audio stream wrappers are not marked as master timestamp sources before preparation. #minor-release PiperOrigin-RevId: 453941815 (cherry picked from commit 9174841)
Configuration menu - View commit details
-
Copy full SHA for b7cf772 - Browse repository at this point
Copy the full SHA b7cf772View commit details -
Minor fix: remove final from methods of final class
#minor-release PiperOrigin-RevId: 453408087 (cherry picked from commit 527db57)
Configuration menu - View commit details
-
Copy full SHA for 64d33ad - Browse repository at this point
Copy the full SHA 64d33adView commit details -
DefaultTrackSelector: Constrain audio channel count
The track selector will select multi-channel formats when those can be spatialized, otherwise the selector will prefer stereo/mono audio tracks. When the device supports audio spatialization (Android 12L+), the DefaultTrackSelector will monitor for changes in the platform Spatializer and trigger a new track selection upon a Spatializer change event. Devices with a `television` UI mode are excluded from audio channel count constraints. #minor-release PiperOrigin-RevId: 453957269 (cherry picked from commit 9f3c595)
Configuration menu - View commit details
-
Copy full SHA for 9a793da - Browse repository at this point
Copy the full SHA 9a793daView commit details
Commits on Jun 10, 2022
-
Fix permissions request for media provider content URIs
We need to request the external storage permission to access these PiperOrigin-RevId: 454160546 (cherry picked from commit a90d523)
Configuration menu - View commit details
-
Copy full SHA for 996f947 - Browse repository at this point
Copy the full SHA 996f947View commit details
Commits on Jun 13, 2022
-
Ensure
DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION
is always executed`codecDrainAction` is set to `DRAIN_ACTION_NONE` in 3 places in `MediaCodecRenderer`: * The constructor (so there's no prior state to worry about) * `updateDrmSessionV23()`: Where `mediaCrypto` is reconfigured based on `sourceDrmSession` and `codecDrmSession` is also updated to `sourceDrmSession`. * `resetCodecStateForFlush()`: Where (before this change) the action is unconditionally set back to `DRAIN_ACTION_NONE` and so any required updated implied by `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` is not done. This change ensures that `flushOrReleaseCodec()` handles `DRAIN_ACTION_FLUSH_AND_UPDATE_DRM_SESSION` before calling . This probably also resolves Issue: #10274 #minor-release PiperOrigin-RevId: 454114428 (cherry picked from commit c736a72)
Configuration menu - View commit details
-
Copy full SHA for 31e6ba9 - Browse repository at this point
Copy the full SHA 31e6ba9View commit details -
Use correct placeholder PlayerID value in test
The default constructor is only allowed to be called on API < 32 and the test should use the defined UNSET constant to be API independent. #minor-release PiperOrigin-RevId: 454568893 (cherry picked from commit 0ed5321)
Configuration menu - View commit details
-
Copy full SHA for c1f1eb7 - Browse repository at this point
Copy the full SHA c1f1eb7View commit details
Commits on Jun 14, 2022
-
Merge pull request #10322 from DolbyLaboratories:dev-v2-multichannel
PiperOrigin-RevId: 454641746 (cherry picked from commit 1c373d5)
Configuration menu - View commit details
-
Copy full SHA for 941c5d8 - Browse repository at this point
Copy the full SHA 941c5d8View commit details -
Spatializer: Assume linear channel count for E-AC3 JOC streams
#minor-release PiperOrigin-RevId: 454884692 (cherry picked from commit 6dc4b39)
Configuration menu - View commit details
-
Copy full SHA for fd1fb96 - Browse repository at this point
Copy the full SHA fd1fb96View commit details
Commits on Jun 15, 2022
-
Cleanup: Remove unnecessary self-refs in Util
PiperOrigin-RevId: 455121899 (cherry picked from commit 545cd1e)
Configuration menu - View commit details
-
Copy full SHA for 92c3535 - Browse repository at this point
Copy the full SHA 92c3535View commit details -
Suppress lint errors
RestrictedApis
in lib-media2PiperOrigin-RevId: 454939082 (cherry picked from commit d1fbef8)
Configuration menu - View commit details
-
Copy full SHA for ff582ec - Browse repository at this point
Copy the full SHA ff582ecView commit details -
Make HttpDataSourceTestEnv require API 19
PiperOrigin-RevId: 454945333 (cherry picked from commit 4759472)
Configuration menu - View commit details
-
Copy full SHA for d1e50de - Browse repository at this point
Copy the full SHA d1e50deView commit details -
Add
many
quantity for fr an fr-CASee https://issuetracker.google.com/208178382 PiperOrigin-RevId: 454949204 (cherry picked from commit 6fd777c)
Configuration menu - View commit details
-
Copy full SHA for 341f158 - Browse repository at this point
Copy the full SHA 341f158View commit details -
Add lint base to make gradle lint run without errors
PiperOrigin-RevId: 454951844 (cherry picked from commit 8b65c6a)
Configuration menu - View commit details
-
Copy full SHA for 4739e4d - Browse repository at this point
Copy the full SHA 4739e4dView commit details -
Merge pull request #9915 from dburckh:avi
PiperOrigin-RevId: 455094147 (cherry picked from commit 1ca382d)
Configuration menu - View commit details
-
Copy full SHA for a785fbe - Browse repository at this point
Copy the full SHA a785fbeView commit details -
#minor-release PiperOrigin-RevId: 455128997 (cherry picked from commit 499d3f9)
Configuration menu - View commit details
-
Copy full SHA for cdd2157 - Browse repository at this point
Copy the full SHA cdd2157View commit details -
Update initial bitrate estimates
#minor-release PiperOrigin-RevId: 455140203 (cherry picked from commit 05b69a7)
Configuration menu - View commit details
-
Copy full SHA for fb6e3ea - Browse repository at this point
Copy the full SHA fb6e3eaView commit details -
PiperOrigin-RevId: 455157744 (cherry picked from commit 91de5fa)
Configuration menu - View commit details
-
Copy full SHA for 643e78c - Browse repository at this point
Copy the full SHA 643e78cView commit details
Commits on Jun 16, 2022
-
Merge pull request #63 from ittiam-systems:rtp-h263
PiperOrigin-RevId: 455347182 (cherry picked from commit e220f53)
Configuration menu - View commit details
-
Copy full SHA for 0a4684d - Browse repository at this point
Copy the full SHA 0a4684dView commit details -
Version bump to exoplayer:2.18.0 and media3:1.0.0-beta01
#minor-release PiperOrigin-RevId: 455350486 (cherry picked from commit 209d308)
Configuration menu - View commit details
-
Copy full SHA for 3dcc24e - Browse repository at this point
Copy the full SHA 3dcc24eView commit details -
Add lint base xml file for string.xml files
Fixing lint errors in the string.xml files makes no sense because these are overridden with the next automated string import. Adding a lint-baseline.xml instead for the ui module. See https://issuetracker.google.com/208178382 #minor-release PiperOrigin-RevId: 455354304 (cherry picked from commit 495480a)
Configuration menu - View commit details
-
Copy full SHA for da12792 - Browse repository at this point
Copy the full SHA da12792View commit details -
#minor-release PiperOrigin-RevId: 455361427 (cherry picked from commit 87420fc)
Configuration menu - View commit details
-
Copy full SHA for 3da5ab7 - Browse repository at this point
Copy the full SHA 3da5ab7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8781449 - Browse repository at this point
Copy the full SHA 8781449View commit details -
#minor-release PiperOrigin-RevId: 455380010 (cherry picked from commit 4f5e99c)
Configuration menu - View commit details
-
Copy full SHA for 5051b47 - Browse repository at this point
Copy the full SHA 5051b47View commit details -
#minor-release PiperOrigin-RevId: 455372269 (cherry picked from commit 71ae88f)
Configuration menu - View commit details
-
Copy full SHA for 460d221 - Browse repository at this point
Copy the full SHA 460d221View commit details
Commits on Jun 17, 2022
-
Add lint baseline for spurious API-level warnings
The API 32 SDK has incorrect versioning metadata for Spatializer. It reports the whole class has only been present since API 33 (which is surely impossible given it's present in the API 32 SDK): https://issuetracker.google.com/234009300 The metadata seems to be correct in the API 33 SDK, so this baseline will no longer be needed when we bump to `compileSdkVersion = 33`.
Configuration menu - View commit details
-
Copy full SHA for 85d8682 - Browse repository at this point
Copy the full SHA 85d8682View commit details -
Configuration menu - View commit details
-
Copy full SHA for 03569f9 - Browse repository at this point
Copy the full SHA 03569f9View commit details
Commits on Jun 20, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 3727385 - Browse repository at this point
Copy the full SHA 3727385View commit details
Commits on Jun 21, 2022
-
Clear pending doSomeWork messages when sleeping for offload
The offload sleeping stops as soon as a new DO_SOME_WORK message is handled (because this indicates an expected change in rendering and we want to stop sleeping until we know it's safe to do so). Every exit path from doSomeWork needs to clear other pending DO_SOME_WORK messages as these requests have already been handled by the current method invocation. This currently doesn't happen from the offload sleeping return path and a previously queued DO_SOME_WORK message can immediately wake up the rendering loop again. Fix this by moving the message removal to the beginning of the doSomeWork method (as it prevents forgetting it in one of the exit paths later). PiperOrigin-RevId: 456259715 (cherry picked from commit 251389d)
Configuration menu - View commit details
-
Copy full SHA for de78cfa - Browse repository at this point
Copy the full SHA de78cfaView commit details
Commits on Jun 23, 2022
-
Inform ProgressiveMediaPeriod of known length earlier
PiperOrigin-RevId: 456753343 (cherry picked from commit 531f03a)
Configuration menu - View commit details
-
Copy full SHA for 2753837 - Browse repository at this point
Copy the full SHA 2753837View commit details
Commits on Jun 27, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0b75c25 - Browse repository at this point
Copy the full SHA 0b75c25View commit details -
Clean up offload state tracking
1. The offloadSchedulingEnabled value doesn't need to be in PlaybackInfo because it's never updated in EPII. 2. The sleepingForOffload value in EPII wasn't updated explicitly (just via the return value of a method). It was also only meant to be enabled while the player is actively playing, but confusingly triggered from a path where the player may theoretically be buffering as well. 3. The offload sleeping (=not scheduling doSomeWork) was interwoven into the actual scheduling code making it slightly hard to follow. This can be improved slightly by keeping the offload sleeping decision and the scheduling separate. PiperOrigin-RevId: 457427293 (cherry picked from commit aedde2d)
Configuration menu - View commit details
-
Copy full SHA for 0d83c44 - Browse repository at this point
Copy the full SHA 0d83c44View commit details
Commits on Jun 28, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 98f5bdb - Browse repository at this point
Copy the full SHA 98f5bdbView commit details -
Fix typo in the media3 1.0.0-alpha02 / ExoPlayer 2.17.0 release notes
PiperOrigin-RevId: 457680579 (cherry picked from commit 40350bc)
Configuration menu - View commit details
-
Copy full SHA for 29a2292 - Browse repository at this point
Copy the full SHA 29a2292View commit details -
Use a helper function and Truth Correspondence instead of NoUidTimeline
NoUidTimeline still exists as a private detail of TestUtil, but it no longer extends ForwardingTimeline because the interactions are quite hard to reason about. #minor-release PiperOrigin-RevId: 457703593 (cherry picked from commit 292f6de)
Configuration menu - View commit details
-
Copy full SHA for f3a350d - Browse repository at this point
Copy the full SHA f3a350dView commit details -
Consider shuffle order in Timeline.equals()
Previously two timelines that differed only in shuffle order were considered equal, which resulted in no call to Player.Listener.onTimelineChanged when calling ExoPlayer.setShuffleOrder. This in turn resulted in no call to MediaControllerCompat.Callback.onQueueChanged. Also make a small fix inside ExoPlayerImpl.setShuffleOrder, to ensure that the new shuffle order is used when constructing the masked timeline. Issue: #9889 #minor-release PiperOrigin-RevId: 457703727 (cherry picked from commit 5c7ec13)
Configuration menu - View commit details
-
Copy full SHA for d3b5f71 - Browse repository at this point
Copy the full SHA d3b5f71View commit details
Commits on Jun 29, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 315bf6b - Browse repository at this point
Copy the full SHA 315bf6bView commit details
Commits on Jul 1, 2022
-
Fix MP4 parser issue in reading length of URL array from esds boxes.
As per MP4 spec, the length of URL array is a 8 bit number. #minor-release PiperOrigin-RevId: 458421436 (cherry picked from commit 5095ff1)
Configuration menu - View commit details
-
Copy full SHA for 3709e90 - Browse repository at this point
Copy the full SHA 3709e90View commit details -
Fix MP4 parser issue in reading bitrates from esds boxes.
As per MP4 spec, bitrates in esds boxes can be a 32 bit number which doesn't fits in Java int type, so now reading it as a long value. Our class for holding media format, only allows bitrates value to be an int as we don't expect the bitrates to be greater than or equal to 2^31. So we're limiting the values for bitrates to Integer.MAX_VALUE. #minor-release PiperOrigin-RevId: 458423162 (cherry picked from commit 9e10286)
Configuration menu - View commit details
-
Copy full SHA for 3d79536 - Browse repository at this point
Copy the full SHA 3d79536View commit details -
Only consider enabled tracks in ProgressiveMediaPeriod.bufferedPosition
ProgressiveMediaPeriod loads all available tracks into SampleStreams (because it needs to read the data anyway and it allows easy activation of tracks without reloading). However, the SampleStreams for disabled tracks are not read and no one if waiting for them. The buffered position is used for user-visible state (e.g. in the UI) and to check how much data is already buffered to decide when to stop buffering (using LoadControl). Both values benefit from only using the actually enabled tracks to better reflect what is available for playback at the moment. Issue:Issue: #10361 PiperOrigin-RevId: 458475038 (cherry picked from commit 577e191)
Configuration menu - View commit details
-
Copy full SHA for 84280c8 - Browse repository at this point
Copy the full SHA 84280c8View commit details
Commits on Jul 5, 2022
-
Use mediaId as contentId if available
This is to be consistent with what cast `QueueMediaItem` is doing. If a contentId is not available the contentUrl is used as the ID. #minor-release PiperOrigin-RevId: 459133323 (cherry picked from commit 84c801a)
Configuration menu - View commit details
-
Copy full SHA for c2ddf27 - Browse repository at this point
Copy the full SHA c2ddf27View commit details
Commits on Jul 6, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 036a48d - Browse repository at this point
Copy the full SHA 036a48dView commit details
Commits on Jul 7, 2022
-
Add missing Nullable annotation
PiperOrigin-RevId: 459485334 (cherry picked from commit 752e82d)
Configuration menu - View commit details
-
Copy full SHA for f9f6cb3 - Browse repository at this point
Copy the full SHA f9f6cb3View commit details -
Add tests for extracting MP4 with large bitrates
Also added the test to `MP4PlaybackTest`. PiperOrigin-RevId: 459492188 (cherry picked from commit a166584)
Configuration menu - View commit details
-
Copy full SHA for 43eb3d0 - Browse repository at this point
Copy the full SHA 43eb3d0View commit details -
Merge pull request #96 from fengdai:release
PiperOrigin-RevId: 458883441 (cherry picked from commit 486c350)
Configuration menu - View commit details
-
Copy full SHA for 8051fe5 - Browse repository at this point
Copy the full SHA 8051fe5View commit details -
Merge pull request #10260 from sr1990:clearkey_parse_licenseurl
PiperOrigin-RevId: 459215225 (cherry picked from commit 9521807)
Configuration menu - View commit details
-
Copy full SHA for ef96641 - Browse repository at this point
Copy the full SHA ef96641View commit details -
Don't block AudioTrack when waiting for previous release
We wait until a previous AudioTrack has been released before creating a new one. This is currently done with a thread block operation, which may cause ANRs in the extreme case when someone attempts to release the player while this is still blocked. The problem can be avoided by just returning false from DefaultAudioSink.handleBuffer to try again until the previous AudioTrack is released. Reproduction steps to force the issue: 1. Add Thread.sleep(10000); to the AudioTrack release thread. 2. Add this to the demo app: private int positionMs = 0; Handler handler = new Handler(); handler.post(new Runnable() { @OverRide public void run() { player.seekTo(positionMs++); if (positionMs == 10) { player.release(); } else { handler.postDelayed(this, 1000); } } 3. Observe Player release timeout exception. These steps can't be easily captured in a unit test as we can't artifically delay the AudioTrack release from the test. Issue: #10057 PiperOrigin-RevId: 459468912 (cherry picked from commit a80dd60)
Configuration menu - View commit details
-
Copy full SHA for d39075a - Browse repository at this point
Copy the full SHA d39075aView commit details
Commits on Jul 11, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 36a99cb - Browse repository at this point
Copy the full SHA 36a99cbView commit details -
Use the public MediaItem in the timeline of CastPlayer
The media item needs to be assigned to `Window.mediaItem` in `CastTimeline.setWindow`. For this the `MediaItem` needs to be available in the timeline. When a `MediaItem` is passed to the `set/addMediaItems` method, we can't yet know the Cast `MediaQueueItem.itemId` that is generated on the device and arrives with an async update of the `RemoteMediaClient` state. Hence in the `CastTimelineTracker`, we need to store the `MediaItem` by Casts's `MediaItem.contentId`. When we then receive the updated queue, we look the media item up by the content ID to augment the `ItemData` that is available in the `CastTimeline`. Issue: androidx/media#25 Issue: #8212 #minor-release PiperOrigin-RevId: 460325235 (cherry picked from commit 02e1484)
Configuration menu - View commit details
-
Copy full SHA for 05e42eb - Browse repository at this point
Copy the full SHA 05e42ebView commit details
Commits on Jul 12, 2022
-
Group COMMAND_SET_MEDIA_ITEM and COMMAND_CHANGE_MEDIA_ITEMS together
I don't think it's useful to keep these in numerical order, it makes more sense to keep them grouped into a 'logical' ordering. #minor-release PiperOrigin-RevId: 460453464 (cherry picked from commit 1b1e0f8)
Configuration menu - View commit details
-
Copy full SHA for 4b684b5 - Browse repository at this point
Copy the full SHA 4b684b5View commit details -
Enable onMediaMetadataChanged in CastPlayer
Issue: androidx/media#25 PiperOrigin-RevId: 460476841 (cherry picked from commit d6659e9)
Configuration menu - View commit details
-
Copy full SHA for 6abbb49 - Browse repository at this point
Copy the full SHA 6abbb49View commit details -
Note: This was already reviewed in <unknown commit>. This doesn't mean we cannot apply further changes though. PiperOrigin-RevId: 460542835 (cherry picked from commit d59334c)
Configuration menu - View commit details
-
Copy full SHA for 9b7674a - Browse repository at this point
Copy the full SHA 9b7674aView commit details -
Don't set the tag in CastTimeline
Leaving the media item that has been passed in unchanged, ensures that the media item in the timeline is equal to the media item that the user has passed into the player. The value of the tag is the uid of the window, meaning this is redundant information. #minor-release PiperOrigin-RevId: 460542246 (cherry picked from commit 9d87c0d)
Configuration menu - View commit details
-
Copy full SHA for 268de23 - Browse repository at this point
Copy the full SHA 268de23View commit details
Commits on Jul 13, 2022
-
Merge pull request #110 from ittiam-systems:rtp_vp8_test
PiperOrigin-RevId: 460513413 (cherry picked from commit c75b6a3)
Configuration menu - View commit details
-
Copy full SHA for 344ac7b - Browse repository at this point
Copy the full SHA 344ac7bView commit details -
Merge pull request #10185 from TiVo:p-custom-logger
PiperOrigin-RevId: 460689252 (cherry picked from commit 6043739)
Configuration menu - View commit details
-
Copy full SHA for 77a3b16 - Browse repository at this point
Copy the full SHA 77a3b16View commit details -
Fix setDataSourceFactory handling in DefaultMediaSourceFactory
The call doesn't currently reset the already loaded suppliers and factories. Also fix the supplier loading code to use a local copy of the current dataSourceFactory to avoid leaking an updated instance to a later invocation. Issue: androidx/media#116 #minor-release PiperOrigin-RevId: 460721541 (cherry picked from commit 6be0d6e)
Configuration menu - View commit details
-
Copy full SHA for b82be04 - Browse repository at this point
Copy the full SHA b82be04View commit details
Commits on Jul 15, 2022
-
Version bump to exoplayer:2.18.1 and media3:1.0.0-beta02
#minor-release PiperOrigin-RevId: 461162552 (cherry picked from commit 6d27ff8)
Configuration menu - View commit details
-
Copy full SHA for 064bbbf - Browse repository at this point
Copy the full SHA 064bbbfView commit details -
#minor-release PiperOrigin-RevId: 461177918 (cherry picked from commit 7a10dd1)
Configuration menu - View commit details
-
Copy full SHA for d24163c - Browse repository at this point
Copy the full SHA d24163cView commit details
Commits on Jul 21, 2022
-
Modify release date for 2.18.1 and media3:1.0.0-beta02
Also rearranged release notes to correctly show when the changes were released. #minor-release PiperOrigin-RevId: 462361982 (cherry picked from commit c6e69a3)
Configuration menu - View commit details
-
Copy full SHA for 1a650f2 - Browse repository at this point
Copy the full SHA 1a650f2View commit details
Commits on Jul 22, 2022
-
Configuration menu - View commit details
-
Copy full SHA for ab4d37f - Browse repository at this point
Copy the full SHA ab4d37fView commit details