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