Description
Issue description:
Hi,
I am trying to generate a fmp4 CMAF DRM with the CBCS protection scheme using bento4 and trying to play on android exoplayer.
Here is the command I am using to generate the dash manifest
mp4dash --profiles=on-demand --mpd-name manifest.mpd --encryption-cenc-scheme=cbcs --encryption-args=“--global-option mpeg-cenc.piff-compatible:true” --encryption-key=:: --widevine-header=provider:demo.ki#content_id:#protection_scheme:cbcs --hls --mpd-name=manifest.mpd --hls-master-playlist-name=manifest.m3u8 fragmented.mp4
example command i am using
mp4dash --mpd-name manifest.mpd --encryption-cenc-scheme=cbcs --encryption-args=“--global-option mpeg-cenc.piff-compatible:true” --encryption-key=8762c548e79c740f7b5d2f5f09f85929:aae2a539812edc302599f027c8689fad:00000000000000000000000000000000 --widevine-header=provider:demo.ki#content_id:8762c548e79c740f7b5d2f5f09f85929#protection_scheme:cbcs --hls --mpd-name=manifest.mpd --hls-master-playlist-name=manifest.m3u8 sintel-1024-surround.mp4
The content works on Chrome using shakaplayer.
There is already an existing closed bug on the bento4 issues page regarding the same issue
axiomatic-systems/Bento4#428 where it looks like it is an issue with exoplayer.
Is there any workaround for this?
Stack-trace:
2020-07-03 16:54:54.708 3562-3603/com.vipin.exokotlin E/ExoPlayerImplInternal: Source error
com.google.android.exoplayer2.ParserException: Length mismatch: 0, 1285
at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.parseSaiz(FragmentedMp4Extractor.java:802)
at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.parseTraf(FragmentedMp4Extractor.java:725)
at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.parseMoof(FragmentedMp4Extractor.java:693)
at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.onMoofContainerAtomRead(FragmentedMp4Extractor.java:542)
at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.onContainerAtomRead(FragmentedMp4Extractor.java:456)
at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.processAtomEnded(FragmentedMp4Extractor.java:434)
at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.readAtomPayload(FragmentedMp4Extractor.java:429)
at com.google.android.exoplayer2.extractor.mp4.FragmentedMp4Extractor.read(FragmentedMp4Extractor.java:315)
at com.google.android.exoplayer2.source.chunk.ContainerMediaChunk.load(ContainerMediaChunk.java:135)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:415)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Version of ExoPlayer: 2.11.7
Device: Google Pixel 3
Version: Android 9