- 21 Mar, 2023 16 commits
-
-
PiperOrigin-RevId: 518257650
Googler committed -
Reduce nesting by using an early return. Also, rename `outputSizeOrRotationChanged` to `outputChanged`, because this also applies to when the output surface changes. Also, update local variable initialization, add some javadoc, and remove unneeded local variable PiperOrigin-RevId: 518241708
huangdarwin committed -
The fix is as per MP4 spec ISO/IEC 14496-12 PiperOrigin-RevId: 518240043
sheenachhabra committed -
The content timeline field may be updated when the live timeline is refreshed in the looper event preceding the runnable that is posted to the player thread. Hence a new timeline may contain a new period uid that is not present in the ad playback state map. Using a final reference makes sure period and ad playback state match when asserted. PiperOrigin-RevId: 518228165
bachinger committed -
This change makes sure that live ad periods that are played are skip when attempted to be added to the queue. To make this work the existing filter logic had to be take into account the content resume offset that live periods use. PiperOrigin-RevId: 518068138
bachinger committed -
FEATURE_HdrEditing is only available on and above API 33, so it doesn't make sense to check for support under API 33. PiperOrigin-RevId: 518036855
huangdarwin committed -
The FakeExtractorOutput dumps data in more readable format so using that where ever possible. The MdtaMetadataEntry which contains key and value dumped only "key". Added fix to dump "value" as well. PiperOrigin-RevId: 517968996
sheenachhabra committed -
PiperOrigin-RevId: 517953981
bachinger committed -
PiperOrigin-RevId: 517933485
sheenachhabra committed -
PiperOrigin-RevId: 517444208
kimvde committed -
PiperOrigin-RevId: 517418886
kimvde committed -
This was trimmed using the Transformer Demo, from ~4 seconds to 300ms Otherwise, this test file will be quite large, and folks who clone the repo will have to clone this content as well. Trimming the file also allows the test to take less time, while still testing the core purpose of the file, to confirm that 4k extraction/decode/GL/encode/muxing works. PiperOrigin-RevId: 517408463
huangdarwin committed -
* Reorder methods. * Arrange, act, assert split. PiperOrigin-RevId: 517158351
samrobinson committed -
https://github.com/google/ExoPlayer/commit/ddbad570311fec7df635b0b6da9083be82291b50 added clearing depth buffers to GLUtil, so there is no need to have allow apps to have a custom clearOutputFrame. Also removes default implementations in GLObjectsProvider know that these methods have been implemented. PiperOrigin-RevId: 517156304
tofunmi committed -
PiperOrigin-RevId: 517144710
tianyifeng committed -
* Add `release` method to Renderer and AudioSink interfaces. * Call the `release` method for renderers when the ExoPlayer is going to be released. PiperOrigin-RevId: 517135677
tianyifeng committed
-
- 16 Mar, 2023 8 commits
-
-
PiperOrigin-RevId: 517128752
Rohit Singh committed -
PiperOrigin-RevId: 517127021
samrobinson committed -
Shorten the demo's default trim range from 0-10s to 0-1s, and change the UI-supported trim range from 0-60s to 0-10s. Most demo videos aren't very long, and the default demo is 10 seconds. The use-case for trimming in the demo seems to be mostly for validating trimming works, or generating test media. Test media should tend to be short in order to be small, so shortening the trim range helps this be accomplished more effectively. PiperOrigin-RevId: 517103583
huangdarwin committed -
#minor-release PiperOrigin-RevId: 517086016
rohks committed -
PiperOrigin-RevId: 517067549
Rohit Singh committed -
[GL documentation for glClear](https://registry.khronos.org/OpenGL-Refpages/gl4/html/glClear.xhtml) says "If a buffer is not present, then a glClear directed at that buffer has no effect." so it's okay to clear the depth buffer even if there isn't one set. Also manually tested to have no impact when contrast effect and dizzy crop effect form transformer demo was added to image/video input. PiperOrigin-RevId: 516879598
tofunmi committed -
This test file used to be remote, which led to various errors in loading the file or timing out during the muxer or overall transformer. export4k60 test timing on Pixel 7: |Condition |elapsedTimeMs|AS Test "Duration" (s)| |--------------------------|-------------|----------------------| |local file (this CL) |4253 |14 | |Remote file, googleguest |5510 |17 | |Remote file, 4G |11423 |25 | PiperOrigin-RevId: 516815462
huangdarwin committed -
With the Mp4Muxer, while writing a large file if the something unexpected happens and muxer is not closed properly then it still outputs a valid MP4 file with partial data. PiperOrigin-RevId: 516572804
sheenachhabra committed
-
- 15 Mar, 2023 2 commits
-
-
Haixia Shi committed
-
This adds vpcC atom parsing based on the open-source FFmpeg implementation (https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/vpcc.c#L213) This fix is needed to have correct color space parsing in vpcC atom because Instagram serves HDR VP9 encodings in MP4 containers.
Haixia Shi committed
-
- 14 Mar, 2023 14 commits
-
-
#minor-release PiperOrigin-RevId: 516550914
tonihei committed -
While playback thread is 'asleep' during audio offload playback, the playbackInfo.positionUs is not being constantly updated. During this time, the returned value from getCurrentPosition should return an estimate based on the most recent value and playback speed. PiperOrigin-RevId: 516550509
michaelkatz committed -
- To support looping EditedMediaItemSequences, we need a way to tell the AssetLoader that a sample couldn't be consumed and that it should retry later. This is necessary in case we don't know yet whether the looping sequence should load more samples because the other sequences haven't made sufficient progress yet. - The decision on whether to consume a sample is based on its timestamp so it needs to be available. PiperOrigin-RevId: 516546026
kimvde committed -
Instead of using a long frameDurationUs with Math.floor, use a double frameDurationUs with Math.round, Before, playing an image with 30 fps over 1 second would result in the final timestamp not being aligned to the expected 1 second timestamp. Over long periods of time, this can lead to significant timestamp drift. Additionally, for TimestampWrapper and constrained multi-asset, where TimestampWrapper begins the 2nd effect on the 2nd asset's startTimeUs, this floor() behavior can lead to the first few frames of the 2nd asset using the first asset's effects, due to timestamps being mismatched. PiperOrigin-RevId: 516529240
huangdarwin committed -
#minor-release PiperOrigin-RevId: 516514583
tonihei committed -
PiperOrigin-RevId: 516499906
sheenachhabra committed -
This test is not run on emulator, triage or postsubmit, and does not provide value to the library in it's current state. It could be deleted, however it still may have use for analysis of exported files on MH. PiperOrigin-RevId: 516491160
samrobinson committed -
PiperOrigin-RevId: 516478351
tonihei committed -
Andrew Lewis committed
-
PiperOrigin-RevId: 516314175
sheenachhabra committed -
PiperOrigin-RevId: 516300480
tofunmi committed -
- The ExoPlayer docs will link to the media3 ones (for now, we can permanently redirect once no further stand-alone ExoPlayer release is published). - Contibuting issues and PRs should only happen on the media3 repo. - The media3 README is updated to remove any pre-release status information. PiperOrigin-RevId: 516234594
tonihei committed -
* Add AudioDeviceCallbackApi23 class which extends the AudioDeviceCallback. * Add registerAudioDeviceCallback and unregisterAudioDeviceCallback methods for Api23. * Modify the logics of AudioCapabilitiesReceiver constructor, register and unregister methods. PiperOrigin-RevId: 516183997
tianyifeng committed -
Log Format.colorInfo in EventLogger and the demo app's debug text. #minor-release PiperOrigin-RevId: 516172936
christosts committed
-