tofunmi
667103f2bd
Fix SequenceAssetLoader signalling End Of Video Input twice
...
PiperOrigin-RevId: 560170216
2023-08-25 12:46:50 -07:00
sheenachhabra
1f013afea8
Add Mp4ExtractorWrapper into Transformer module
...
For pause and resume feature we need to find the timestamp of
the last sync sample in an MP4 file. The Mp4ExtractorWrapper
provides an easy to use API on top of Mp4Extractor.
PiperOrigin-RevId: 560113112
2023-08-25 09:29:28 -07:00
huangdarwin
01689ba2ec
Compositor: Queue bitmaps by timestamp.
...
This allows us to manage timestamps in one list, instead of both via
offsets/framerates, and a list.
PiperOrigin-RevId: 560053888
2023-08-25 04:44:48 -07:00
claincly
feae0245b9
Remove the textureReleaseCallback from textureOutputListerner
...
PiperOrigin-RevId: 559817280
2023-08-24 11:33:11 -07:00
claincly
28fd43617e
Factor out VideoFrameProcessor logic
...
PiperOrigin-RevId: 559780905
2023-08-24 09:42:21 -07:00
huangdarwin
cd0b7d9e29
Transformer: Document not supporting setTextureOutput on VFP Factory.
...
PiperOrigin-RevId: 559760003
2023-08-24 08:25:33 -07:00
claincly
8c1bedb483
Remove unnecessary types in lambda
...
PiperOrigin-RevId: 559745329
2023-08-24 07:21:52 -07:00
sheenachhabra
a6f9fefb88
Add setSequences method to Composition.Builder
...
For pause and resume feature, we need to buildUpon the
original composition and then set the modified sequences.
PiperOrigin-RevId: 559723694
2023-08-24 05:35:06 -07:00
claincly
930e538aca
Allow re-configuring DVFP in a (mostly) non-blocking manner
...
The first call to method `registerInputStream` doesn't block.
Later successive calls to the method blocks until the previous register call
finishes.
PiperOrigin-RevId: 559694490
2023-08-24 02:55:54 -07:00
sheenachhabra
5276f797e5
Add buildUpon() and setMediaItem() method in EditedMediaItem
...
For pause/resume feature we need to build upon original EditedMediaItem
and set a modified MediaItem to it.
PiperOrigin-RevId: 559484129
2023-08-24 09:32:09 +01:00
tofunmi
404a259295
Remove queueInputBitmap by framerate and duration interfaces
...
PiperOrigin-RevId: 559384011
2023-08-24 09:25:49 +01:00
samrobinson
64c2406c1e
Use TestUtil value for frame count.
...
PiperOrigin-RevId: 559380901
2023-08-24 09:21:32 +01:00
samrobinson
ff39726368
Remove redundant "aac" tag for dump file.
...
PiperOrigin-RevId: 559147235
2023-08-24 09:17:32 +01:00
samrobinson
2309fc5edb
Add AudioGraph test verifying silence outputs correct amount of bytes.
...
PiperOrigin-RevId: 559072505
2023-08-22 15:47:54 +01:00
samrobinson
b7782b5119
Inline ProgressHolder and ArgumentCaptor test class variables.
...
PiperOrigin-RevId: 559069221
2023-08-22 15:46:13 +01:00
samrobinson
7346029f72
Use TemporaryFolder @Rule for automated tear down of temp files.
...
Reduce @Before specific logic, following java dev guide.
PiperOrigin-RevId: 558825609
2023-08-22 15:42:07 +01:00
samrobinson
ae7667783c
Split dump file directories based on input file name.
...
Remove old unused dump files.
PiperOrigin-RevId: 558820926
2023-08-22 15:39:28 +01:00
huangdarwin
350b394596
Compositor: Add tests for 1, 3, and 5 inputs.
...
With this, Compositor now handles an arbitrary number of inputs!
PiperOrigin-RevId: 558813361
2023-08-22 15:38:05 +01:00
tofunmi
521c210fd1
Create Timestamp iterator
...
PiperOrigin-RevId: 558738035
2023-08-22 15:27:42 +01:00
samrobinson
352916b182
Add parameterized tests for generating silence.
...
Covers all permutations&combinations of:
* AV asset.
* AV asset with effects.
* AV asset with silence.
* AV asset with silence and effects.
Note that the video is not relevant (therefore transmuxed), but is
needed for silence generation.
PiperOrigin-RevId: 558734593
2023-08-22 15:26:19 +01:00
samrobinson
54797d4cc5
Use @Rule and other util to simplify ParameterizedAudioExportTest.
...
PiperOrigin-RevId: 558168355
2023-08-22 15:19:15 +01:00
samrobinson
99ac6feeee
Add varargs convenience constructors to Sequence & Composition.Builder
...
Improves API ease-of-use & readability and reduces verbose boilerplate.
PiperOrigin-RevId: 558163557
2023-08-22 15:17:55 +01:00
samrobinson
2db6f0aee7
Ensure audio components check incoming data is valid.
...
Default PCM encoding is only set for decoders outputting raw.
Tests migrated to abide by tighter restrictions.
PiperOrigin-RevId: 558129452
2023-08-18 15:33:44 +01:00
sheenachhabra
15650c6bf3
Add buildUpon method in Composition
...
We will need to build upon original composition
for pause and resume feature and will have to set modified sequences.
In the next CL, will add method to set sequences on builder and will
probably remove it from the constructor parameter (to avoid providing
two APIs for same thing).
PiperOrigin-RevId: 558127334
2023-08-18 15:32:28 +01:00
huangdarwin
030d8148ba
Test: Add debug info to debug test failure
...
I wasn't able to reproduce the error in the bug by running videoTranscoding_withTextureInput_completesWithCorrectFrameCountAndDuration
100 times, but I figured this added debug info may help the next time the
issue is seen.
PiperOrigin-RevId: 558118443
2023-08-18 15:31:00 +01:00
huangdarwin
39bc92ffcf
Compositor: Use multi-stage rendering and occlude background.
...
PiperOrigin-RevId: 558110739
2023-08-18 15:28:23 +01:00
huangdarwin
86678b99ce
Decoder: Add SM-F721 to HLG blocklist.
...
Not only restricted to SM-F721B, per other [Models](https://www.gsmarena.com/samsung_galaxy_z_flip4-11538.php#:~:text=SM%2DF721B%2C%20SM%2DF721B/DS%2C%20SM%2DF721N%2C%20SM%2DF721U%2C%20SM%2DF721U1%2C%20SM%2DF721W ).
PiperOrigin-RevId: 557857282
2023-08-18 15:17:48 +01:00
tofunmi
dd0f88490c
Add ability to queue bitmap by timestamp to the sampleConsumer
...
PiperOrigin-RevId: 557837922
2023-08-18 15:16:24 +01:00
huangdarwin
a3de5978e0
Test: Use unpremultiplied alpha for GL output.
...
In addition to this being how Alpha should be handled, tests do fail under
API 29 without this CL. Unfortunately while these tests do fail under API 29
without this CL, we currently only run this test on API 33 emulators, so we
didn't catch this failure earlier (until compositor tests on mh failed on all
devices under API 29 and succeeded on all at or over 29).
PiperOrigin-RevId: 557781757
2023-08-18 15:11:12 +01:00
samrobinson
74fa0ed6bf
Move FakeAssetLoader to inner class of MediaItemExportTest.
...
MediaItemExportTest is the only class using this FakeAssetLoader, so it
should be moved out of TestUtil.
PiperOrigin-RevId: 557546717
2023-08-16 22:03:14 +01:00
samrobinson
27bc2e6844
Add new effects helper util for unit tests.
...
PiperOrigin-RevId: 557515564
2023-08-16 22:01:52 +01:00
jbibik
14e5b5b865
Mark CompositionPlayerTest as ClosedSource and copybara exclusion
...
#minor-release
PiperOrigin-RevId: 557416683
2023-08-16 14:33:02 +01:00
samrobinson
9670c74044
Add parameterized test for audio export.
...
Verifies export completes successfully for every permutation.
PiperOrigin-RevId: 557157527
2023-08-16 14:28:35 +01:00
samrobinson
86b9fdae63
Merge TransformerAudio E2E tests into Transformer E2E class.
...
PiperOrigin-RevId: 557113117
2023-08-15 14:38:16 +01:00
samrobinson
ab8c5a6b63
Clarify & reduce the ShadowMediaCodec configurations added by default.
...
PiperOrigin-RevId: 556875714
2023-08-14 20:35:06 +01:00
samrobinson
c740b58efa
Add API for injecting AudioMixer.Factory.
...
Rename AudioMixerImpl to DefaultAudioMixer.
Removes the AudioMixerImpl specific getOutputAudioFormat, as the caller
defines and sets this.
PiperOrigin-RevId: 555887722
2023-08-11 20:26:21 +00:00
samrobinson
6045190103
Rename TestMuxer to CapturingMuxer to match other dumpable components.
...
See CapturingAudioSink, CapturingRenderersFactory etc.
PiperOrigin-RevId: 555437158
2023-08-10 12:32:31 +00:00
huangdarwin
fd5784455c
Compositor: Add test for correct input timestamps.
...
To ensure that for each output bitmap from the compostor, the right input
timestamps were used.
Only applied on a subset of tests to avoid needing to upload+maintain
too many files/size in the test binary, especially when it would test
duplicate behavior
PiperOrigin-RevId: 555222530
2023-08-10 12:29:21 +00:00
samrobinson
79725fd332
Use TestMuxer.Factory as the holder of the Dumpable test muxer.
...
PiperOrigin-RevId: 555222322
2023-08-10 12:28:18 +00:00
claincly
7e12d7619a
Avoid create short lived object
...
PiperOrigin-RevId: 555204528
2023-08-10 12:27:00 +00:00
kimvde
2a645ac2b6
Add CompositionPlayer listener tests
...
PiperOrigin-RevId: 555139635
2023-08-10 12:20:03 +00:00
claincly
e8a18e208a
Improve DebugTraceUtil logging
...
PiperOrigin-RevId: 554872827
2023-08-10 12:10:50 +00:00
christosts
cba027c3b4
Util.getMaxPendingFramesCountForMediaCodecDecoders(): Remove unused arguments
...
PiperOrigin-RevId: 554838494
2023-08-10 12:05:08 +00:00
kimvde
f43146718c
Add CompositionPlayer unit test
...
Test the audio side only because the video side won't be testable with
unit tests once we add the OpenGL components.
PiperOrigin-RevId: 554508703
2023-08-10 11:59:42 +00:00
samrobinson
cc141f7bf4
Use specific type for SequenceAssetLoader internal logic.
...
PiperOrigin-RevId: 554431024
2023-08-07 11:36:43 +00:00
samrobinson
42425334ae
Mark always passing test as @Ignore.
...
Added a TODO inline linking to the created bug to address this.
PiperOrigin-RevId: 554422990
2023-08-07 11:35:34 +00:00
samrobinson
82387ccfe6
Remove unneeded check against silence generator remaining.
...
PiperOrigin-RevId: 553771328
2023-08-07 11:33:37 +00:00
huangdarwin
80d63a32d3
Test: Generalize Compositor tests for multi-input, and add more tests.
...
Tests are added for offset streams with gaps in the middle
PiperOrigin-RevId: 553510171
2023-08-07 11:32:38 +00:00
huangdarwin
05782a7e99
Compositor: Add support for mismatched timestamps.
...
This means we now require 2+ input frames per input, and compare the primary
stream timestamp with secondary stream timestamps in order to select the
correct output timestamp. We also must release frames and back-pressure as
soon as possible to avoid blocking upstream VFPs.
Also, improve signalling of VFP onReadyToAcceptInputFrame
PiperOrigin-RevId: 553448965
2023-08-07 11:29:44 +00:00
sheenachhabra
876b767356
Fix nit issues in muxer tests
...
PiperOrigin-RevId: 553145104
2023-08-07 11:25:20 +00:00