Update Common-Media-Client-Data implementation
Created by: wilaw
The CMCD specification has now completed development at CTA and is available as CTA-5004. It has some changes compared to the draft version used for the initial implementation within dash.js. This issue is a request to bring the dash.js implementation up to spec with the published version. The final v1 verison can be found here:
https://docs.google.com/document/d/1S_Dj_aHVnbWnjeJYMfLU1D6tZoqYdgHT1stfznBvxig/
Changes from version implemented in dash.js
- Query arg changed from 'Common-Media-Client-Data' to 'CMCD'
- DeviceID key deprecated
- Keys are now ordered alphabetically
- New 'ot' object types added , now one of [m,a,v,av,i,c,tt,k,o]
- Measured throughput, requested maximum throughput, deadline and buffer length must now be rounded to the nearest unit of 100 to reduce fingerprinting entropy.
- Version key should only be reported if it is != 1
- New keys added:
- 'startup' - su
- 'top bitrate' - tb
- 'buffer starvation' - bs
- 'buffer length' - bl (you can stop reporting 'dl' and instead report this value)