[MPlayer-users] Mplayer and LIVE.com

armin.gerritsen at philips.com armin.gerritsen at philips.com
Tue Jan 6 14:49:33 CET 2004


Malte-Bogomil Romberg wrote:
> [Automatic answer: RTFM (read DOCS, FAQ), also read
> DOCS/bugreports.html]
> Hi all!
>   I've just one question: How can I get mplayer to compile with live
>   support. I downloaded the LIVE.COM main-package (following the link
> for mplayer). I compiled it and got some .a-files. Then I told
> mplayers ./configure-script to use LIVE streaming support. But it
>   didn't work out. Should I use some hidden switch to compile
> LIVE-support as .so-files? Or do have to put the resulting .a-files
>   in a specific directory? Any help would greatly be appreciated!
>   Kindest regards
>          Julien

Cut, past and modify from a post I made in the past:

what I did to get MPlayer working with LIVE.com.

1) I downloaded and extracted the live-libraries in let's say

/home/agerrits/develop/live.

When you extract the stuff, copy/modify one of the config.xxxx files to your
needs, and change compiler (in my case arm-linux-gcc and arm-linux-g++).
After that run ./genMakeFiles xxxx (with xxxx the new name you gave to your
file). Then it will create makefiles for the live library. Then a simple
'make' should compile all libraries (and some test-programs).

2) Get MPlayer CVS, as the release is not supposed to work. Didn't try if
this is the case, but I asume the warning on LIVE.com's site isn't for
nothing.)

3) Get the latest libavcodec, since that is not included in MPlayer CVS and
put it in libavcodec subfolder.

4) Run this as configure (asuming you use arm-linux-gcc too as cross
compiler).

#!/bin/bash
./configure --cc=arm-linux-gcc --target=arm --enable-static --prefix=/home/a
gerrits/develop/mplayer.live/out --disable-win32 --disable-dvdnav --disable-
dvdread --enable-fbdev --disable-mencoder  --enable-mad --enable-live --with
-livelibdir=/home/agerrits/develop/live

Note that the option '--enable-mad' you may want to remove. I always use MAD
for MPx-audio, because it is faster on ARM in our experiences. (The standard
ffmpeg integer-MP3 codec gives hickups on our ARM.)

Plus of course you may want tio change other options too (for instance if
you want to use memcoder).

5) Our CVS-version has a bug (it is reported several times, but I'm afraid
it is still there. Unless this bug is now finally fixed
......................................................),
which requires a small fic in the generated Makefile.
Somewhere around line 245 (depends of course on the configure options you
use), you see the 'chapter'

$(PRG_CFG): version.h codec-cfg.c codec-cfg.h

It has a line like this:

 $(CC) $(CFLAGS) -g codec-cfg.c mp_msg.c -o $(PRG_CFG) -DCODECS2HTML
$(EXTRA_LIB) $(I18NLIBS)

modify it to

 gcc $(CFLAGS) -g codec-cfg.c mp_msg.c -o $(PRG_CFG) -DCODECS2HTML
$(EXTRA_LIB) $(I18NLIBS)

or whatever is the compiler on your development system (but I asume it is
x86 Linux just like me).

This line creates a tool which during the make-process does 'something'. Of
course if it is created with the crosscompiler, it will fail to run on your
development system.

6) Then go to the liba52 folder. There is a fix in newer versions of
bitstream to solve some allignment errors on some platforms (Alpha CPU's).
However - at least in compination with gcc 2.95 for ARM - this fix gives
errors. The fix is easy though. Asuming it is not fixed in newer libavcodecs
the fix is: Change line 35 to:

#if defined (ARCH_X86) || defined(ARCH_ARM)

... so basicly add ARCH_ARM to it.

7) After that just to a make.
I created a dummy folder /home/agerrits/develop/mplayer.live/out, so that if
I do a 'make install' afterwards it will put nicely all programs and
configuration files in that folder, so I can then just copy it to my ARM
system.

There is one 'but' here. MPlayer was created with the idea that it is ran on
the system where it is compiled. So it has hardcoded paths in it (maybe you
can disable that, but I don't know how), so I also had to make some symbolic
links on my arm-filesystem. In my case I installed the mplayer-tree on the
ARM in /mnt/ata/mplayer_live, while it was installed in
/home/agerrits/develop/mplayer.live/out. So I just do this once:

mkdir /home/
cd /home
mkdir agerrits
cd agerrits
mkdir develop
cd develop
mkdir mplayer.live
cd mplayer.live
ln -s /mnt/ata/mplayer_live out

This is required so that during startup mplayer will find it configuration
files.

(I understood there is an extra option to work around this, but I forgot
which one.)

8) Last step. Edit your configuration file. By default mplayer will use for
MP3 data its floating-point lib. Well, since our ARM doesn't have a FPU, it
will use emulation which is slow ... :-)

If you have a CPU with FPU, you can skip this step.

Look (at line 1708 in my case) for audiocodec ffmp3.
Remove this section (or comment it out). MPlayer will always use the first
compatible codec, so it will then use the interger-version (here line 1748).
In my case, I also kicked out that and the ffmp2 (line 1759) because I added
the MAD-library to my MPlayer-tree and compiled in support for it by adding
the switch in step 4. So it will the go to line 1768 in my case and use MAD.

OK, As fas as I remember this is it. Of course all platforms are different
and
the MPlayer CVS and other codec have changed, so things could be
different. But I hope it helps.

Regards and good luck,

Armin





More information about the MPlayer-users mailing list