Bug 10855 - Problem with MPC files
: Problem with MPC files
Status: NEW
Product: Logitech Media Server
Classification: Unclassified
Component: Formats
: 7.3.2
: PC Windows XP
: -- normal with 5 votes (vote)
: Future
Assigned To: Unassigned bug - please assign me!
:
Depends on:
Blocks: 13031
  Show dependency treegraph
 
Reported: 2009-01-27 12:08 UTC by Julius Dauz
Modified: 2011-10-18 05:50 UTC (History)
5 users (show)

See Also:
Category: Bug


Attachments
Server Log (239.93 KB, application/octet-stream)
2009-01-27 12:10 UTC, Julius Dauz
Details
Server log from SC 7.3.2 nightly (251.98 KB, application/octet-stream)
2009-01-27 12:10 UTC, Julius Dauz
Details
watchdog log (12.81 KB, application/octet-stream)
2009-01-27 12:10 UTC, Julius Dauz
Details
Sample MPC file from customer (7.46 MB, application/octet-stream)
2009-01-27 12:11 UTC, Julius Dauz
Details
Modified convert.conf (7.24 KB, application/octet-stream)
2009-03-03 21:58 UTC, Miguel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Julius Dauz 2009-01-27 12:08:51 UTC
I have a customer that can no longer stream his MPC files properly.

He stated that this was possible until recent versions of SqueezeCenter, but he can't recall exactly what version his MPC files last worked, but he himself tested back to SC 7.2.1 and experiences issues.

The customer's problems range from his MPC files being skipped when in a playist of multiple formats. 

His MPC files only play six seconds into the file then get skipped.

I have attached server and watchdog logs that the customer has sent to me.
Comment 1 Julius Dauz 2009-01-27 12:10:11 UTC
Created attachment 4717 [details]
Server Log
Comment 2 Julius Dauz 2009-01-27 12:10:36 UTC
Created attachment 4718 [details]
Server log from SC 7.3.2 nightly
Comment 3 Julius Dauz 2009-01-27 12:10:59 UTC
Created attachment 4719 [details]
watchdog log
Comment 4 Julius Dauz 2009-01-27 12:11:29 UTC
Created attachment 4720 [details]
Sample MPC file from customer
Comment 5 Julius Dauz 2009-01-27 12:12:15 UTC
I have tried reproducing this issue with SqueezeCenter 7.3.1 and 7.3.2 and have been unsuccessful.
Comment 6 James Richardson 2009-01-28 12:01:39 UTC
Steven: Can you look into that one
Comment 7 Spies Steven 2009-02-18 15:40:10 UTC
I have not been able to reproduce either.  Does the customer still have this issue?

Alan, do you see anything in the logs that might help?  I see a lot of pipeline messages, not sure what they mean.
Comment 8 Miguel 2009-02-18 22:14:56 UTC
I'm the customer.  Coming up on two months since I first reported the problem, and yes I still have the issue.  I was able to play MPC files without issue on SlimServer 6.something, but have been unable to do so on SC 7.2.1, 7.3.1, a 7.3.2 nightly, and now the official 7.3.2.

If you have some settings you'd like me to try, or specific logs I can try to capture, I'm more than willing to gather more data.

You might even say I'm *desperate* to get you more data.

Seriously.  Name it.  All ears.
Comment 9 Alan Young 2009-02-22 01:25:59 UTC
I do not see anything useful in the logs so far.

Steven, did you try reproducing this on Windows?

Miguel,

You could try running the decoder command by hand, in a DOS (command) window, without the various 'silent' directives. This might tell you if you are getting an error from the transcoders. For example:


type "F:/Music/A-Z/A-F/D/Death Cab For Cutie/Plans (2005)/Copy of 08 - Crooked Teeth.mpc" | "C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-multi-thread\mppdec.exe" --prev --gain 2 - - | "C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-multi-thread\flac.exe" -c --compression-level-0 - > t.flc
Comment 10 Miguel 2009-02-22 15:05:05 UTC
Thanks for your help Alan,

Methinks I'm doing something wrong, or there's a problem in your syntax.  Copy/paste (changed the file name to the original MPC, I had since deleted the copy) of the command string you posted in comment #9 yields an error message:

C:\Program Files\SqueezeCenter\server\Bin\MSWin32-x86-multi-thread>"F:/Music/A-Z
/A-F/D/Death Cab For Cutie/Plans (2005)/08 - Crooked Teeth.mpc" |"C:\PROGRA~1\SQ
UEEZ~1\server\Bin\MSWin32-x86-multi-thread\mppdec.exe" --prev --gain 2 - - |"C:\
PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-multi-thread\flac.exe" -c--compression-
level-0 - > t.flc
C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-multi-thread\flac.exe: invalid optio
n -- -
C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-multi-thread\flac.exe: invalid optio
n -- -
MPC Decoder  SV7  1.95e  3DNow/SSE   (C) 1999-2003 Buschmann/Klemm/Piecha/Wolf

decoding of <stdin>

mppdec: write error: Invalid argument, terminating
         to <stdout>

mppdec: Input File is not a MPC file, neither SV 4...6 nor SV 7 (SV 0)

which was odd, so I confirmed the file path:

C:\Program Files\SqueezeCenter\server\Bin\MSWin32-x86-multi-thread>dir "F:\Music\A-Z\A-F\D\Death Cab For Cutie\Plans (2005)\08 - Crooked Teeth.mpc"
 Volume in drive F has no label.
 Volume Serial Number is A490-BB00

 Directory of F:\Music\A-Z\A-F\D\Death Cab For Cutie\Plans (2005)

04/29/2006  11:33 AM         5,824,644 08 - Crooked Teeth.mpc
               1 File(s)      5,824,644 bytes
               0 Dir(s)   3,415,752,704 bytes free

noticed your command used forward slashes instead of backslashes, but modifying the command had no effect (result was the above error + my default mpc program was launched)

C:\Program Files\SqueezeCenter\server\Bin\MSWin32-x86-multi-thread>"F:\Music\A-Z
\A-F\D\Death Cab For Cutie\Plans (2005)\08 - Crooked Teeth.mpc" |"C:\PROGRA~1\SQ
UEEZ~1\server\Bin\MSWin32-x86-multi-thread\mppdec.exe" --prev --gain 2 - - |"C:\
PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-multi-thread\flac.exe" -c--compression-
level-0 - > t.flc
C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-multi-thread\flac.exe: invalid optio
n -- -
C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-multi-thread\flac.exe: invalid optio
n -- -
MPC Decoder  SV7  1.95e  3DNow/SSE   (C) 1999-2003 Buschmann/Klemm/Piecha/Wolf

decoding of <stdin>

mppdec: write error: Invalid argument, terminating
         to <stdout>

mppdec: Input File is not a MPC file, neither SV 4...6 nor SV 7 (SV 0)
---------------------
In an effort to confirm that the decoding works, went through the process one step at a time, trimmed some of the options (gain, clipping prevention,etc)

***(confirm that the mpc file can be decoded by the server/bin mppdec)
C:\Program Files\SqueezeCenter\server\Bin\MSWin32-x86-multi-thread>mppdec "F:\Mu
sic\A-Z\A-F\D\Death Cab For Cutie\Plans (2005)\08 - Crooked Teeth.mpc" ./out.wav

MPC Decoder  SV7  1.95e  3DNow/SSE   (C) 1999-2003 Buschmann/Klemm/Piecha/Wolf

decoding of file 'F:\Music\A-Z\A-F\D\Death Cab For Cutie\Plans (2005)\08 - Crook
ed Teeth.mpc'
         to file './out.wav'

         Death Cab For Cutie: Plans    (2005)
    [08] Crooked Teeth

  228.7 kbps,    3:23.76, SV 7.0, Profile 'Insane' (Beta 1.14)

     3:23.73 (runtime: 1.52 s  speed: 134.48x)

***(confirm that the output wav file could be compressed with server/bin flac)
C:\Program Files\SqueezeCenter\server\Bin\MSWin32-x86-multi-thread>flac -c --compression-level-0 -o out.flac out.wav

flac 1.2.1, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

out.wav: wrote 25839308 bytes, ratio=0.719

C:\Program Files\SqueezeCenter\server\Bin\MSWin32-x86-multi-thread>

both the wav and flac were playable via wmp.
-------------------------------------------------------
Comment 11 Alan Young 2009-02-23 09:39:12 UTC
So there are two problem (damn the line wrapping in Bugzilla).

The first is that my command line started with "type". That is, the first command was  type "type" command. Abbreviated:

    type "filename" | mppdec | flac > t.flc

The second is that, in the flac command, there should be a space between '-c' and '--compression-level-0'

The goal was to test that both mppdec and flac were happy with a transcode from stdin to stdout.
Comment 12 Miguel 2009-02-23 11:49:16 UTC
Doh, sorry about that.  Gave it another go on some different MPCs, had problems:

C:\Documents and Settings\Miguel>type "F:\Music\A-Z\A-F\D\Death Cab For Cutie\Pl
ans (2005)\Copy of 11 - Stable Song.mpc" | "C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWi
n32-x86-multi-thread\mppdec.exe" --prev --gain 2 - - | "C:\PROGRA~1\SQUEEZ~1\ser
ver\Bin\MSWin32-x86-multi-thread\flac.exe" -c --compression-level-0 - > t.flc

flac 1.2.1, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

MPC Decoder  SV7  1.95e  3DNow/SSE   (C) 1999-2003 Buschmann/Klemm/Piecha/Wolf

decoding of <stdin>
 -: WARNING, cannot write back seekpoints when encoding to stdout
        to <stdout>

    0.1 kbps,    3:42.51, SV 7.0, Profile 'Insane' (Beta 1.14), ClipDamp 1 ???

-: 0% complete, ratio=0.641coded ( 0.0%)

mppdec: broken frame 84/8518 (decoded size=5865, size in stream=6019)

 (runtime: 0.23 s  speed: 9.33x)
-: WARNING: unexpected EOF; expected 1073741823 samples, got 95616 samples
-: ERROR during read of data pad byte


*** 1 decoded file has errors ***

The process tried to write to a nonexistent pipe.

=======================

C:\Documents and Settings\Miguel>type "F:\Music\A-Z\M-R\N\Nickel Creek\This Side
 (2002)\Copy of 03 - Speak.mpc" | "C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-m
ulti-thread\mppdec.exe" --prev --gain 2 - - | "C:\PROGRA~1\SQUEEZ~1\server\Bin\M
SWin32-x86-multi-thread\flac.exe" -c --compression-level-0 - > t.flc

flac 1.2.1, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
MPC flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

Decoder  SV7  1.95e  3DNow/SSE   (C) 1999-2003 Buschmann/Klemm/Piecha/Wolf

decoding of <stdin>
 -: WARNING, cannot write back seekpoints when encoding to stdout
        to <stdout>

    0.1 kbps,    4:01.45, SV 7.0, Profile 'Xtreme' (Beta 1.14), ClipDamp 1 ???

-: 0% complete, ratio=0.640coded ( 0.0%)

mppdec: broken frame 94/9243 (decoded size=5404, size in stream=5432)

 (runtime: 0.22 s  speed: 11.16x)
-: WARNING: unexpected EOF; expected 1073741823 samples, got 107136 samples
-: ERROR during read of data pad byte


*** 1 decoded file has errors ***

The process tried to write to a nonexistent pipe.

=====================

fwiw, both MPCs play fine in wmp.
Comment 13 Alan Young 2009-02-23 12:00:03 UTC
Maybe this is the error we are expecting or maybe the type command is screwing up the data (I'm not very good with windows). Could you try it one more way?

   mppdec options < mppfile | flac options > t.flc

That is, using '<' to open the input file instead of pipeing it in with type.
Comment 14 Miguel 2009-02-23 13:29:03 UTC
Same two files:

C:\Documents and Settings\Miguel>"C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-mu
lti-thread\mppdec.exe" --prev --gain 2 - - < "F:\Music\A-Z\A-F\D\Death Cab For C
utie\Plans (2005)\Copy of 11 - Stable Song.mpc" | "C:\PROGRA~1\SQUEEZ~1\server\B
in\MSWin32-x86-multi-thread\flac.exe" -c --compression-level-0 - > t.flc

flac 1.2.1, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

MPC Decoder  SV7  1.95e  3DNow/SSE   (C) 1999-2003 Buschmann/Klemm/Piecha/Wolf

decoding of <stdin>
 -: WARNING, cannot write back seekpoints when encoding to stdout
        to <stdout>

         Death Cab For Cutie: Plans    (2005)
    [11] Stable Song

  234.5 kbps,    3:42.51, SV 7.0, Profile 'Insane' (Beta 1.14), ClipDamp 1 ???

     3:42.49 (runtime: 2.13 s  speed: 104.70x)
-: WARNING: unexpected EOF; expected 1073741823 samples, got 9811584 samples
-: ERROR during read of data pad byte


=====================
"F:\Music\A-Z\M-R\N\Nickel Creek\This Side (2002)\Copy of 03 - Speak.mpc"

"C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-multi-thread\mppdec.exe" --prev --gain 2 - - < "F:\Music\A-Z\M-R\N\Nickel Creek\This Side (2002)\Copy of 03 - Speak.mpc" | "C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-multi-thread\flac.exe" -c --compression-level-0 - > t.flc


C:\Documents and Settings\Miguel>"C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin32-x86-mu
lti-thread\mppdec.exe" --prev --gain 2 - - < "F:\Music\A-Z\M-R\N\Nickel Creek\Th
is Side (2002)\Copy of 03 - Speak.mpc" | "C:\PROGRA~1\SQUEEZ~1\server\Bin\MSWin3
2-x86-multi-thread\flac.exe" -c --compression-level-0 - > t.flc
MPC Decoder  SV7  1.95e  3DNow/SSE   (C) 1999-2003
flac 1.2.1, Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007  Josh Coalson
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

 Buschmann/Klemm/Piecha/Wolf

decoding of <stdin>
 -: WARNING, cannot write back seekpoints when encoding to stdout
        to <stdout>

         Nickel Creek: This Side    (2002)
    [03] Speak

  199.5 kbps,    4:01.45, SV 7.0, Profile 'Xtreme' (Beta 1.14), ClipDamp 1 ???

     4:01.42 (runtime: 2.27 s  speed: 106.59x)
-: WARNING: unexpected EOF; expected 1073741823 samples, got 10646784 samples
-: ERROR during read of data pad byte

======================

Not sure if this info made to you from the support folks, but the problem I have playing files is unique to MPCs (though I only have flac, mp3, mpc in my library), but is not consistent -- sometimes MPCs play all the way through, even those that previously were skipped after ~6 seconds.  Was hoping that server.nightly.log would somehow show this (my comment on the file was " server.nightly.log shows a playlist containing all the tracks off a single album. Logging was activated while some songs were being skipped. Track 4 (different names for the same thing) played successfully at which point I stopped logging.)
Comment 15 Miguel 2009-03-02 10:36:09 UTC
Any news?
Comment 16 Alan Young 2009-03-03 11:11:46 UTC
Not really. But could you try the following possible workaround?

In the convert.conf file, change

mpc flc * *
	# IR
	[mppdec] --silent --prev --gain 2 - - | [flac] -cs --totally-silent --compression-level-0 -

to

mpc flc * *
	# FR
	[mppdec] --silent --prev --gain 2 $FILE$ - | [flac] -cs --totally-silent --compression-level-0 -

That is, change the 'IR' to 'FR', and one of the '-'s to '$FILE$'.

You will need to restart SC.
Comment 17 Miguel 2009-03-03 21:58:15 UTC
Created attachment 4879 [details]
Modified convert.conf
Comment 18 Miguel 2009-03-03 22:00:08 UTC
I made the change suggested in comment #16 (see attached convert.conf), then exited/restarted squeezecenter.  Problem remains. :-(
Comment 19 Alan Young 2009-03-04 08:26:07 UTC
Steven, can you try again to reproduce this on the relevant flavour of Windows.
Comment 20 Spies Steven 2009-03-04 14:40:55 UTC
(In reply to comment #19)
> Steven, can you try again to reproduce this on the relevant flavour of Windows.

Sure Alan.

Miguel, I don't recall your hardware and operating system specifics.  Could you post them to this bug, thanks.
Comment 21 Miguel 2009-03-04 22:58:03 UTC
Alan,

Seems I was hasty in stating that the workaround was unsuccessful.  I rebooted my system today and it seems that the workaround has indeed helped -- MPCs are no longer skipping at ~6s.  Prior to the workaround being applied, rebooting the system did not have any effect on the problem.

Steven,

Not sure how much info you need, but here goes:
HW:
Athlon64 3400+
2GB RAM
Squeezebox 3 wirelessly connected via 802.11g

OS:
WinXP Pro SP2
Comment 22 Teijo Santala 2009-03-05 00:51:34 UTC
(In reply to comment #21)
> Alan,
> 
> Seems I was hasty in stating that the workaround was unsuccessful.  I rebooted
> my system today and it seems that the workaround has indeed helped -- MPCs are
> no longer skipping at ~6s.  Prior to the workaround being applied, rebooting
> the system did not have any effect on the problem.

Thanks for the conf file. It seems to have fixed the problem on my machine too. Also no more socketwrapper.exe processes are left running (there used to be at least 8 of them running after a while). 

And thanks to Alan also for providing the fix.
Comment 23 Alan Young 2009-03-05 08:12:39 UTC
It is only really a workaround, as applying the same change on Linux cause mppdec to crash. But good to hear that it is working for you.

Actually, it would be good to get to the bottom of why reading stdin on Linux causes a crash, and why skipping is not supported with stdout, but I guess that those are different bugs.
Comment 24 Chris Owens 2009-03-16 09:50:52 UTC
We are now planning to make a 7.3.3 release.  Please review your bugs (all marked open against 7.3.3) to see if they can be fixed in the next few weeks, or if they should be retargeted for 7.4 or future.

Thanks!
Comment 25 Chris Owens 2009-03-30 17:32:17 UTC
Since there's now a planned 7.3.3 release, bugs which won't make the cut-off are being moved to the next target out.  If you feel that this bug needs to be addressed more (or less) urgently than the 7.4 release, please cc chris@slimdevices.com and leave a comment in the bug to that effect so we can review it.

Thanks.
Comment 26 Chris Owens 2009-03-31 08:54:37 UTC
For some reason Bugzilla did not change the target when I did this yesterday.  Or maybe it was me.  In either case, I'm trying it again.
Comment 27 Spies Steven 2009-07-30 15:29:00 UTC
Alan, any reason to keep this bug still open?  In comment 23 you do mention issues with stdin and stdout on Linux, should those be different bugs?
Comment 28 Andy Grundman 2009-07-30 20:10:57 UTC
There is a request open to update to the SV8 version of MPC, which uses a different binary, mpcdec.  Bug 13031.  It will require convert.conf changes as command-line params have been significantly changed.  But it may be worth seeing if it could fix this issue.
Comment 29 Ben Strulo 2009-10-09 07:18:25 UTC
I have this problem too.

Again I don't know when it started but sometime around moving to 7.

I have made the changes suggested to convert.conf and they have fixed it.

But, of course, when I get a move from 7.4 to the next version presumably it will just get broken again.

I'd like to see a proper fix if possible?

Is there any other diagnostics I could do to help?
Comment 30 James Richardson 2009-10-20 13:42:35 UTC
*** Bug 14826 has been marked as a duplicate of this bug. ***
Comment 31 mll 2009-10-28 06:00:14 UTC
hi there,

I see on this bug : "Target Milestone: 	7.4.x" but we're on 7.4.1 already. so what's the actual targeted version ?
Comment 32 mll 2010-02-28 03:18:53 UTC
...and now, since I upgraded to 7.4.2, any fix that I did got erased. oh my....
Comment 33 Andy Grundman 2010-02-28 09:36:53 UTC
I would encourage anyone who really cares about MPC support to work on a patch to support the latest mpcdec SV8 binary.
Comment 34 mll 2010-06-26 11:20:59 UTC
So.... the squeezeserver upgraded to 7.5.1, and voilà ! I have to change this convert.conf file myself again.............

So, even if nobody ever comes "to work on a patch to support the latest mpcdec SV8 binary", can you please, pretty pretty plase, edit the source so that


mpc flc * *
	# IR
	[mppdec] --silent --prev --gain 2 - - | [flac] -cs --totally-silent --compression-level-0 -

gets changed to

mpc flc * *
	# FR
	[mppdec] --silent --prev --gain 2 $FILE$ - | [flac] -cs --totally-silent --compression-level-0 -

I would be soooo thankful.
Comment 35 mll 2011-02-19 08:50:43 UTC
Now at 7.5.3, and workaround still not done...
Comment 36 mll 2011-10-18 04:38:27 UTC
I don't understand. Here is a bug whose fix is found, which requires 2 lines to be changed in convert.conf, and yet which has not been fixed for more than 2.5 years, and has no target milestone and no asisgnee any more.

I'd have thought that SqueezeServer's development is halted, yet I see a v7.7 is in the tracks.

Really, I don't understand.
Comment 37 Andy Grundman 2011-10-18 05:20:57 UTC
Because Alan reported that the workaround crashes on Linux, so it's not good enough. It's clear to me that almost no one cares about MPC support, even the MPC developers did not want to provide a feature-compatible binary decoder for SV8. We will probably have to remove support for it at some point, so I would advise you to switch to FLAC or another well-supported format.
Comment 38 mll 2011-10-18 05:50:13 UTC
Thanks for answering. Missed the Linux crash point.

And yes, I dropped MPC for my rips 1 year ago, as i't clearly a dying format, but still most of my music library is in MPC format and I don't feel like re-ripping it...

I guess I'll have to keep on manualy editing convert.conf at every release...