![]() |
![]() |
#1 |
Member
Join Date: Jan 2005
Posts: 10
|
![]()
Hi guys,
I have a Logitech Squeezebox and I have submitted a request to have them support SV8. I need some help though because they're telling me that the options for the new "mpcdec" have changed compared to the old SV7 decoder "mppdec". Is that true? The bug was filed here, so if someone could respond here or there with some helpful tips, that'd be great. I just want to make sure that I answering the technical questions correctly, so it gets implemented quicker. Thanks. Last edited by Goweropolis; 30 July 2009 at 03:54 pm. Reason: fixed spelling |
![]() |
![]() |
![]() |
#2 |
Admin
Join Date: Jul 2004
Posts: 372
![]() |
![]()
Hi.
Does SqueezeCenter seriously not have its own decoders? I didn't think it's an application that uses external command-line decoders for audio file playback.. mpcdec is just a decoder sample application, meant to do nothing more than decoding. mppdec was a an actual player as well (which is very uncommon and should not even be expected from a usual command-line decoder) Conversion to various formats, sample rates and bit depths, tag reading, ReplayGain, etc. should be handled by the player or streamer application itself, not third-party command-line decoders. By the way, their default of applying title-based ReplayGain is a bad choice, especially for albums with continuous tracks. If they must have the mppdec features, they could keep using it for SV7 files and for SV8 files they could use mpcdec. But in case the program can't even read file headers and detect that it's an SV8 file, then they couldn't. |
![]() |
![]() |
![]() |
#3 |
Member
Join Date: Jan 2005
Posts: 10
|
![]()
Yes, they don't decode MPC natively. I think only FLAC, Vorbis, WMA, and good 'ol MP3. Not sure why they don't use a "streamer application" as you put it. I think the big issue is they need to change the audio stream to a format that their hardware player can decode; which is why they are transcoding from MPC to FLAC or MP3 for actual network transmission to the player itself.
Somehow I think they won't want to use two different decoders which depend on the stream version. Would the same command lines they're using for decoding "mppdec" work the same when using "mpcdec"? If so, then they shouldn't have to change their configuration. All they need to figure out is how to decode MPCs through the command line using the new "mpcdec" and it should work. Last edited by Goweropolis; 30 July 2009 at 03:54 pm. Reason: fixed spelling |
![]() |
![]() |
![]() |
#4 |
Admin
Join Date: Jul 2004
Posts: 372
![]() |
![]()
The command lines mentioned on that page are only valid for mppdec. mpcdec just decodes to wav and without replaygain.
|
![]() |
![]() |
![]() |
#5 |
Member
Join Date: Jan 2005
Posts: 10
|
![]()
How should I suggest that they handle this issue? Do they need to avoid the command line decoder and use some other method? I'm no technical/programming expert, I am just trying to get SV8 supported, but I'm not really sure how to proceed.
|
![]() |
![]() |
![]() |
#6 |
Admin
Join Date: Jul 2004
Posts: 372
![]() |
![]()
The method used by almost all software developers is to create their own decoder based on the available Musepack decoder library (or "source code") or on a third-party decoder library (such as GStreamer or ffmpeg). The decoder is either included within the application itself or provided as a plugin.
I think any developer would agree that using someone else's command-line deocder is not a recommended method for playback or streaming and can't be expected to be reliable or work at all. In short, I don't know whether it's a possibility for them or not, but my suggestion would be that they take the usual, widely-accepted and expected approach, and based on the source code create their own decoder which can have any features they need and leave out any features they don't. I wish people didn't advertise that a product "supports" a format when in fact it just uses a third-party application to do the work for them in a dirty way. But there's really nothing we can do about it.. I appreciate your efforts and understand your frustration. Hopefully this issue could be fixed and you could enjoy your audio and not have to mess around with compatibility issues. |
![]() |
![]() |
![]() |
#7 |
Member
Join Date: Jul 2009
Posts: 4
|
![]()
ARGH, vbulletin ate my whole post!
I'm one of the developers of SqueezeCenter and wanted to chime in here with my two cents. I think everyone, myself included, is over-reacting just a bit on this issue, and there might be a simple solution. Here is some background: Our Squeezebox products include native decoders for PCM, AIFF, FLAC, MP3, Vorbis, and WMA. We try to support as many other formats as possible through a generic transcoding framework. This makes use of command-line apps piped together to transcode into one of the supported native formats (usually FLAC, although sometimes MP3 if bandwidth is a concern for someone). We try to use off-the-shelf 3rd party decoders for this whenever possible, it doesn't make sense for us to implement our own command-line decoder. So we ship these command-line decoders for out-of-the-box support for transcoding to FLAC: alac, faad, flac, mppdec, sox (for downsampling), and wvunpack. We don't ship LAME for licensing reasons, but users can install it manually for transcoding to MP3. MPC transcoding is defined via the following rules: Code:
mpc pcm * * # IR [mppdec] --raw-le --silent --prev --gain 2 - - mpc aif * * # IR [mppdec] --raw-be --silent --prev --gain 2 - - mpc flc * * # IR [mppdec] --silent --prev --gain 2 - - | [flac] -cs --totally-silent --compression-level-0 - mpc mp3 * * # IRB:{BITRATE=-B %B}D:{RESAMPLE=--resample %D} [mppdec] --silent --prev --gain 3 - - | [lame] --silent -q $QUALITY$ $RESAMPLE$ -v $BITRATE$ - - With mpcdec, I believe the only features we are missing are raw PCM/AIFF output (--raw-le/--raw-be). As far as I can tell, we don't need --prev or --gain anymore, as the next version of SC will support reading the MPC RG headers (from both SV7 and SV8) and apply those directly using our standard firmware-based RG system. We could disable MPC->PCM/AIFF support, but that would leave our older products having to use MP3 for transcoding. So do you think it would be easy to add raw output support to mpcdec? |
![]() |
![]() |
![]() |
#8 | |
Member
Join Date: Jul 2009
Posts: 4
|
![]() Quote:
![]() |
|
![]() |
![]() |
![]() |
#9 |
Admin
Join Date: Jul 2004
Posts: 372
![]() |
![]()
Hi Andy.
mpcdec.c which is included in our source code (/libmpc/trunk/mpcdec/) could be modified and any needed feature could be added. Building a modified decoder is then a simple matter. But using very simple command-line decoders in an entire framework is very risky in many ways and I wouldn't recommend it. We may add raw output and other features to mpcdec in the future, but that probably won't be very soon as our main developer has been busy lately. You could add it yourself in the meantime, though, but still I'll say that mpcdec as it is, is a very simple application just meant to decode files for our users, and quite unsuitable to be a part of a framework. Thanks for the response. |
![]() |
![]() |
![]() |
#10 |
Member
Join Date: Jul 2009
Posts: 4
|
![]()
I disagree, there is nothing wrong with using command-line decoders. It's only risky if the decoder is buggy.
![]() Anyway, I guess it's a tradeoff between SV8 support and dropping support for PCM output. We have very few MPC users anyway so SV8 will probably win. |
![]() |
![]() |
![]() |
#11 |
Admin
Join Date: Jul 2004
Posts: 372
![]() |
![]()
You mean people actually prefer to stream raw pcm instead of flac?
![]() |
![]() |
![]() |
![]() |
#12 |
Member
Join Date: Jul 2009
Posts: 4
|
![]()
No, it's for supporting older products that only support MP3 and PCM.
|
![]() |
![]() |
![]() |
#13 |
Admin
Join Date: Jul 2004
Posts: 372
![]() |
![]()
Ah, I see. I thought it's only for SqueezeBoxes.
|
![]() |
![]() |
![]() |
#14 |
Member
Join Date: Aug 2004
Posts: 24
|
![]()
Hi there, just chiming in to say that I second Goweropolis' request. i'm no dev so I can't do anything myslef, but I'd be glad to know that this problem gets a solution.
|
![]() |
![]() |
![]() |
#15 |
Admin
Join Date: Jul 2004
Posts: 372
![]() |
![]()
Raw output will be added to mpcdec to enable streaming. I wanted this to be done a while ago after some email correspondence, but the main developer has been extremely busy lately, so when he has some time it will be done, hopefully soon.
|
![]() |
![]() |
![]() |
#16 |
Musepack developer
Join Date: Sep 2006
Location: Villeurbanne - France
Posts: 36
|
![]()
raw output added, see http://trac.musepack.net/changeset/480
Your tests are welcome. |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|