Author Topic: Xmms - Need Mpeg 1/2/3 Plugin  (Read 4121 times)

maystorm

  • Newbie
  • *
  • Posts: 48
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« on: August 03, 2006, 07:09:23 pm »
Lately I came across a number of files which xmms would refuse to play on my C3000. Xmms on my desktop PC plays them fine. I checked those MP3's with the 'file' utility which prints:

Wamdue Project - King Of My Castle.mp3: RIFF (little-endian) data, WAVE audio, MPEG Layer 3, stereo 44100 Hz

Comparing the plugins on my desktop PC with those on my Zaurus I found out that I'm missing following plugin:

MPEG Layer 1/2/3 Player 1.2.10 [libmpg123.so]

Can somebody tell me where I can find this plugin for my C3000?

TIA!
« Last Edit: August 03, 2006, 07:12:30 pm by maystorm »
Owner of a very happy Zaurus SL-C3000 since the day he was fed with pdaXrom 1.1.0beta1! Just made him even more happy by feeding him with pdaXii13 build 5.4.7.

maystorm

  • Newbie
  • *
  • Posts: 48
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #1 on: August 05, 2006, 08:38:22 pm »
Update:

I've now been trying to compile xmms (version 1.2.10 sources) myself in order to get the MPG123 plugin. However, although building and installing xmms works fine the build process wouldn't create the shared libraries "libmpg123.so"! It only creates static libraries "libmpg123.a". I have tried to run ./configure with and without the "--enable-shared" option (which should be on by default anyway), however, both to no avail. Also other plugins such as the OSS output plugin are not created as shared libraries only as static ones (so I can run xmms but don't hear anything). Only libwav.so and libtonegen.so are build as shared versions so building shared libraries in general should work.

When I run the exact same build process on my X86 desktop PC each plugin gets created as a shared library.

What would prevent the build process on the ARM architecture to create shared libraries? I must be missing something?

Help?
« Last Edit: August 05, 2006, 08:40:25 pm by maystorm »
Owner of a very happy Zaurus SL-C3000 since the day he was fed with pdaXrom 1.1.0beta1! Just made him even more happy by feeding him with pdaXii13 build 5.4.7.

alee16

  • Full Member
  • ***
  • Posts: 113
    • View Profile
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #2 on: August 05, 2006, 09:14:48 pm »
Quote
Update:

I've now been trying to compile xmms (version 1.2.10 sources) myself in order to get the MPG123 plugin. However, although building and installing xmms works fine the build process wouldn't create the shared libraries "libmpg123.so"! It only creates static libraries "libmpg123.a". I have tried to run ./configure with and without the "--enable-shared" option (which should be on by default anyway), however, both to no avail. Also other plugins such as the OSS output plugin are not created as shared libraries only as static ones (so I can run xmms but don't hear anything). Only libwav.so and libtonegen.so are build as shared versions so building shared libraries in general should work.

When I run the exact same build process on my X86 desktop PC each plugin gets created as a shared library.

What would prevent the build process on the ARM architecture to create shared libraries? I must be missing something?

Help?
[div align=\"right\"][a href=\"index.php?act=findpost&pid=137542\"][{POST_SNAPBACK}][/a][/div]

I think you are misssing the mpg123 library.  I'm not sure if it is already built for pdaxrom or not, I'm pretty sure they have it in OZ (maybe it would work?).
« Last Edit: August 05, 2006, 09:15:46 pm by alee16 »
Sharp C1000 running pdaXrom 1.1.0beta4!
w/Lexar 1GB 40x Compactflash card &
Toshiba 512mb SD card

maystorm

  • Newbie
  • *
  • Posts: 48
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #3 on: August 06, 2006, 06:41:06 am »
Quote
I think you are misssing the mpg123 library.  I'm not sure if it is already built for pdaxrom or not, I'm pretty sure they have it in OZ (maybe it would work?).
Hmm, I thought that the make/build process would create this library? It is part of the xmms sources and located in directory xmms-1.2.10/Input/mpg123. However, it only creates the static version.

Where exactly can I find it in OZ as you mentioned so I can try it? TIA!
Owner of a very happy Zaurus SL-C3000 since the day he was fed with pdaXrom 1.1.0beta1! Just made him even more happy by feeding him with pdaXii13 build 5.4.7.

alee16

  • Full Member
  • ***
  • Posts: 113
    • View Profile
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #4 on: August 06, 2006, 02:49:32 pm »
Quote
Quote
I think you are misssing the mpg123 library.  I'm not sure if it is already built for pdaxrom or not, I'm pretty sure they have it in OZ (maybe it would work?).
Hmm, I thought that the make/build process would create this library? It is part of the xmms sources and located in directory xmms-1.2.10/Input/mpg123. However, it only creates the static version.

Where exactly can I find it in OZ as you mentioned so I can try it? TIA!
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]

OK, I found it , but it's called mpg321 and I think it has the mpg123 library.  Here's the link:
[a href=\"http://ewi546.ewi.utwente.nl/mirror/www.openzaurus.org/official/unstable/3.5.4.1/feed/base/mpg321_0.2.10-r0_arm.ipk]mpg321[/url]

If that version doesn't work, you might try some of the older versions found here:
http://ewi546.ewi.utwente.nl/mirror/www.op...icial/unstable/

Just click on "version number" (3.5.4, 3.5.3, etc.) then go into the feed folder, and the base folder and the package should be there.  The link I posted for it is the most recent version from the 3.5.4.1 feed.
Sharp C1000 running pdaXrom 1.1.0beta4!
w/Lexar 1GB 40x Compactflash card &
Toshiba 512mb SD card

pelrun

  • Sr. Member
  • ****
  • Posts: 366
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #5 on: August 06, 2006, 04:03:22 pm »
Quote
Wamdue Project - King Of My Castle.mp3: RIFF (little-endian) data, WAVE audio, MPEG Layer 3, stereo 44100 Hz
[div align=\"right\"][{POST_SNAPBACK}][/a][/div]

It looks like what you actually have here is an mp3 in a .wav (RIFF) container. It's a funny format which is only intended to trick some windows software that uses wav's into supporting mp3's.

Obviously, that's not needed for 99.99% of mp3 playback, and definitely not on a linux machine!

But since it's an option in some encoding software, there are cases where people turn the option on because they don't understand what it's for. It also generally means they get saved as *.mp3 instead of the correct *.wav, causing trouble whenever mp3 software that doesn't understand such weird files tries to play them.

Maybe recompiling xmms will allow it to play these files, but you can also try stripping off the RIFF header giving you the proper mp3 file, which may just work with the original player.

If you have access to a windows box there's a win32 tool called [a href=\"http://home.hccnet.nl/p.luijer/others.html]WaveMP3[/url] for the job. A bit of searching hasn't turned up an equivalent linux-based tool, but I think you can strip off the header with dd like this (it's completely untested, though):

Code: [Select]
dd if=input.mp3 of=fixed.mp3 bs=44 skip=1
SL-C3100 with usb power mod running debian eabi
pdaXii13 still on the NAND for dualbooting
16GB SDHC! (a new one, after I sat on the old one and it went kaput)
D-Link 660 wifi, Socket Bluetooth rev H
External 9800mAh LiIon battery and slimline dvd drive
Homebrew microphone and remote

maystorm

  • Newbie
  • *
  • Posts: 48
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #6 on: August 06, 2006, 06:33:53 pm »
Quote
but I think you can strip off the header with dd like this (it's completely untested, though):

Code: [Select]
dd if=input.mp3 of=fixed.mp3 bs=44 skip=1
Ah, thanks for this hint! I checked a number of MP3 files and it seems that they all start with 0xfffa or 0xfffb in the first two bytes. Some of those MP3's which xmms wouldn't play have an arbitary number of "other" bytes before that tag. For example, for the song I mentioned in my earlier posting I need to skip 70 bytes (instead of those 44 you mentioned):

Code: [Select]
dd if=Wamdue{...}.mp3 of=Wamdue{...}-fixed.mp3 bs=70 skip=1
For another of my unplayable MP3 files I have to skip 6758 bytes (that one would not have been reported as an RIFF/Wave format just as of type 'data' by the "file" utility. I don't know where these bytes come from .) . However, after stripping those bytes they play now fine in xmms!

If I find the time I'll do some research on MP3 file formats. Perhaps it is possible to write a small shell script which searches for the proper MP3 tag and automatically strips off everything before.

At least I know now how to convert them manually if I come across these "illegal" MP3's. Thanks!
« Last Edit: August 06, 2006, 06:37:01 pm by maystorm »
Owner of a very happy Zaurus SL-C3000 since the day he was fed with pdaXrom 1.1.0beta1! Just made him even more happy by feeding him with pdaXii13 build 5.4.7.

maystorm

  • Newbie
  • *
  • Posts: 48
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #7 on: August 06, 2006, 07:04:03 pm »
Quote
OK, I found it , but it's called mpg321 and I think it has the mpg123 library.  Here's the link:
mpg321

If that version doesn't work, you might try some of the older versions found here:
http://ewi546.ewi.utwente.nl/mirror/www.op...icial/unstable/
Thanks for this link!

However, it seems that this ipk package is broken as an ipkg install gives following errors:

Code: [Select]
zcat: mpg321_0.2.10-r0_arm.ipk: not in gzip format
tar: ./control.tar.gz: Not found in archive
tar: Error exit delayed from previous errors

zcat: stdin: unexpected end of file
mv: unable to rename `//home/tmp/ipkg/mpg321/control/*': No such file or directory
I also tried the versions from the previous feeds, however, they all give this error. Is OZ using a different ipk format than pdaXrom??
Owner of a very happy Zaurus SL-C3000 since the day he was fed with pdaXrom 1.1.0beta1! Just made him even more happy by feeding him with pdaXii13 build 5.4.7.

InSearchOf

  • Administrator
  • Hero Member
  • *****
  • Posts: 1144
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #8 on: August 06, 2006, 07:12:23 pm »
Quote
I also tried the versions from the previous feeds, however, they all give this error. Is OZ using a different ipk format than pdaXrom??

There different...

*sits back and waits for a post by keon to rant about this, closes eyes*
Sharp Zaurus SL-C3100 and SL-6000L
pdaXrom Developer
Please visit pdaXrom.org for updates
My Blog
IRC #pdaxrom @ FreeNode

maystorm

  • Newbie
  • *
  • Posts: 48
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #9 on: August 06, 2006, 07:17:34 pm »
Oops, they are really different?

How can I extract files from OZ ipk's?
Owner of a very happy Zaurus SL-C3000 since the day he was fed with pdaXrom 1.1.0beta1! Just made him even more happy by feeding him with pdaXii13 build 5.4.7.

InSearchOf

  • Administrator
  • Hero Member
  • *****
  • Posts: 1144
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #10 on: August 06, 2006, 08:05:44 pm »
I know under windows using WinRAR... but under linux I have never did it... I would assuming xarchiver should do it...

Late
Sharp Zaurus SL-C3100 and SL-6000L
pdaXrom Developer
Please visit pdaXrom.org for updates
My Blog
IRC #pdaxrom @ FreeNode

Greg2

  • Hero Member
  • *****
  • Posts: 790
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #11 on: August 06, 2006, 08:40:01 pm »
Quote
How can I extract files from OZ ipk's?
Code: [Select]
[greg@nfis test]$ ar -x mpg321_0.2.10-r0_arm.ipk
[greg@nfis test]$ ls
control.tar.gz  data.tar.gz  debian-binary  mpg321_0.2.10-r0_arm.ipk
[greg@nfis test]$ tar xvzf data.tar.gz
./
./usr/
./usr/bin/
./usr/bin/mpg321
./usr/bin/mpg123

maystorm

  • Newbie
  • *
  • Posts: 48
    • View Profile
    • http://
Xmms - Need Mpeg 1/2/3 Plugin
« Reply #12 on: August 07, 2006, 02:53:12 am »
@Greg2,
@InSearchOf:

Thank you, 'ar' does the job!

@alee16:

This ipk does only contain one binary and one symlink. As far as I understand mpg321 is a free MP3 player, no libraries included. Anyway, thanks for your help.
Owner of a very happy Zaurus SL-C3000 since the day he was fed with pdaXrom 1.1.0beta1! Just made him even more happy by feeding him with pdaXii13 build 5.4.7.