- 07 Apr, 2022 26 commits
-
-
The placeholder surface is either EGL_NO_SURFACE or a 1x1 pbuffer depending on whether the device supports EGL_KHR_surfaceless_context. PiperOrigin-RevId: 438541846
hschlueter committed -
Since the output textures and surfaces are managed by the FrameProcessorChain, clearing them there makes sense. This is also less error-prone as it might not be obvious to someone implementing a GlFrameProcessor that they need to glClear. (Clearing twice won't cause any problems.) PiperOrigin-RevId: 438532247
hschlueter committed -
https://source.android.com/setup/contribute/respectful-code#term-examples PiperOrigin-RevId: 438335305
hschlueter committed -
Issue: google/ExoPlayer#10065 #minor-release PiperOrigin-RevId: 438281023
christosts committed -
PiperOrigin-RevId: 438253138
samrobinson committed -
Allows for input values to be propagated to the analysis file. PiperOrigin-RevId: 438030322
samrobinson committed -
This requires an additional nanos to micros conversion because the SurfaceTexture uses nanos. But as the timestamps from the MediaCodec decoder (propagated in DefaultCodec#releaseOutputBuffer) are in microseconds no precision is lost here. Also add test that checks output video duration. PiperOrigin-RevId: 438010490
hschlueter committed -
PiperOrigin-RevId: 438010395
christosts committed -
MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE was copied from a test class, but BitmapTestUtil isn't a test. So the javadoc needs rewording to reflect that. PiperOrigin-RevId: 438001833
hschlueter committed -
PiperOrigin-RevId: 438000682
Ian Baker committed -
PiperOrigin-RevId: 437992927
hschlueter committed -
The problem is not the IntDef array, it's the fact the lint tool is unable to correctly infer the annotations on the lambda parameters without them being explicitly annotated. It seems explicitly annotating is better than suppressing all IntDef warnings in the whole method. PiperOrigin-RevId: 437969271
ibaker committed -
PiperOrigin-RevId: 437783926
Ian Baker committed -
Follow-up to <unknown commit> PiperOrigin-RevId: 437777871
ibaker committed -
Util.SDK_INT will not be part of the stable API. This change only touches those parts of the main demo app that will not be opted-in to the unstable API for other reasons (e.g. download use-cases). PiperOrigin-RevId: 437777687
ibaker committed -
PiperOrigin-RevId: 437777445
ibaker committed -
This avoids silent failures where the generated identifiers are 0. PiperOrigin-RevId: 437775689
hschlueter committed -
From Android T onwards `MediaCodec` supports requesting tone-mapping down to SDR. Add an option to request this behavior and document that it isn't supported before T. Also add an option in the demo app to try it out. Tested manually on a prerelease build. PiperOrigin-RevId: 437765325
andrewlewis committed -
PiperOrigin-RevId: 437753013
andrewlewis committed -
The thread name is used to verify the thread in both createOpenGlObjectsAndInitializeFrameProcessors() and processFrame(). Also remove glThread field that was only used for this verification. PiperOrigin-RevId: 437730804
hschlueter committed -
Util.areEqual will not be part of the stable API. PiperOrigin-RevId: 437723080
ibaker committed -
PiperOrigin-RevId: 437710223
Ian Baker committed -
This can help allow Transformer be more aware of issues in high-res videos. PiperOrigin-RevId: 437313282
huangdarwin committed -
PiperOrigin-RevId: 437274290
Ian Baker committed -
Since the output size can be overridden, the viewport should be ouputWidth/Height and NOT the ExternalCopyFrameProcessor's output size which matches the input size. PiperOrigin-RevId: 437256635
hschlueter committed -
A client can pass the id of the track on which they want to seek. PiperOrigin-RevId: 437248055
aquilescanta committed
-
- 28 Mar, 2022 3 commits
-
-
Add RtpPcmReader tests and warning for out of order packets in RtpPcmReader. Change-Id: I1554fa0a944dad00248a0a41fefad958da073a21
Shraddha Basantwani committed -
Rename a few variable to be more relevant Add detailed java docs
Shraddha Basantwani committed -
Shraddha Basantwani committed
-
- 25 Mar, 2022 11 commits
-
-
PiperOrigin-RevId: 437237835
huangdarwin committed -
* The AdvancedFrameProcessor calls use() in updateProgramAndDraw(). * The AdvancedFrameProcessor has the same input and output dimensions. PiperOrigin-RevId: 437231350
hschlueter committed -
This allows the whole startDownloadService() method to be opted into the unstable media3 API in a follow-up change. PiperOrigin-RevId: 437228776
ibaker committed -
Also make GlFrameProcessor, ScaleToFitFrameProcessor, and AdvancedFrameProcessor public. PiperOrigin-RevId: 437227388
hschlueter committed -
These methods can cause errors so we should check for them. https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glClear.xml https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glDrawArrays.xml PiperOrigin-RevId: 437218519
hschlueter committed -
Also force people to use one of the templates Documentation: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms PiperOrigin-RevId: 437210882
ibaker committed -
PiperOrigin-RevId: 437057336
andrewlewis committed -
On some devices, decoding gets stuck when the number of frames pending at the `SurfaceTexture` is too high. We added a workaround that only allows one frame to be pending at a time. That fixed the issue, however, based on on-device testing it seems that it's safe to queue more than one frame. Add a method that returns a safe estimate of the number of frames that can be pending at a time, and use this to limit the number of frames that can be released from the decoder but not processed by the frame processor chain. PiperOrigin-RevId: 437057075
andrewlewis committed -
Configuring the frame sizes between frame processors is now the FrameProcessorChain's rather than the caller's responsibility. The caller can getOutputSize() and override it for encoder fallback in configure(). PiperOrigin-RevId: 437048436
hschlueter committed -
PiperOrigin-RevId: 437237835
huangdarwin committed -
The factory method is replaced by a public constructor and configure() method which configures the input/output surfaces and handles the OpenGL setup. This is a prerequisite for removing the responsibility of the caller to configureSizes() before creating the chain in a follow-up. PiperOrigin-RevId: 437028882
hschlueter committed
-