- 05 May, 2022 2 commits
-
-
The texture coordinates can be derived from the frame coordinates. PiperOrigin-RevId: 446770538
hschlueter committed -
Relates to https://github.com/square/okhttp/issues/3146. This was from https://github.com/androidx/media/pull/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 https://github.com/square/okhttp/issues/1902. Also an attempt at a fix here https://github.com/square/okhttp/pull/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 https://github.com/square/okhttp/pull/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
yschimke committed
-
- 04 May, 2022 6 commits
-
-
ScaleToFitFrameProcessor, PresentationFrameProcessor, and EncoderCompatibilityFrameProcessor now each implement MatrixTransformation instead of wrapping MatrixTransformationFrameProcessor. PiperOrigin-RevId: 446480286
hschlueter committed -
Refactoring change only. PiperOrigin-RevId: 446475708
huangdarwin committed -
The TrackSelector is released when the player is released. The TrackSelector can be reused if TrackSelector.init() is called again. PiperOrigin-RevId: 446439717
christosts committed -
PiperOrigin-RevId: 446432695
andrewlewis committed -
PiperOrigin-RevId: 446423017
olly committed -
PiperOrigin-RevId: 446400192
ibaker committed
-
- 03 May, 2022 4 commits
-
-
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
hschlueter committed -
PiperOrigin-RevId: 446181877
christosts committed -
https://github.com/google/ExoPlayer/commit/8da8c5e781a7e576ebf902c92e2886d664462199
*** Original commit *** Upgrade Robolectric dependency to 4.8 *** PiperOrigin-RevId: 446175705
christosts committed -
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
christosts committed
-
- 09 May, 2022 28 commits
-
-
PiperOrigin-RevId: 446161354
ibaker committed -
It's reasonable to serialize this type to support backgrounding use-cases, as demonstrated by the main demo app. PiperOrigin-RevId: 446161300
ibaker committed -
PiperOrigin-RevId: 446156308
ibaker committed -
PiperOrigin-RevId: 446143537
hschlueter committed -
PiperOrigin-RevId: 445973162
olly committed -
PiperOrigin-RevId: 445445952
olly committed -
This is used from the main demo app. PiperOrigin-RevId: 445420580
ibaker committed -
This ensures that both content and licenses are requested using the same HTTP stack. #minor-release PiperOrigin-RevId: 445378940
ibaker committed -
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
hschlueter committed -
Developers are expected to (eventually) only use methods on PlayerView (and not PlayerControlView) to interact with the UI controller. PiperOrigin-RevId: 445361488
ibaker committed -
PiperOrigin-RevId: 445356625
ibaker committed -
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
ibaker committed -
PiperOrigin-RevId: 445217294
ibaker committed -
This method was introduced in https://github.com/google/ExoPlayer/commit/754eb1527af9ff4211b7e164d2af6b46530f328c as a replacement for Util.inferContentType(String) but it incorrectly didn't return TYPE_SS when passed "ism" or "isml". PiperOrigin-RevId: 445217167
ibaker committed -
PiperOrigin-RevId: 445196313
olly committed -
* Add a /* paramName= */ comment * Remove an unnecessary comma. * Remove extra "internal " for a b/### link PiperOrigin-RevId: 445169649
huangdarwin committed -
PiperOrigin-RevId: 445162900
ibaker committed -
The old video has a `irregular' resolution of 1080x720. Change to a 1920x1080 video. PiperOrigin-RevId: 445124065
claincly committed -
PiperOrigin-RevId: 445119411
huangdarwin committed -
Change test name prefix from `transform` to `transcode` for consistency. PiperOrigin-RevId: 445106224
claincly committed -
PiperOrigin-RevId: 445098397
bachinger committed -
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
olly committed -
The parameter was removed in a previous CL but wasn't removed from the javadoc yet. PiperOrigin-RevId: 444879675
hschlueter committed -
PiperOrigin-RevId: 444874326
bachinger committed -
PiperOrigin-RevId: 444861268
ibaker committed -
Issue: google/ExoPlayer#10049 PiperOrigin-RevId: 444833508
claincly committed -
This 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
ibaker committed -
PiperOrigin-RevId: 444816821
Ian Baker committed
-