- 19 Oct, 2022 40 commits
-
-
* Non-standard parameter comment; prefer `/* paramName= */ arg` (see http://go/bugpattern/ParameterComment) (19 times) This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Revert this CL, by replying "REVERT: <provide reason>" * File a bug under go/error-prone-bug for category ErrorProneStyle if there's an issue with the CL content. * File a bug under go/rosie-bug if there's an issue with how the CL was managed. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: <provide reason>". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/media/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth Tested: Local presubmit tests passed. PiperOrigin-RevId: 471022923
Googler committed -
PiperOrigin-RevId: 471017440
leonwind committed -
PiperOrigin-RevId: 471008623
huangdarwin committed -
#minor-release PiperOrigin-RevId: 470999044
ibaker committed -
* Non-standard parameter comment; prefer `/* paramName= */ arg` (see http://go/bugpattern/ParameterComment) This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Revert this CL, by replying "REVERT: <provide reason>" * File a bug under go/error-prone-bug for category ErrorProneStyle if there's an issue with the CL content. * File a bug under go/rosie-bug if there's an issue with how the CL was managed. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: <provide reason>". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/media/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth Tested: Local presubmit tests passed. PiperOrigin-RevId: 470953422
Googler committed -
This should now expect transformation to succeed. PiperOrigin-RevId: 470950411
andrewlewis committed -
PiperOrigin-RevId: 470354448
andrewlewis committed -
TL;DR: we should check if there are new frames available to queue to the ExternalTextureProcessor before actually queueing a frame. The overall flow on the external texture processor: - `SurfaceTexture.onFrameAvailable` is called on `ExtTexMgr`, and - it calls `updateTexImage()`, and sets `frame` - it calls `maybeQueueFrameToExtTexProc()` - the frame is queued to `ExtTexProc` if `frame` is set - From `ExtTexProc.queueInputFrame()`: - notifies the `frameProcessorListener` of available frame - notifies the `inputListener` of `onReadyToAcceptInputFrame` - (`ExtTexMgr` is the listener), it calls `maybeQueueFrameToExtTexProc()` again -- Parallelly -- - `ExtTexProc` calls `inputListener.onInputFrameProcessed`, when the frame is released - (`ExtTexMgr` is the listener), sets `frame` to `null` *Problem* This logic relies on `frame` to be cleared at the right time. In transformer, it's OK b/c `ExtTexProc` release the frame immediately in `queueInputFrame()` and calls `onInputFrameProcessed` which also reset `frame` But in previewing, the frame is not released for a while, up to 10 ms. In this case, `frame` will not reset in this 10 ms, and `maybeQueueFrameToExtTexProc()` is repeatedly queueing the same input frame. PiperOrigin-RevId: 470211620claincly committed -
Native multidex can only be used for binaries with minSdkVersion of 21 or higher, but minSdkVersion was specified to 16. PiperOrigin-RevId: 470004102
rohks committed -
Native multidex can only be used for binaries with minSdkVersion of 21 or higher, but minSdkVersion was specified to 16. PiperOrigin-RevId: 470003836
rohks committed -
Remove unecessary null checks. PiperOrigin-RevId: 469999952
leonwind committed -
PiperOrigin-RevId: 469959215
huangdarwin committed -
PiperOrigin-RevId: 469750922
rohks committed -
Use the PQ OETF and EOTF to ensure that intermediate fragment shader operations using PQ are in linear BT.2020 rather than PQ and HLG-1 BT.2020. Also, swap the OETF and EOTF in shaders, as they were used incorrectly before Manually tested by verifying transformer demo HLG and PQ videos look the same with and without this CL, including with a BitmapOverlayProcessor enabled to test flows both with one MatrixTransformationProcessor that skips HDR TFs, and with one that doesn't. PiperOrigin-RevId: 469736067
huangdarwin committed -
PiperOrigin-RevId: 469443086
claincly committed -
PiperOrigin-RevId: 469438747
leonwind committed -
`android_binary` is only required when building an application. PiperOrigin-RevId: 469413752
rohks committed -
PiperOrigin-RevId: 469143613
claincly committed -
PiperOrigin-RevId: 468672505
Googler committed -
Issue: androidx/media#142 PiperOrigin-RevId: 468666737
bachinger committed -
Upstream timestamps from the decoder are also in microseconds, so using microseconds here is consistent with that. PiperOrigin-RevId: 468659099
Googler committed -
Remove the manual overwriting of Note ON events that have 0 velocity with Note OFF. JSyn handles this already. - The implementation of "running status" means that the amount of bytes read from the file differ from the size of the sample that ends up in the decoder. The decoder sample contains the applied running status (status of previous event), which the file bytes don't contain. PiperOrigin-RevId: 468537659
hmzh committed -
Adds a method to FrameProcessor.Listener to be called when an output frame is available and a method releaseOutputFrame in FrameProcessor allowing the caller to trigger release of the oldest available output frame at a given timestamp. Late frames or frames with unset release times are dropped in the FinalMatrixTransformationProcessorWrapper. More than one output frame can become available before they are released if the penultimate GlTextureProcessor is capable of producing multiple output frames. Processing continues while waiting for releaseOutputFrame to be called. Frame release tasks are prioritized over other tasks. PiperOrigin-RevId: 468473072
Googler committed -
Manually tested using transformer demo HLG videos. Before this CL, RGB values after the YUV to RGB conversion reached up to 1.025. After this CL, RGB values correctly clamp at 1.0. PiperOrigin-RevId: 468426092
huangdarwin committed -
FrameProcessingTaskExecutor should be released on error. There can be a delay until this happens, so FrameProcessingTaskExecutor will cancel any pending tasks and drop new tasks until it is released. PiperOrigin-RevId: 468171820
Googler committed -
PiperOrigin-RevId: 468152718
leonwind committed -
PiperOrigin-RevId: 468013019
leonwind committed -
We create an empty CueGroup in many places as default or where none is needed. Instead, we can define a constant for this purpose and reuse it. PiperOrigin-RevId: 467944841
tonihei committed -
PiperOrigin-RevId: 467910378
huangdarwin committed -
This is needed as a pre-requisite for allowing MCVR to control FrameProcessor frame release for previewing. Submitting a high-priority task is conceptually different from posting at the front of a single queue of tasks, as the high-priority tasks are executed in FIFO order among themselves. This will ensure that frame release tasks submitted in close succession are executed in the order they are submitted but before any lower priority tasks. PiperOrigin-RevId: 467675137
Googler committed -
Increase the estimated max sample size for HEVC by 2x, and set a minimum size of 2MB. The 2MB will be applied for resolutions up to 1080p, after which the new calculation takes effect. This is in par with the platform's HEVC software decoder. PiperOrigin-RevId: 467641494
christosts committed -
The specified CMake version doesn't work with the latest Android Studio releases. Updating to a more recent version fixes the problem. Issue: google/ExoPlayer#9933 PiperOrigin-RevId: 467634063
tonihei committed -
This base class will simplify the implementation of custom Player classes. The current version only supports available commands and playWhenReady handling. PiperOrigin-RevId: 467618021
tonihei committed -
PiperOrigin-RevId: 467610621
andrewlewis committed -
* Rename all Rgba instances to Rgb. * Remove alpha value from the RGBA Matrices and apply the 4x4 matrix only to the R, G, B channels. * Restore the alpha from the input unchanged. PiperOrigin-RevId: 467208888
leonwind committed -
This change adds ExternalTextureManager which implements InputListener to only queue input frames to the ExternalTextureProcessor when it is ready to accept an input frame. This replaces the old retry-logic in GlEffectsFrameProcessor. Before this change, the retrying in GlEffectFrameProcessor wasted CPU time if input becomes available faster than the ExternalTextureProcessor can process it. PiperOrigin-RevId: 467177659
Googler committed -
From NDK 23.1.7779620 and above, the arm64-v8a ABI needs additional build flags to correctly link the ffmpeg libraries. Issue: google/ExoPlayer#9933 PiperOrigin-RevId: 467161973
tonihei committed -
In some cases, the IMA SDK fails to call the expected loadAd event to load the next ad to play. This is (potentially) the only remaining case where playback can get stuck due to missing calls from IMA as the player doesn't even have a MediaSource at this stage and is only waiting for IMA to provide the ad URL. We can reuse the existing adPreloadTimeoutMs that was added for a similar purpose (when preloading the first ad in the group). The JavaDoc matches this purpose as well and the default timeout is appropriate since we expect to get the loadAd call immediately. Issue: google/ExoPlayer#10510 PiperOrigin-RevId: 466953617
tonihei committed -
PiperOrigin-RevId: 466735554
Googler committed -
createSupportedTransformationRequest is more accurate than createFallbackTransformationRequest, as a TransformationRequest will be returned regardless of whether any fallback is applied. PiperOrigin-RevId: 466641277
huangdarwin committed
-