media/libraries
Shanuj Shekhar aba15b6952 Add new APIs to ExoMediaDrm
Changes
---
- Added `removeOfflineLicense(byte[])` and `getOfflineLicenseKeySetIds` and consumed them in their implementations

Background
---
- These APIs will help in addressing an increasing amount of `java.lang.IllegalArgumentException: Failed to restore keys: BAD_VALUE` which is our top playback error in our app
	- Based on our discussion with Widevine team and [this exoplayer issue](https://github.com/google/ExoPlayer/issues/11202#issuecomment-1708792594)
		- TL;DR: The failure occurs on startup if the user has 200+ offline licenses, we would like to add the functionality to remove offline licenses

**Note: Why we want these APIs in ExoMediaDrm and not in OfflineLicenseHelper**
	- As per the issue above, we would like to access these 2 public APIs in MediaDrm that don’t exist in `OfflineLicenseHelper` or `ExoMediaDrm`
		- APIs interested in:
			- [MediaDrm#removeOfflineLicense()](https://developer.android.com/reference/android/media/MediaDrm#removeOfflineLicense(byte%5B%5D)): To remove offline license
			- [MediaDrm#getOfflineLicenseKeySetIds()](https://developer.android.com/reference/android/media/MediaDrm#getOfflineLicenseKeySetIds()): To see number of offline licenses on startup

		- We use `OfflineLicenseHelper` to download license for L1 and we don't interact with `ExoMediaDrm` directly. But for the alternate Widevine integration, we directly depend on `ExoMediaDrm` APIs to override and call CDM Native APIs.
		- We would like to have the functionality of removing offline licenses for both integration which would need access to above APIs in `ExoMediaDrm`.

Links
---
- https://github.com/androidx/media/issues/659
2023-09-26 10:05:36 -04:00
..
cast Move setAudioAttributes from ExoPlayer to Player 2023-09-19 06:08:37 -07:00
common Add missing VideoGraph javadoc param 2023-09-22 07:58:55 -07:00
container Remove duplication of various TestUtil methods 2023-08-31 08:23:33 -07:00
database Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
datasource Add nullness annotations to SimpleCache 2023-08-22 15:33:08 +01:00
datasource_cronet Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
datasource_okhttp Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
datasource_rtmp Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
decoder Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_av1 Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_ffmpeg Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_flac Add more data to e2etest dumps 2023-07-13 15:33:33 +01:00
decoder_midi Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_opus Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
decoder_vp9 Do not trim audio samples by changing their timestamp 2023-06-29 22:50:04 +00:00
effect Test: Rename getBitmap to getBitmapAtPresentationTimeUs 2023-09-22 12:06:57 -07:00
exoplayer Add new APIs to ExoMediaDrm 2023-09-26 10:05:36 -04:00
exoplayer_dash Add functionality to transmit CMCD data using query parameters 2023-08-31 02:11:12 -07:00
exoplayer_hls Add functionality to transmit CMCD data using query parameters 2023-08-31 02:11:12 -07:00
exoplayer_ima Bump IMA SDK version to 3.31.0 2023-09-21 05:54:13 -07:00
exoplayer_rtsp Allow custom methods in Rtsp Options response public header 2023-09-25 02:15:42 -07:00
exoplayer_smoothstreaming Add functionality to transmit CMCD data using query parameters 2023-08-31 02:11:12 -07:00
exoplayer_workmanager Remove exoplayer2-only javadoc machinery from media3 2023-06-05 09:47:58 +00:00
extractor TTML: Remove unused CellResolution.columns and collapse to int rows 2023-09-20 03:22:21 -07:00
muxer Make sure the mdat box is not extended by more than 1 GB at a time. 2023-09-08 04:07:13 -07:00
session Resolve and dispatch media button events within Media3 2023-09-25 08:19:33 -07:00
test_data Compositor: Add VideoCompositorSettings to Composition. 2023-09-22 08:51:35 -07:00
test_exoplayer_playback Add android.namespace to all build.gradle files 2023-05-19 17:19:15 +01:00
test_session_common Use proxy controller to maintain platform session and notification 2023-09-22 06:36:22 -07:00
test_session_current Pass down ControllerInfo from service to session when connecting 2023-09-25 07:50:12 -07:00
test_utils Add new APIs to ExoMediaDrm 2023-09-26 10:05:36 -04:00
test_utils_robolectric Enable offload scheduling by default for audio-only offload playback 2023-09-13 06:46:50 -07:00
transformer Test: Rename getBitmap to getBitmapAtPresentationTimeUs 2023-09-22 12:06:57 -07:00
ui Fix 'unused return value' error in SubtitleViewUtilsTest 2023-09-25 03:50:30 -07:00
ui_leanback Prevent forwarding of zero video size to Leanback 2023-08-30 12:20:51 -07:00