PDA

View Full Version : PlayWMA Fix



tdurdenj
2014-04-13, 19:17
I just installed VortexBox 2.3 and noticed that my WMAs were not playing with the PlayWMA plugin like they did on VortexBox 2.2. After some digging around I found that when PlayWMA invoked mplayer, it was sending what I think were 32 bit float PCM files for conversion by flac, instead of the 16 bit PCM that flac was expecting. Conversion to mp3 would work, as apparently lame doesn't care what kind of PCM files it gets. Conversion to PCM/WAV produced sound, but it was just noise.

So I changed the custom-convert.conf file at /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/PlayWMA to use the "-af format=s16le" option with mplayer. So for example, the string for flac in custom-convert.conf should be changed from


[wmamplayer.sh] -really-quiet -vc null -vo null $START$ $DURATION$ -cache 128 -af volume=0,resample=44100:0:1,channels=2 -ao pcm:file=/dev/fd/3 $PATH$ | [flac] -cs --totally-silent --compression-level-0 --ignore-chunk-sizes -

to


[wmamplayer.sh] -really-quiet -vc null -vo null $START$ $DURATION$ -cache 128 -af volume=0,resample=44100:0:1,channels=2,format=s16l e -ao pcm:file=/dev/fd/3 $PATH$ | [flac] -cs --totally-silent --compression-level-0 --ignore-chunk-sizes -

This did the trick for me and I just wanted to post in case anyone had similar trouble or if someone had another better solution.

bpa
2014-04-14, 03:08
This sounds like an mplayer issue. To help others you should also include the mplayer version and build as different buidls have used different options.

Are you using a SliMP3 or SB1 player ?

For Vortexbox players, I would expect Vortexbox to have added the WMA as a "native" format to its player. PlayWMA which should only be necessary for older h/w SB players.

tdurdenj
2014-04-14, 06:00
Thanks for this plugin, bpa!

Yes, definitely an mplayer issue. It looks like I'm running MPlayer SVN-r36573-4.8.2. I'm sure that my previous VortexBox build was probably running a different mplayer, which might be why it worked there. Too bad mplayer isn't more consistent.

I'm coming to the squeezebox game a little late, and don't actually have any hardware players. I'm running the VortexBox to serve a couple Android devices running the SqueezePlayer app as well as a PogoPlug VAMP running squeezelite. The built-in squeezelite player on the VortexBox played my wma's without any trouble, but the others weren't able to do it. I thought it was odd that squeezelite on the VortexBox could handle them, but the squeezelite on the Vamp could not.

bpa
2014-04-14, 06:50
Yes, definitely an mplayer issue. It looks like I'm running MPlayer SVN-r36573-4.8.2.
The build is as important as the version as build options can vary and change defaults. Who built the mplayer that you are using or did it come bundled with Vortexbox ? If it came bundled - a comment should be passed to Vortexbox developer.


I thought it was odd that squeezelite on the VortexBox could handle them, but the squeezelite on the Vamp could not.
It depends on some ffmpeg libraries being included with te squeezelite. It seems either squeezelite has not been updated for Vamp or Vamp has a more limited ARM processor and is not capable of running the ffmpeg libraries.

tdurdenj
2014-04-14, 07:59
The build is as important as the version as build options can vary and change defaults. Who built the mplayer that you are using or did it come bundled with Vortexbox ? If it came bundled - a comment should be passed to Vortexbox developer.
Yes, it was bundled with Vortexbox. I'll send a message.


It depends on some ffmpeg libraries being included with te squeezelite. It seems either squeezelite has not been updated for Vamp or Vamp has a more limited ARM processor and is not capable of running the ffmpeg libraries.
That makes sense. I had actually downloaded an updated squeezelite binary for the Vamp, and looking at the squeezelite page, it seems that the pre-built binaries do not include the ffmpeg libraries. So that would explain it.

Ron Olsen
2014-04-14, 21:57
VortexBox 2.3/Fedora 20 uses a squeezelite-1.6 rpm that was built by Andrew Gillis, the VortexBox developer.

The build options are: LINUX ALSA EVENTFD RESAMPLE FFMPEG VISEXPORT DSD LINKALL

mplayer-1.1-18.20140111svn is the version of mplayer on VB 2.3; this package was also built by Andrew.

According to "rpm -qi mplayer", its build options are:

Non-default rpmbuild options:
--with samba: Enable Samba (smb://) support
--with xmms: Enable XMMS input plugin support
--without amr: Disable AMR support
--with faac: Enable FAAC support
--with libmad: Enable libmad support
--with openal: Enable OpenAL support
--with jack: Enable JACK support
--with arts: Enable aRts support
--with esound: Enable EsounD support
--with dga: Enable DGA support
--with directfb:Enable DirectFB support
--with svgalib: Enable SVGAlib support
--with nemesi: Enable libnemesi RTSP support

bpa
2014-04-15, 00:37
Those aren't the build option I meant. Mplayer has a huge number of options and the ones listed are just broad categories and not the more fundamental ones whuich in turn set the defaults on output.

I google the issue and it has popped up a few times over the years so it looks like a side effect of some choice of build option chosen by a particular user who is creating their own version of mplayer. Since the mplayer has been built by Andrew for Vortext box the question should be bounced back to him - why change mplayer default settings compared to standard version ?

I haven't done much checking but the following are places I would suspect.
* It may be related to DVD or Blu ray support.
* It may be some choice in libavcodecs library build.
* Another slim possibility is that it has been set up in the mplayer config files ~/.mplayer/conf or /etc/mplayer/mplayer.conf

The command "mplayer -format help" lists all the support output format but doesn't state which is the default.

Ron Olsen
2014-04-15, 21:27
With the VortexBox 2.3 version of mplayer (1.1-18.20140111svn.fc20.i686):


mplayer -format help
Available formats:
mulaw alaw mpeg2 ac3le ac3be ac3ne imaadpcm u8 s8 u16le u16be u16ne
s16le s16be s16ne u24le u24be u24ne s24le s24be s24ne
u32le u32be u32ne s32le s32be s32ne floatle floatbe floatne
MPlayer SVN-r36573-4.8.2 (C) 2000-2014 MPlayer Team