17377 Commits

Author SHA1 Message Date
claincly
ff59764978 Fix outdated RtpDataLoadable javadoc
PiperOrigin-RevId: 469443086
(cherry picked from commit b9bcf5224f2fbdfb26db8bea9681fa8e10acdab5)
2022-08-23 13:41:49 +00:00
leonwind
d2fb190dc9 Bind contrastFactor in constructor instead of drawFrame method.
PiperOrigin-RevId: 469438747
(cherry picked from commit 9a1e7fbdf41e9de1f5d69590a305ebfafaa3ad07)
2022-08-23 13:16:17 +00:00
leonwind
5ace28044d Bind contrastFactor in constructor instead of drawFrame method.
PiperOrigin-RevId: 469438747
(cherry picked from commit 7e5dcf2360190e05d000d0fe4a18f2bca252fabe)
2022-08-23 13:16:17 +00:00
rohks
2af7d877d7 Replace usage of android_binary with build_test for libraries
`android_binary` is only required when building an application.

PiperOrigin-RevId: 469413752
(cherry picked from commit f01896af156efdafeaef6a5eb13e9d251a2e1d57)
2022-08-23 10:24:29 +00:00
rohks
e3103a3c4b Replace usage of android_binary with build_test for libraries
`android_binary` is only required when building an application.

PiperOrigin-RevId: 469413752
(cherry picked from commit 280705734df19305c57c45e7732d9634bbfea7ec)
2022-08-23 10:24:29 +00:00
Marc Baechinger
f73018a269 Merge pull request #157 from vanniktech:onAddMediaItems-example
PiperOrigin-RevId: 469410221
(cherry picked from commit ca41026c5b4d03815e83c85987efceee5fe2e144)
2022-09-30 16:56:19 +00:00
claincly
218e97fadf Handle initial RTSP seek
PiperOrigin-RevId: 469143613
(cherry picked from commit c611435521a868d6675556f05bd2e325355b7e02)
2022-08-22 10:39:48 +00:00
claincly
11a26a88e5 Handle initial RTSP seek
PiperOrigin-RevId: 469143613
(cherry picked from commit a62cf312b7fb1d134cf33944e7afa9130af378d4)
2022-08-22 10:39:48 +00:00
Niklas Baudy
31e69d2dac MediaSession.Callback: Document an example when onAddMediaItems is called. 2022-08-19 15:35:59 +02:00
Googler
5bdb165943 Reassign TODO to new bug.
PiperOrigin-RevId: 468672505
(cherry picked from commit 010ecec89dcaf74d9536f92a5b99152d99816dfa)
2022-08-19 11:30:19 +00:00
Googler
a265a9bb0f Reassign TODO to new bug.
PiperOrigin-RevId: 468672505
(cherry picked from commit ee04bb882509bb072d403d3ff487fd1a02b776d3)
2022-08-19 11:30:19 +00:00
bachinger
8ca462b8f1 Fix issue link in release notes
PiperOrigin-RevId: 468670096
(cherry picked from commit c0cfb0b1b2945ee536b927653535b5605e79f710)
2022-08-19 11:09:43 +00:00
bachinger
f9336663b6 Add device info to CastPlayer
Issue: androidx/media#142
PiperOrigin-RevId: 468666737
(cherry picked from commit d6442f63fa9cb3e5197109d11cadcd482ef5c6a4)
2022-08-19 10:45:11 +00:00
bachinger
24d35a4bef Add device info to CastPlayer
Issue: androidx/media#142
PiperOrigin-RevId: 468666737
(cherry picked from commit d204f6bf7e94bbfb8eaa0b312b4b95f74010841e)
2022-08-19 10:45:11 +00:00
Googler
60d3e8e26b Change onOutputFrameAvailable timestamp from nanos to micros.
Upstream timestamps from the decoder are also in microseconds,
so using microseconds here is consistent with that.

PiperOrigin-RevId: 468659099
(cherry picked from commit 4e7f9c575d9ff003f1cc4d4a9f464c6df6b4077a)
2022-08-19 09:47:28 +00:00
Googler
373ac4c7bd Change onOutputFrameAvailable timestamp from nanos to micros.
Upstream timestamps from the decoder are also in microseconds,
so using microseconds here is consistent with that.

PiperOrigin-RevId: 468659099
(cherry picked from commit 0b1c540ff96b4f4f4ff7cff16a2e51674a42a0c2)
2022-08-19 09:47:28 +00:00
hmzh
5c95b41d3c Fix the command sample size given to trackOutput.
Remove the manual overwriting of Note ON events that have 0 velocity with Note OFF. JSyn handles this already.

- The implementation of "running status" means that the amount of bytes read from the file differ from the size of the sample that ends up in the decoder. The decoder sample contains the applied running status (status of previous event), which the file bytes don't contain.

PiperOrigin-RevId: 468537659
(cherry picked from commit 53218b50d465939b74a64fdc87ecaca5f1a95b57)
2022-08-18 20:44:21 +00:00
hmzh
d7523d03bc Fix the command sample size given to trackOutput.
Remove the manual overwriting of Note ON events that have 0 velocity with Note OFF. JSyn handles this already.

- The implementation of "running status" means that the amount of bytes read from the file differ from the size of the sample that ends up in the decoder. The decoder sample contains the applied running status (status of previous event), which the file bytes don't contain.

PiperOrigin-RevId: 468537659
(cherry picked from commit 30257c767be211b39d2576ddce89c7473092bf74)
2022-08-18 20:44:21 +00:00
Googler
884e37633e Allow frame release to be controlled outside FrameProcessor.
Adds a method to FrameProcessor.Listener to be called when an
output frame is available and a method releaseOutputFrame in
FrameProcessor allowing the caller to trigger release of the
oldest available output frame at a given timestamp. Late frames
or frames with unset release times are dropped in the
FinalMatrixTransformationProcessorWrapper.

More than one output frame can become available before they are
released if the penultimate GlTextureProcessor is capable of producing
multiple output frames. Processing continues while waiting for
releaseOutputFrame to be called. Frame release tasks are prioritized
over other tasks.

PiperOrigin-RevId: 468473072
(cherry picked from commit 2c063546a1ac8607eb4632acb88506b9a0d46b9e)
2022-08-18 16:10:48 +00:00
Googler
166838ae70 Allow frame release to be controlled outside FrameProcessor.
Adds a method to FrameProcessor.Listener to be called when an
output frame is available and a method releaseOutputFrame in
FrameProcessor allowing the caller to trigger release of the
oldest available output frame at a given timestamp. Late frames
or frames with unset release times are dropped in the
FinalMatrixTransformationProcessorWrapper.

More than one output frame can become available before they are
released if the penultimate GlTextureProcessor is capable of producing
multiple output frames. Processing continues while waiting for
releaseOutputFrame to be called. Frame release tasks are prioritized
over other tasks.

PiperOrigin-RevId: 468473072
(cherry picked from commit a5d7fdcab52ea6c12fa35efc348b69eccb53f715)
2022-08-18 16:10:48 +00:00
huangdarwin
4c36dae9bb HDR: Clamp YUV to RGB conversion.
Manually tested using transformer demo HLG videos. Before this CL, RGB values after the YUV to RGB conversion reached up to 1.025. After this CL, RGB values correctly clamp at 1.0.

PiperOrigin-RevId: 468426092
(cherry picked from commit 32ee44805b33d3fedf9d36905fa22d20a2800d78)
2022-08-18 11:31:03 +00:00
huangdarwin
068a9d1099 HDR: Clamp YUV to RGB conversion.
Manually tested using transformer demo HLG videos. Before this CL, RGB values after the YUV to RGB conversion reached up to 1.025. After this CL, RGB values correctly clamp at 1.0.

PiperOrigin-RevId: 468426092
(cherry picked from commit 244d38cf0e5640b6c07abaeebcaffce2d3913345)
2022-08-18 11:31:03 +00:00
rohks
e7aee55fca Fix missing commas in documentation of DefaultMediaNotificationProvider
PiperOrigin-RevId: 468257769
(cherry picked from commit 6950f3aaa8bf229c0441b3d10cae75bef3ee30f5)
2022-08-17 18:54:01 +00:00
Rohit Kumar Singh
4b4a9fe022
Merge pull request #155 from androidx/revert-149-DefaultMediaNotificationProvider-commas
Revert "DefaultMediaNotificationProvider: Fix missing comma in documentation."
2022-08-17 17:01:36 +01:00
Rohit Kumar Singh
7109d284a7
Revert "DefaultMediaNotificationProvider: Fix missing comma in documentation." 2022-08-17 17:00:56 +01:00
Rohit Kumar Singh
1aab26bc33
Merge pull request #149 from vanniktech/DefaultMediaNotificationProvider-commas
DefaultMediaNotificationProvider: Fix missing comma in documentation.
2022-08-17 16:52:49 +01:00
Googler
c65acc04d6 Defensively cancel frame processing tasks on error.
FrameProcessingTaskExecutor should be released on error.
There can be a delay until this happens, so
FrameProcessingTaskExecutor will cancel any pending tasks
and drop new tasks until it is released.

PiperOrigin-RevId: 468171820
(cherry picked from commit d11c3be952d4a5cd31b7f629b427bdddcbf3f15c)
2022-08-17 12:25:53 +00:00
Googler
823df91ca0 Defensively cancel frame processing tasks on error.
FrameProcessingTaskExecutor should be released on error.
There can be a delay until this happens, so
FrameProcessingTaskExecutor will cancel any pending tasks
and drop new tasks until it is released.

PiperOrigin-RevId: 468171820
(cherry picked from commit 0c961a7abdc6ea7ef1b3f33dfd44d01459d2344a)
2022-08-17 12:25:53 +00:00
leonwind
f555ed46e8 Fix typo
PiperOrigin-RevId: 468152718
(cherry picked from commit c6a10ad2270ecf295dc06ac338eae6367b7887ca)
2022-08-17 10:15:21 +00:00
leonwind
06e95f9f59 Fix typo
PiperOrigin-RevId: 468152718
(cherry picked from commit 9f6940eaa4d60ac48d1e7be92d81e81a8793ce75)
2022-08-17 10:15:21 +00:00
leonwind
a4175b8607 Compact a RGB Matrix chain into a singular RGB Matrix.
PiperOrigin-RevId: 468013019
(cherry picked from commit 977370e9db8fda16388a56f8979df9f6f6737b60)
2022-08-16 20:39:42 +00:00
leonwind
ec9948e9f2 Compact a RGB Matrix chain into a singular RGB Matrix.
PiperOrigin-RevId: 468013019
(cherry picked from commit 045a396167e9cfc7faf35a94d1f63971bec3d290)
2022-08-16 20:39:42 +00:00
tonihei
d5710d3171 Define CueGroup.EMPTY_TIME_ZERO for convenience
We create an empty CueGroup in many places as default or
where none is needed. Instead, we can define a constant
for this purpose and reuse it.

PiperOrigin-RevId: 467944841
(cherry picked from commit 29208ec1ed4d78fa86af33b81a2b32f3151b9004)
2022-08-16 16:27:56 +00:00
tonihei
f3d48c21f4 Define CueGroup.EMPTY_TIME_ZERO for convenience
We create an empty CueGroup in many places as default or
where none is needed. Instead, we can define a constant
for this purpose and reuse it.

PiperOrigin-RevId: 467944841
(cherry picked from commit 59895646e03ee15aed5e80fb8e60b7f98a7afe5f)
2022-08-16 16:27:56 +00:00
huangdarwin
c5b4cbed75 HDR: Update limited range and add full range YUV to RGB color transforms.
PiperOrigin-RevId: 467910378
(cherry picked from commit 130a536287f705ea823c9351d053f01512bf7e3c)
2022-08-16 13:33:32 +00:00
huangdarwin
d91f60b6e6 HDR: Update limited range and add full range YUV to RGB color transforms.
PiperOrigin-RevId: 467910378
(cherry picked from commit d963dfbd3e478f01077e45ad84bae6d1ea666038)
2022-08-16 13:33:32 +00:00
Niklas Baudy
42b5a6b211 DefaultMediaNotificationProvider: Fix missing comma in documentation. 2022-08-15 20:05:31 +02:00
Googler
6d09959810 Allow high-priority tasks to be executed before other tasks.
This is needed as a pre-requisite for allowing MCVR to control
FrameProcessor frame release for previewing.

Submitting a high-priority task is conceptually different from
posting at the front of a single queue of tasks, as the high-priority
tasks are executed in FIFO order among themselves. This will ensure
that frame release tasks submitted in close succession are executed
in the order they are submitted but before any lower priority tasks.

PiperOrigin-RevId: 467675137
(cherry picked from commit 4d81a6db240b0f5b92936d894d59b53cc493e3b2)
2022-08-15 15:27:21 +00:00
Googler
f6dde78204 Allow high-priority tasks to be executed before other tasks.
This is needed as a pre-requisite for allowing MCVR to control
FrameProcessor frame release for previewing.

Submitting a high-priority task is conceptually different from
posting at the front of a single queue of tasks, as the high-priority
tasks are executed in FIFO order among themselves. This will ensure
that frame release tasks submitted in close succession are executed
in the order they are submitted but before any lower priority tasks.

PiperOrigin-RevId: 467675137
(cherry picked from commit 59be732230fe9bfdc27c27d6a6866abacbdda3fe)
2022-08-15 15:27:21 +00:00
christosts
909953b84a Increase max sample size for HEVC.
Increase the estimated max sample size for HEVC by 2x, and set a minimum
size of 2MB. The 2MB will be applied for resolutions up to 1080p, after
which the new calculation takes effect. This is in par with the
platform's HEVC software decoder.

PiperOrigin-RevId: 467641494
(cherry picked from commit d3d5ffce91452ebf1edf51a0c0c9d80ad29fe0b6)
2022-08-15 11:47:42 +00:00
christosts
56ed1e11fe Increase max sample size for HEVC.
Increase the estimated max sample size for HEVC by 2x, and set a minimum
size of 2MB. The 2MB will be applied for resolutions up to 1080p, after
which the new calculation takes effect. This is in par with the
platform's HEVC software decoder.

PiperOrigin-RevId: 467641494
(cherry picked from commit b83b16eba71b4f5c05a99c719e1cbc49c418e20e)
2022-08-15 11:47:42 +00:00
tonihei
770839fe2b Update CMake version for AV1 extension
The specified CMake version doesn't work with the latest
Android Studio releases. Updating to a more recent version
fixes the problem.

Issue: google/ExoPlayer#9933
PiperOrigin-RevId: 467634063
(cherry picked from commit 80b635e7abf3a980b801c49c7975c4963aed7518)
2022-08-15 10:49:44 +00:00
tonihei
f6a71d3aaa Update CMake version for AV1 extension
The specified CMake version doesn't work with the latest
Android Studio releases. Updating to a more recent version
fixes the problem.

Issue: google/ExoPlayer#9933
PiperOrigin-RevId: 467634063
(cherry picked from commit 9e1d4f6fd64f8de7315840d30d8f100301d9b82d)
2022-08-15 10:49:44 +00:00
tonihei
d2000fd25f Add initial version of SimpleBasePlayer
This base class will simplify the implementation of custom
Player classes. The current version only supports
available commands and playWhenReady handling.

PiperOrigin-RevId: 467618021
(cherry picked from commit 9a7fde8fde6e194b92ec67095b7b889ee23a3d77)
2022-08-15 08:54:27 +00:00
tonihei
b6002a351d Add initial version of SimpleBasePlayer
This base class will simplify the implementation of custom
Player classes. The current version only supports
available commands and playWhenReady handling.

PiperOrigin-RevId: 467618021
(cherry picked from commit 43ede97d2fc71c283755c23b2049eaa3f2a947cb)
2022-08-15 08:54:27 +00:00
andrewlewis
9b6d997703 Increase pixel difference threshold
PiperOrigin-RevId: 467610621
(cherry picked from commit ec7936f64d8019c94d69bcd7a31e2002fcaca695)
2022-08-15 07:59:28 +00:00
andrewlewis
a2815141e6 Increase pixel difference threshold
PiperOrigin-RevId: 467610621
(cherry picked from commit 73d606acf3dd371232f874b20a1534952f8d560d)
2022-08-15 07:59:28 +00:00
christosts
19cc87c04f MediaNotificationManager: handle playback ended
When the player finishes playback and reaches the STATE_ENDED,
the notification remains visible with a pause button and the
service is kept in the foreground. This is a bug.

With this change, when the player reaches the STATE_ENDED, the
service is stopped from the foreground and a notification is shown
with a play button. If the play icon is tapped, the player will restart
playback of the last played item. Playing the last played item again
is the existing behavior when play/pause commands are received from
the legacy MediaSession (e.g. BT headset buttons).

#minor-release

Issue: google/ExoPlayer#112
PiperOrigin-RevId: 467231509
(cherry picked from commit 7a7e1eb23b4bbf7d0c6c15b2f484434e65cd2c68)
2022-08-12 16:53:36 +00:00
leonwind
befcc01764 Refactor RgbaMatrix to RgbMatrix.
* Rename all Rgba instances to Rgb.
* Remove alpha value from the RGBA Matrices and apply the 4x4 matrix
only to the R, G, B channels.
* Restore the alpha from the input unchanged.

PiperOrigin-RevId: 467208888
(cherry picked from commit 80f9ad9bf9631a61c06317df54a68be248e23b4f)
2022-08-12 14:51:25 +00:00
leonwind
1076f3f7d7 Refactor RgbaMatrix to RgbMatrix.
* Rename all Rgba instances to Rgb.
* Remove alpha value from the RGBA Matrices and apply the 4x4 matrix
only to the R, G, B channels.
* Restore the alpha from the input unchanged.

PiperOrigin-RevId: 467208888
(cherry picked from commit 8760ee48b910a4a34e6cc5008b660513203b05e8)
2022-08-12 14:51:25 +00:00