**edit:** Using cbcs `tenc.default_constant_IV, default_constant_IV_size` atom fields fixed Firefox(widevine) playback, see my additinal comment. New test content for CBCS_1:9 pattern here.
https://refapp.hbbtv.org/dash/test_dashjs_wv.html?video=springcbcs2wv

Win10 Firefox cbcs test fails, what is the secret of Firefox cbcs encryption scheme? I also asked the same in dashjs slack but no answers yet. Win10 Edge(playready, cbcs1:9, cbcs0:0)=ok, Win10 Chrome(widevine, cbcs1:9, cbcs0:0)=ok, Android Chrome(widevine, cbcs1:9, cbcs0:0)=ok.  

Do gpac talents know more about the Firefox issue?

**CBCS_1:9 pattern (10% encrypt, 90% nocrypt)**
https://refapp.hbbtv.org/dash/test_dashjs_wv.html?video=llamacbcswv
https://refapp.hbbtv.org/dash/test_dashjs_wv.html?video=llamacbcs

**CBCS_0:0 pattern**
https://refapp.hbbtv.org/dash/test_dashjs_wv.html?video=llamacbcs2wv
https://refapp.hbbtv.org/dash/test_dashjs_wv.html?video=llamacbcs2

See drmxml examples here for video and audio tracks, audio is using a default settings without `crypt_,skip_` arguments.

**CBCS_1:9 drm.xml**
http://refapp.hbbtv.org/videos/00_llama_1080p_cbcs_v1/temp-gpacdrmvideo.xml 
http://refapp.hbbtv.org/videos/00_llama_1080p_cbcs_v1/temp-gpacdrmaudio.xml 
```
<?xml version="1.0" encoding="UTF-8" ?>
<GPACDRM type="CENC AES-CBC Pattern">
 ...clip...
<CrypTrack trackID="1" IsEncrypted="1" IV_size="16" first_IV="0x22ee7d4745d3a26a0100000000000002" saiSavedBox="senc" crypt_byte_block="1" skip_byte_block="9" >
  <key KID="0x43215678123412341234123412341236" value="0x12341234123412341234123412341236"/>
</CrypTrack>
</GPACDRM>
```

**CBCS_0:0 drm.xml**
http://refapp.hbbtv.org/videos/00_llama_1080p_cbcs_v2/temp-gpacdrmvideo.xml
http://refapp.hbbtv.org/videos/00_llama_1080p_cbcs_v2/temp-gpacdrmaudio.xml
```
<?xml version="1.0" encoding="UTF-8" ?>
<GPACDRM type="CENC AES-CBC Pattern">
   ...clip...
<CrypTrack trackID="1" IsEncrypted="1" IV_size="16" first_IV="0x22ee7d4745d3a26a0100000000000002" saiSavedBox="senc" crypt_byte_block="0" skip_byte_block="0" >
  <key KID="0x43215678123412341234123412341236" value="0x12341234123412341234123412341236"/>
</CrypTrack>
</GPACDRM>
```

This is mp4box cmdlines, `tfdt64bit, cmf2, noroll, segdur=8sec` flags. 
```
MP4Box -crypt "temp-gpacdrmvideo.xml" temp-v1.mp4 -out "drm/temp-v1.mp4"
MP4Box -crypt "temp-gpacdrmaudio.xml" temp-a1.mp4 -out "drm/temp-a1.mp4"

MP4Box -dash 384000 -frag 384000 -dash-scale 48000 -mem-frags -rap -profile dashavc264:live ^
  -profile-ext "urn:hbbtv:dash:profile:isoff-live:2012" -min-buffer 4000 ^
  -bs-switching no -sample-groups-traf -single-traf --tfdt64 --tfdt_traf --noroll=yes --cmaf=cmf2 ^
  -subsegs-per-sidx 0 ^
  -segment-name "$RepresentationID$/$Number$$Init=i$" -out manifest.mpd ^
  "temp-v1.mp4#trackID=1:id=v1:period=p0:dur=30" ^
  "temp-a1.mp4#trackID=1:id=a1:period=p0:dur=30"
```
CBCS encryption not working on Firefox but Edge+Chrome ok (dashjs player)
This is a GitHub Issue
repo:gpac
owner:gpac
Title : CBCS encryption not working on Firefox but Edge+Chrome ok (dashjs player)
Issue date:

--- start body ---
**edit:** Using cbcs `tenc.default_constant_IV, default_constant_IV_size` atom fields fixed Firefox(widevine) playback, see my additinal comment. New test content for CBCS_1:9 pattern here.
https://refapp.hbbtv.org/dash/test_dashjs_wv.html?video=springcbcs2wv

Win10 Firefox cbcs test fails, what is the secret of Firefox cbcs encryption scheme? I also asked the same in dashjs slack but no answers yet. Win10 Edge(playready, cbcs1:9, cbcs0:0)=ok, Win10 Chrome(widevine, cbcs1:9, cbcs0:0)=ok, Android Chrome(widevine, cbcs1:9, cbcs0:0)=ok.  

Do gpac talents know more about the Firefox issue?

**CBCS_1:9 pattern (10% encrypt, 90% nocrypt)**
https://refapp.hbbtv.org/dash/test_dashjs_wv.html?video=llamacbcswv
https://refapp.hbbtv.org/dash/test_dashjs_wv.html?video=llamacbcs

**CBCS_0:0 pattern**
https://refapp.hbbtv.org/dash/test_dashjs_wv.html?video=llamacbcs2wv
https://refapp.hbbtv.org/dash/test_dashjs_wv.html?video=llamacbcs2

See drmxml examples here for video and audio tracks, audio is using a default settings without `crypt_,skip_` arguments.

**CBCS_1:9 drm.xml**
http://refapp.hbbtv.org/videos/00_llama_1080p_cbcs_v1/temp-gpacdrmvideo.xml 
http://refapp.hbbtv.org/videos/00_llama_1080p_cbcs_v1/temp-gpacdrmaudio.xml 
```
<?xml version="1.0" encoding="UTF-8" ?>
<GPACDRM type="CENC AES-CBC Pattern">
 ...clip...
<CrypTrack trackID="1" IsEncrypted="1" IV_size="16" first_IV="0x22ee7d4745d3a26a0100000000000002" saiSavedBox="senc" crypt_byte_block="1" skip_byte_block="9" >
  <key KID="0x43215678123412341234123412341236" value="0x12341234123412341234123412341236"/>
</CrypTrack>
</GPACDRM>
```

**CBCS_0:0 drm.xml**
http://refapp.hbbtv.org/videos/00_llama_1080p_cbcs_v2/temp-gpacdrmvideo.xml
http://refapp.hbbtv.org/videos/00_llama_1080p_cbcs_v2/temp-gpacdrmaudio.xml
```
<?xml version="1.0" encoding="UTF-8" ?>
<GPACDRM type="CENC AES-CBC Pattern">
   ...clip...
<CrypTrack trackID="1" IsEncrypted="1" IV_size="16" first_IV="0x22ee7d4745d3a26a0100000000000002" saiSavedBox="senc" crypt_byte_block="0" skip_byte_block="0" >
  <key KID="0x43215678123412341234123412341236" value="0x12341234123412341234123412341236"/>
</CrypTrack>
</GPACDRM>
```

This is mp4box cmdlines, `tfdt64bit, cmf2, noroll, segdur=8sec` flags. 
```
MP4Box -crypt "temp-gpacdrmvideo.xml" temp-v1.mp4 -out "drm/temp-v1.mp4"
MP4Box -crypt "temp-gpacdrmaudio.xml" temp-a1.mp4 -out "drm/temp-a1.mp4"

MP4Box -dash 384000 -frag 384000 -dash-scale 48000 -mem-frags -rap -profile dashavc264:live ^
  -profile-ext "urn:hbbtv:dash:profile:isoff-live:2012" -min-buffer 4000 ^
  -bs-switching no -sample-groups-traf -single-traf --tfdt64 --tfdt_traf --noroll=yes --cmaf=cmf2 ^
  -subsegs-per-sidx 0 ^
  -segment-name "$RepresentationID$/$Number$$Init=i$" -out manifest.mpd ^
  "temp-v1.mp4#trackID=1:id=v1:period=p0:dur=30" ^
  "temp-a1.mp4#trackID=1:id=a1:period=p0:dur=30"
```
--- end body ---
