mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Demo app: Fail fast if parsing invalid DRM config from JSON
These fields can't be used if `drm_uuid` isn't set. Make that case throw an exception, so it's obvious to a developer what's wrong. Most of the fields 'obviously' need `drm_uuid` to be set, but it's not obvious for `drm_session_for_clear_content` (because it might be reasonable to assume it's possible to play clear content without specifying a UUID). This tripped me up in https://github.com/google/ExoPlayer/issues/8842#issuecomment-833659808. PiperOrigin-RevId: 397328556
This commit is contained in:
parent
0f0e11aaeb
commit
701be41534
@ -448,6 +448,18 @@ public class SampleChooserActivity extends AppCompatActivity
|
||||
.setMultiSession(drmMultiSession)
|
||||
.setForceDefaultLicenseUri(drmForceDefaultLicenseUri)
|
||||
.build());
|
||||
} else {
|
||||
checkState(drmLicenseUri == null, "drm_uuid is required if drm_license_uri is set.");
|
||||
checkState(
|
||||
drmLicenseRequestHeaders == null,
|
||||
"drm_uuid is required if drm_key_request_properties is set.");
|
||||
checkState(
|
||||
!drmSessionForClearContent,
|
||||
"drm_uuid is required if drm_session_for_clear_content is set.");
|
||||
checkState(!drmMultiSession, "drm_uuid is required if drm_multi_session is set.");
|
||||
checkState(
|
||||
!drmForceDefaultLicenseUri,
|
||||
"drm_uuid is required if drm_force_default_license_uri is set.");
|
||||
}
|
||||
if (subtitleUri != null) {
|
||||
MediaItem.Subtitle subtitle =
|
||||
|
Loading…
x
Reference in New Issue
Block a user