dcaparse: parses dts from audiocd wrongly
Submitted by christophe vr
Link to original bug (#777188)
Description
Hi I just discovered a possible issue about the dca parser of dts audio with cd as origin. Research has showed that all those audio cd's do respect the base dts standards , but well did put a 0 to the last two data bits , this to avoid ears problems and speakers destruction in older base stereo systems who are only using downmixed versions. The data part self is still of a depth off 16 (16 bits) but the cap after parsing does report a depth of 14 which is wrong. So in case off use of cap pass-trough the target systems do expect the data buffer 2 bits shorter then it actually is. This means dts audio coming from a cd is reported with a cap :
"CAP audio/x-dts, framed=(boolean)true, rate=(int)44100, channels=(int)6, endianness=(int)1234, depth=(int)14, block-size=(int)1024, frame-size=(int)4096"
While it actually is a real data buffer whit should have a cap of:
"CAP audio/x-dts, framed=(boolean)true, rate=(int)44100, channels=(int)6, endianness=(int)1234, depth=(int)16, block-size=(int)1024, frame-size=(int)4096"
And I also think that the endianess should be (int) 4321 .