- 02 Mar, 2023 9 commits
-
-
PiperOrigin-RevId: 513529059
andrewlewis committed -
This implements `GlShaderProgram` (and is GL-specific). PiperOrigin-RevId: 513528160
andrewlewis committed -
PiperOrigin-RevId: 513516267
tonihei committed -
PiperOrigin-RevId: 513514142
samrobinson committed -
#minor-release PiperOrigin-RevId: 513488487
tonihei committed -
PiperOrigin-RevId: 513482096
tonihei committed -
PiperOrigin-RevId: 513289716
tofunmi committed -
Used an actual captured image with set color profile for test to minimise the chance of the test flaking. Also renamed the media/bitmap/overlay folder to media/bitmap/input_images for clarity. PiperOrigin-RevId: 513273353
tofunmi committed -
If the Metadata passed to SegmentSpeedProvider is null, then the SegmentSpeedProvider will always return 1f from getSpeed. Initializing a SpeedChangingAudioProcessor requires a SpeedProvider. Once configured,this audioProcessor is always active, so buffers are passed through it. Because getSpeed is always 1, the processor performs a no-op, but still has to do a buffer copy for each buffer. By not initializing the audio processor when metadata is null, this copy can be skipped and the audio pipeline is more performant. Note: This change does not affect the multiple media-item case, which is not supported with speed changes, as per Transformer API documentation. PiperOrigin-RevId: 513261811
samrobinson committed
-
- 01 Mar, 2023 15 commits
-
-
Add some additional information which methods to override for available commands. #minor-release PiperOrigin-RevId: 513251805
christosts committed -
Changes include: 1. Move the test fine into muxer module. 2. Use dump file infra for test cases. 3. Add one additional test for adding float metadata. 4. Few improvements in the code. In next CL will remove Mp4 term from the file name as we are not using this term in test file names. PiperOrigin-RevId: 513222506
sheenachhabra committed -
PiperOrigin-RevId: 513213229
tonihei committed -
PiperOrigin-RevId: 513186205
ibaker committed -
These are not supported by Dackka #minor-release PiperOrigin-RevId: 513176533
ibaker committed -
We shouldn't have this logging unless we really need it to debug a specific problem, as it can be noisy (even at debug level). PiperOrigin-RevId: 512904412
andrewlewis committed -
Reference docs are now generated by the standard Jetpack machinery, so there's no need for us to generate these docs ourselves. PiperOrigin-RevId: 512898248
ibaker committed -
#minor-release PiperOrigin-RevId: 512897269
christosts committed -
#minor-release PiperOrigin-RevId: 512890813
tonihei committed -
This lays the groundwork for full multi-asset, and more particularly for adding looping background audio. PiperOrigin-RevId: 512887888
kimvde committed -
Once the value returned from AudioTimestampPoller advances, we only need getPlaybackHeadPosition to sample sync params and verify the returned timestamp. Both of these happen less often and we can avoid calling getPlaybackHeadPosition if we don't actually need it. PiperOrigin-RevId: 512882170
tonihei committed -
Based on 1000 test runs an emulator, with the current timeout releasing fails (even with no custom effects) about one percent of the time. Releasing normally completes in about 30 ms but occasionally `eglTerminate` took up to 200 ms (and even releasing an effect took up to 80 ms in one case). With the new timeout of 500 ms, we still catch stuck effects reasonably quickly but the number of flaky test failures should be less than one in ten thousand. PiperOrigin-RevId: 512690715
andrewlewis committed -
This timeline will be used in unit test cases of follow-up CLs. It basically can be used to emulate the timeline created by a multi-period live media source when the real time advances. PiperOrigin-RevId: 512665552
bachinger committed -
PiperOrigin-RevId: 512659747
tofunmi committed -
Playback parameter signalling can be quite complex because (a) the renderer clock often has a delay before it realizes that it doesn't support a previously set speed and (b) the speed set on media clock sometimes intentionally differs from the one surfaced to the user, e.g. during live speed adjustment or when overriding ad playback speed to 1.0f. This change fixes two problems related to this signalling: 1. When resetting the media clock speed at a period transition, we don't currently tell the renderers that this happened. 2. When a delayed speed change update from the media clock is pending and the renderer for this media clock is disabled before the change can be handled, the pending update becomes stale but it still applied later and overrides any other valid speed set in the meantime. Both edge cases are also covered by extended or new player tests. Issue: google/ExoPlayer#10882 #minor-release PiperOrigin-RevId: 512658918tonihei committed
-
- 27 Feb, 2023 15 commits
-
-
Following test cases are added: 1. Mux H264 video 2. Mux H265 video 3. Mux HDR video Each test case performs following actions: 1. Extract track and samples from input Mp4 using MediaExtractor. 2. Feed those samples into Mp4 muxer. 3. Use extractor to extract the samples from muxed file and create dump file. PiperOrigin-RevId: 512589069
sheenachhabra committed -
MediaCodecRenderer currently has two independent paths to trigger events at stream changes: 1. Detection of the last output buffer of the old stream to trigger onProcessedStreamChange and setting the new output stream offset. 2. Detection of the first input buffer of the new stream to trigger onOutputFormatChanged. Both events are identical for most media. However, there are two problematic cases: A. (1) happens after (2). This may happen if the declared media duration is shorter than the actual last sample timestamp. B. (2) is too late and there are output samples between (1) and (2). This can happen if the new media outputs samples with a timestamp less than the first input timestamp. This can be made more robust by: - Keeping a separate formatQueue for each stream to avoid case A. - Force outputting the first format after a stream change to avoid case B. Issue: google/ExoPlayer#8594 #minor-release PiperOrigin-RevId: 512586838tonihei committed -
Some devices were reported to have wrong PerformancePoint sets that cause 60 fps to be marked as unsupported even though they are supported. Issue: google/ExoPlayer#10898 #minor-release PiperOrigin-RevId: 512580395
tonihei committed -
The output info for a new stream is marked pending until the last sample of the previous stream has been processed. However, this fails if the previous stream has already been fully processed. We need to detect this case explicitly to avoid signalling the output change one sample too late. #minor-release PiperOrigin-RevId: 512572854
tonihei committed -
This test became flaky after https://github.com/google/ExoPlayer/commit/cbb6878f9fef20ea440c6ffda77dd4edc00ce1f2 because some of the unrealistic frame times ended up on the same release time. Using realistic numbers avoids the flakiness. PiperOrigin-RevId: 512566469
tonihei committed -
Uses the first mediaItem's format as the output format. If there is `Presentation` supplied in the `Composition.effects`, add it as the last effect of the first EditedMediaItem. PiperOrigin-RevId: 512082659
claincly committed -
PiperOrigin-RevId: 512079471
kimvde committed -
This is consistent with the code behaviour. PiperOrigin-RevId: 512073465
kimvde committed -
Also remove @WorkerThread annotations, as static checks associated with this annotation aren't useful in this part of the codebase because almost no methods are called on the main thread. This change should be a no-op. PiperOrigin-RevId: 512060367
andrewlewis committed -
We need to use this class in muxer's robolectric and instrumentation tests, hence moving it to test-util module. PiperOrigin-RevId: 512047605
sheenachhabra committed -
Currently if releasing a shader program throws we don't release the GL context, which could leak resources, and any errors are silently dropped as we suppress notifications during releasing. Improve resource cleanup and debuggability of errors from custom effects by continuing to release shaders on failure (for runtime and `VideoFrameProcessingException`s) and always clean up the GL context. Note: this doesn't help with the case where releasing a custom shader blocks for a long time, causing releasing the frame processor to time out. PiperOrigin-RevId: 512042501
andrewlewis committed -
PiperOrigin-RevId: 512038052
kimvde committed -
Protected system broadcasts should not specify the export flag. Marking them as NOT_EXPORTED breaks sticky broadcasts in some cases. Issue: google/ExoPlayer#10970 #minor-release PiperOrigin-RevId: 512020154
tonihei committed -
PiperOrigin-RevId: 512012099
samrobinson committed -
Throw when the output has a video track but the current MediaItem in the sequence doesn't have any video. PiperOrigin-RevId: 512004463
kimvde committed
-
- 24 Feb, 2023 1 commit
-
-
Mayur K committed
-