SteveBamber wrote: 
> I've tried raw,wav and just wav for PCM format - but its the same codec
> error both times.
> 
> The Yamaha does claim support for WAV at 24/192 -
> https://europe.yamaha.com/en/products/audio_visual/hifi_components/cd-n301_g/index.html
> 
> But it certainly doesn't list it in the GetProtocolInfo response.
> 
> Interestingly 
> 
> PCM Format = wav
> 24 bits PCM = 16 bits always
> Resampling = 44100
> Rate = 16 
> 
> Gives the codec error but
> 
> PCM Format = raw
> 24 bits PCM = 16 bits always
> Resampling = 44100
> Rate = 16 
> 
> Plays ok - so the bridge seems convinced that player doesn't support
> wav, but Yamaha say it does.
> 
> Can I force it using Additional Mimetypes somehow ?

One comment I forgot to make about the "24 bits PCM" parameter. This one
has a complex interaction...

Uncompressed PCM can be sent to players totally raw, without any header
of any kind. In that case, the format *must* be set in the HTTP response
using Content-Type: audio/Lss;rate=rrrrr,channels=c (where ss = sample
size). But uncompressed PCM can also be sent with a wav or aiff header
first which then contains information (sample rate, size, channels)
about the data that follow.

The Bridge has to make some sort of complex decision when PCM is sent:
using raw, or wav or aif, depending on players's capabilities (bitrate
and sample size). Players advertise what they support in term of
audio/Lxx, but most of them do not advertise any audio/L24 option
although when receiving a 24 bits wav file, they can handle them.

When sent in a wav or aif file, the 24 bits format is well defined: 3
bytes for each channel, in sequential order. But when sending raw audio,
a few options exists: send 3 bytes sequentially for each channel, send 4
bytes and put the 3 bytes at the top, or at the bottom, or a very
complex packing option which requires 12 bytes (2 packets of 6 bytes
each made of - say it's just stereo - L and R) and then combines that
into a strange other 12 bytes packets with a different bytes ordering. 

So the "24 bits PCM" parameter says the following: 

- When sending raw, decide if you want "packed" mode, or "plain" or do a
truncation to 16 bits if your player does not advertise audio/L16 '16
bits raw only'
- That truncation to 16 bits, you might also want it even when 'wav' is
selected, hence the "16 bits trunc always"

How does the bridge decide which format? It will try the options in
order according to "PCM format parameter". 

1- If 'wav' is first, it will do wav, if audio/wav capability exist and
maybe truncate to 16 bits sample if "24 bits PCM" is set to "16 bits
truncate always" 
2- If 'raw' is first, it will try to find a matching capability for
audio/Lss. In case of 24 bits sample, if it does not find a match but
you have specified "24 bits PCM" to any of the 16 bits truncation
option, then it will try to find an audio/L16 match. If no matching is
found with previous rules, then it tries the next "PCM format parameter"
in the list, which might be 'wav' and then you go to case 1-

The last thing is that when you decide to re-encode using pcm, if you
decide to *set* sample size to 24, then the truncation options of "24
bits PCM" parameter do not apply (which sounds logical: you want 24, ok,
you will have 24). So if no rule matches audio/L24, then wav will be
tried if in list of "PCM formats" and if not playback will fail.

I'm sure your head already exploded at this time :)



LMS 7.7, 7.8 and 7.9 - 5xRadio, 3xBoom, 4xDuet, 1xTouch, 1 SB2. Sonos
PLAY:3, PLAY:5, Marantz NR1603, JBL OnBeat, XBoxOne, XBMC, Foobar2000,
ShairPortW, JRiver 21, 2xChromecast Audio, Chromecast v1 and v2, , Pi
B3, B2, Pi B+, 2xPi A+, Odroid-C1, Odroid-C2, Cubie2, Yamaha WX-010,
AppleTV 4, Airport Express, GGMM E5
------------------------------------------------------------------------
philippe_44's Profile: http://forums.slimdevices.com/member.php?userid=17261
View this thread: http://forums.slimdevices.com/showthread.php?t=103728

_______________________________________________
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins

Reply via email to