Commit graph

21768 commits

Author SHA1 Message Date
huangdarwin
05fcda510a HDR: Update experimental_setEnableHdrEditing javadoc.
Previously, this feature interpreted SDR signals as HDR when called. Now, only HDR
streams are interpreted as HDR, so the javadoc should be updated. Not yet removing
this method, as there are still some loose ends to finish up (ex. PQ support, e2e
tests).

PiperOrigin-RevId: 466425738
2022-09-30 16:27:27 +00:00
huangdarwin
ec6ed0d55f Demo: Add legacy external storage permission for intents.
Without this permission, files in `/sdcard` or other directories cannot be read by the demo, as they're not in the transformer demo's scoped storage container.

For more information, see https://developer.android.com/training/data-storage/use-cases

Tested by uninstalling and re-installing the demo app, granting permission by
starting a transformation, and launching an intent using a local file in `/sdcard`
to start another transformation. Without this CL, this threw an error, and with
this CL it succeeded.

PiperOrigin-RevId: 466399023
2022-09-30 16:26:28 +00:00
hmzh
3bd91707dc Add JSyn library build instructions for the MIDI module
PiperOrigin-RevId: 466370644
2022-09-30 16:25:10 +00:00
Googler
1bdc252d2c Remove times(1) from effect and transformer tests as it is the default.
PiperOrigin-RevId: 466324322
2022-09-30 16:24:11 +00:00
huangdarwin
35161c7489 HDR: Rename ColorInfo#isHdr to isTransferHdr.
While HDR is most closely tied to the color transfer (ex.
COLOR_TRANSFER_SDR is the only one explicitly mentioning dynamic
range), technically color spaces may be associated with HDR as well,
like BT.2020 commonly being used for HDR rather than BT.709 for SDR.

Therefore, it's more specific to mention just that the transfer is HDR.

PiperOrigin-RevId: 466316960
2022-09-30 16:23:12 +00:00
Googler
7dc05edbab Split GlTextureProcessor.Listener into input/output/error listener.
This simplifies ChainingGlTextureProcessor as it now only connects a
consuming and a producing GlTextureProcessor rather than a previous,
current, and next GlTextureProcessor.

Also use default no-op implementations of the listeners in
SingleFrameGlTextureProcessor and MediaPipeProcessor to avoid
null-checks.

PiperOrigin-RevId: 466301642
2022-09-30 16:22:08 +00:00
huangdarwin
536d42c865 HDR: Input ColorInfo to the FrameProcessor.
This allows the GlEffectsFrameProcessor to later handle HLG and PQ
differently, or limited and full color range differently.

No functional change intended in this CL.

PiperOrigin-RevId: 466070764
2022-09-30 16:21:05 +00:00
hmzh
579f25802a Add a custom MIME type for MIDI
PiperOrigin-RevId: 466032455
2022-09-30 16:20:02 +00:00
andrewlewis
2315a39f52 Remove unused log tag constant
PiperOrigin-RevId: 466025324
2022-09-30 16:19:02 +00:00
hmzh
22b00d0e00 Add support for multiple mid-track tempo changes
PiperOrigin-RevId: 466018462
2022-09-30 16:17:58 +00:00
huangdarwin
fdd72aed5a Effect: Update javadoc to remove "final effect" references
"Final" was likely added to reference the FinalMatrixTextureProcessorWrapper,
which is a package-private class. However, I think more clear to express that
this is the input size, which then has all effects applied, to get the output
size.

PiperOrigin-RevId: 477975358
(cherry picked from commit 7286155fc3)
2022-09-30 13:24:26 +00:00
huangdarwin
5abbfd774b Effect: Update javadoc to remove "final effect" references
"Final" was likely added to reference the FinalMatrixTextureProcessorWrapper,
which is a package-private class. However, I think more clear to express that
this is the input size, which then has all effects applied, to get the output
size.

PiperOrigin-RevId: 477975358
(cherry picked from commit de82a2be33)
2022-09-30 13:24:26 +00:00
huangdarwin
49cc724a32 Tests: Statically import BitmapTestUtil methods.
Per go/java-practices/imports#static

No functional changes intended.

PiperOrigin-RevId: 477974779
(cherry picked from commit da2c6376cd)
2022-09-30 13:20:49 +00:00
huangdarwin
65a9bd2dfa Tests: Statically import BitmapTestUtil methods.
Per go/java-practices/imports#static

No functional changes intended.

PiperOrigin-RevId: 477974779
(cherry picked from commit d5c272fde8)
2022-09-30 13:20:49 +00:00
Rakesh Kumar
9f8d69929d Fix review comment in CSD parsing of Mp4a-Latm Reader
Change-Id: I6fc07d88a7dbc52fc2fbe0e5ad45a53f8f25c4fd
2022-09-30 14:07:27 +05:30
Rakesh Kumar
4880057f92 Fix some more review comment in RTP Mp4a-Latm Reader
Change-Id: I9033d0bd93c6129c64c41ce70fef26bf8a6e4b6e
2022-09-30 14:05:53 +05:30
huangdarwin
b49c2aab62 Test: Rename to avoid redundant substrings.
Rename test files to avoid substrings that can be implied by the directory name,
like "Transformation" and "Test"

No functional changes. Renaming-only.

PiperOrigin-RevId: 477724724
(cherry picked from commit 9786802527)
2022-09-29 14:54:25 +00:00
huangdarwin
3fd8e47245 Test: Rename to avoid redundant substrings.
Rename test files to avoid substrings that can be implied by the directory name,
like "Transformation" and "Test"

No functional changes. Renaming-only.

PiperOrigin-RevId: 477724724
(cherry picked from commit 62b95a7190)
2022-09-29 14:54:25 +00:00
samrobinson
9639f82879 Demo: Split video Effect generation out of createTransformer.
PiperOrigin-RevId: 477524540
(cherry picked from commit 26a73605f8)
2022-09-28 19:39:09 +00:00
samrobinson
c08e4b664b Demo: Split video Effect generation out of createTransformer.
PiperOrigin-RevId: 477524540
(cherry picked from commit 1cfe18cd1f)
2022-09-28 19:39:09 +00:00
huangdarwin
09776f3d72 HDR: Add period to end of error message.
For tone mapping error messages.

PiperOrigin-RevId: 477447799
(cherry picked from commit 05ce639ea0)
2022-09-28 14:30:48 +00:00
huangdarwin
55a7316158 HDR: Add period to end of error message.
For tone mapping error messages.

PiperOrigin-RevId: 477447799
(cherry picked from commit 1711d7f4c2)
2022-09-28 14:30:48 +00:00
huangdarwin
619333fe3c HDR: Add tests for tone mapping.
Also, add checks for output file color.

PiperOrigin-RevId: 477439139
(cherry picked from commit 507a1be61d)
2022-09-28 13:42:36 +00:00
huangdarwin
875766ddfe HDR: Add tests for tone mapping.
Also, add checks for output file color.

PiperOrigin-RevId: 477439139
(cherry picked from commit aec4fe7387)
2022-09-28 13:42:36 +00:00
ibaker
0be36d084b Add a troubleshooting section about slow seeking
#minor-release

PiperOrigin-RevId: 477432256
(cherry picked from commit f8f2ec64c9)
2022-09-28 13:15:03 +00:00
Googler
ff22da9011 Fix checkboxes on configuration page
PiperOrigin-RevId: 477166507
(cherry picked from commit bb811f0da5)
2022-09-27 14:31:59 +00:00
Googler
3b97b99230 Fix checkboxes on configuration page
PiperOrigin-RevId: 477166507
(cherry picked from commit bcea7bd355)
2022-09-27 14:31:59 +00:00
bachinger
4d073799e0 Remove unofficial link from test case
PiperOrigin-RevId: 477101201
(cherry picked from commit 9e310150a9)
2022-09-27 08:08:15 +00:00
samrobinson
d348157777 Fix badly formatted AudioProcessor javadoc.
PiperOrigin-RevId: 476909855
(cherry picked from commit 9b1909e563)
2022-09-26 16:00:10 +00:00
samrobinson
b39dff76af Fix badly formatted AudioProcessor javadoc.
PiperOrigin-RevId: 476909855
(cherry picked from commit 3e4aa050da)
2022-09-26 16:00:10 +00:00
tonihei
c91cdb49e0 Remove test that just times out
One of the tests in MediaBrowserListenerTest caused the remote
browser service to crash and then just timed out. As this asserts
nothing useful besides checking that the timeout method is working,
we can remove the test.

Crashing the remote browser service had the side effect of letting
subsequent tests in the same class fail because the previous session
was never released and was still present in the static MediaSession
SESSION_ID_TO_SESSION_MAP instance, which prevented the creation
of new sessions with the same id. This is only an issue in test
runs because a real process would also lose its static variables
when it crashes.

PiperOrigin-RevId: 476905337
(cherry picked from commit d2887d5237)
2022-09-26 15:39:47 +00:00
bachinger
05ebdb9211 Don't start the service in the foreground with a pause intent
`PlaybackStateCompat.toKeyCode(command)` was replaced by our
own implementation of `toKeyCode()`. The legacy implementation used PLAY and PAUSE, while the new implementation uses PLAY_PAUSE. This made `pause` a pending intent that attempt to start the service in the foreground, but `service.startForeground()` won't be called in `MediaNotificationManager.updateNotificationInternal` when paused.

PiperOrigin-RevId: 476895752
(cherry picked from commit acd9e581c4)
2022-09-26 14:56:00 +00:00
huangdarwin
c9f019eb15 HDR: Update gamma comments to linear.
Comment-only change.

PiperOrigin-RevId: 476873286
(cherry picked from commit f3d132141e)
2022-09-26 13:00:17 +00:00
huangdarwin
4c3acbf739 HDR: Update gamma comments to linear.
Comment-only change.

PiperOrigin-RevId: 476873286
(cherry picked from commit 16dca1828c)
2022-09-26 13:00:17 +00:00
bachinger
cc6c6aa62b Call callback future listeners on app handler
Calling maybeUpdateLegacyErrorState potentially creates a new legacy playback
state which involves calling player methods. This change makes sure that the call
sites of `maybeUpdateLegacyErrorState` are called on the app thread as enforced by
the library.

PiperOrigin-RevId: 476406282
(cherry picked from commit 74124f48ea)
2022-09-23 17:34:25 +00:00
tonihei
289d039410 Add setPreferredAudioDevice method to ExoPlayer
This allows to access the associated functionality of AudioTrack and
fills a feature gap to MediaPlayer, which has a similar method.

Issue: androidx/media#135
PiperOrigin-RevId: 476398964
(cherry picked from commit ccb820dd2f)
2022-09-23 17:05:43 +00:00
tonihei
e1b947ec92 Add setPreferredAudioDevice method to ExoPlayer
This allows to access the associated functionality of AudioTrack and
fills a feature gap to MediaPlayer, which has a similar method.

Issue: androidx/media#135
PiperOrigin-RevId: 476398964
(cherry picked from commit a069ebda47)
2022-09-23 17:05:43 +00:00
leonwind
8b807432ca Add example CLUT to demo.
PiperOrigin-RevId: 476390089
(cherry picked from commit 29cf09316e)
2022-09-23 16:28:25 +00:00
leonwind
638d806a49 Add example CLUT to demo.
PiperOrigin-RevId: 476390089
(cherry picked from commit 5b3efa8ad9)
2022-09-23 16:28:25 +00:00
leonwind
0a1f30aba5 Store LUT bitmap as texture with processor creation.
* Before this CL, the texture was stored during the construction of the LUT processor. This failed since if one creates a list of GlEffects on the application thread, the texture will get stored in the application thread during the effect creation and not on the GL thread, which executes the FrameProcessors.
* This is an issue since the executing thread then can't index from the texture stored on a different thread.

PiperOrigin-RevId: 476388021
(cherry picked from commit f745c6ee0e)
2022-09-23 16:19:43 +00:00
Marc Baechinger
d648c1910c Merge pull request #123 from stoyicker:wrapping_media_source
PiperOrigin-RevId: 476376463
(cherry picked from commit 8623f1f016)
2022-10-19 23:42:52 +00:00
leonwind
09e0dd8505 Store LUT bitmap as texture with processor creation.
* Before this CL, the texture was stored during the construction of the LUT processor. This failed since if one creates a list of GlEffects on the application thread, the texture will get stored in the application thread during the effect creation and not on the GL thread, which executes the FrameProcessors.
* This is an issue since the executing thread then can't index from the texture stored on a different thread.

PiperOrigin-RevId: 476388021
(cherry picked from commit 44b9aec0b9)
2022-09-23 16:19:43 +00:00
Marc Baechinger
a7102992ba Merge pull request #123 from stoyicker:wrapping_media_source
PiperOrigin-RevId: 476376463
(cherry picked from commit cac8c4f6e9)
2022-09-30 18:15:30 +00:00
leonwind
61a2cc76aa Add HSL Adjustments to the demo.
PiperOrigin-RevId: 476373520
(cherry picked from commit 5725ebbeea)
2022-09-23 15:11:52 +00:00
leonwind
20518cc151 Add HSL Adjustments to the demo.
PiperOrigin-RevId: 476373520
(cherry picked from commit 7626f70cef)
2022-09-23 15:11:52 +00:00
ibaker
55e44b1399 Fix broken links on https://exoplayer.dev/troubleshooting.html
#minor-release

PiperOrigin-RevId: 476366214
(cherry picked from commit 0969118041)
2022-09-23 14:41:59 +00:00
leonwind
a21d79cf1f Remove TODOs for merging RGB and MatrixTransformation processors.
PiperOrigin-RevId: 476362571
(cherry picked from commit 7eb0ce623b)
2022-09-23 14:21:38 +00:00
leonwind
91fb951e2a Remove TODOs for merging RGB and MatrixTransformation processors.
PiperOrigin-RevId: 476362571
(cherry picked from commit af19f82f99)
2022-09-23 14:21:38 +00:00
michaelkatz
dd425613b7 Try alternative decoder for Dolby Vision if display does not support
If the sample type is dolby vision and the following conditions match
a)There is a supported alternative codec mimetype
b)Display does not support Dolby Vision
Then getDecoderInfos will return the alternative types.

Issue: google/ExoPlayer#9794
PiperOrigin-RevId: 476356223
(cherry picked from commit ed79f4696f)
2022-09-23 13:43:21 +00:00
michaelkatz
9ac9322a45 Try alternative decoder for Dolby Vision if display does not support
If the sample type is dolby vision and the following conditions match
a)There is a supported alternative codec mimetype
b)Display does not support Dolby Vision
Then getDecoderInfos will return the alternative types.

Issue: google/ExoPlayer#9794
PiperOrigin-RevId: 476356223
(cherry picked from commit 94a88e93d9)
2022-09-23 13:43:21 +00:00