system:
-------
I am running a Debian unstable on a MPC 8241 processor, which is a variant of a ppc 603e.
uname -a
Linux millipano 2.6.17.1-mh1_kuro-box #4 Fri Jun 23 02:52:02 CEST 2006 ppc GNU/Linux
contrib libraries:
-----------------
freetype-2.3.1
libdvbpsi4-0.1.5
libmad-0.15.1b
mpeg2dec-0.4.1
For each of these libraries, I cd into the directory and type in :
./configure --disable-altivec --enable-debug
make
make install
vlc:
---
I got these 3 versions either from the main ftp repository or from the nightly builds (bugfix version):
vlc-0.8.5
vlc-0.8.6-bugfix
vlc-0.8.6a
I compiled these versions this way:
./configure --disable-altivec --disable-ffmpeg --with-libmpeg2-tree=../mpeg2dec-0.4.1/ --with-dvbpsi-tree=../libdvbpsi4-0.1.5/ --with-mad-tree=../libmad-0.15.1b/ --disable-wxwidgets --disable-skins2 --disable-smb --enable-debug
make
make install
which worked fine. I can play files without problem using the file output (--sout-standatrd-access=file) and I can also use the http interface.
problem:
-------
I want to run vlc this way:
/usr/local/bin/vlc --sout=#std --sout-standard-access=udp --sout-standard-mux=ts --sout-standard-url=212.27.38.253:1234 --sout-ts-pid-video=68 --sout-ts-pid-audio=69 --sout-ts-pid-spu=70 --sout-ts-pcr=80 --sout-ts-dts-delay=400 --subsdec-encoding=ISO-8859-1 --sout-transcode-maxwidth=720 --sout-transcode-maxheight=576 -vvvv /mnt/audio/mp3/Angra/Fireworks/01\ -\ Wings\ Of\ Reality.mp3
* this is the stdout output:
Remote control interface initialized. Type `help' for help.
status change: ( stop state: 0 )
status change: ( quit )
* this is the stderr output:
VLC media player 0.8.5 Janus
[00000001] main vlc debug: opening config file /home/thibaut/.vlc/vlcrc
[00000001] main vlc warning: config file /home/thibaut/.vlc/vlcrc does not exist yet
[00000001] main vlc debug: checking builtin modules
[00000001] main vlc debug: checking plugin modules
[00000001] main vlc debug: loading plugins cache file /home/thibaut/.vlc/cache/plugins-0404be.dat
[00000001] main vlc debug: recursively browsing `modules'
[00000001] main vlc debug: recursively browsing `/usr/local/lib/vlc'
[00000001] main vlc debug: recursively browsing `plugins'
[00000001] main vlc debug: module bank initialized, found 180 modules
[00000001] main vlc debug: opening config file /home/thibaut/.vlc/vlcrc
[00000001] main vlc warning: config file /home/thibaut/.vlc/vlcrc does not exist yet
Warning: option --sout-standard-url is deprecated. You should use --sout-standard-dst instead.
[00000001] main vlc debug: CPU has capabilities FPU
[00000001] main vlc debug: looking for memcpy module: 1 candidate
[00000001] main vlc debug: using memcpy module "memcpy"
[00000225] main playlist debug: waiting for thread completion
[00000225] main playlist debug: thread 813864160 (playlist) created at priority 0 (playlist/playlist.c:184)
[00000226] main private debug: waiting for thread completion
[00000226] main private debug: thread 822252768 (preparser) created at priority 0 (playlist/playlist.c:210)
[00000227] main interface debug: looking for interface module: 1 candidate
[00000227] main interface debug: using interface module "hotkeys"
[00000227] main interface debug: thread 830641376 (interface) created at priority 0 (interface/interface.c:231)
[00000229] main interface debug: looking for interface module: 1 candidate
[00000229] main interface debug: using interface module "screensaver"
[00000229] main interface debug: thread 839029984 (interface) created at priority 0 (interface/interface.c:231)
[00000225] main playlist debug: adding playlist item `/mnt/audio/mp3/Angra/Fireworks/01 - Wings Of Reality.mp3' ( /mnt/audio/mp3/Angra/Fireworks/01 - Wings Of Reality.mp3 )
[00000231] main interface debug: looking for interface module: 1 candidate
[00000231] main interface debug: using interface module "rc"
[00000231] main interface debug: thread 847418592 (manager) created at priority 0 (interface/interface.c:216)
[00000225] main playlist debug: creating statistics handler
[00000225] main playlist debug: creating new input thread
[00000234] main input debug: waiting for thread completion
[00000235] main stream output debug: stream=`std'
[00000236] main private debug: looking for sout stream module: 1 candidate
[00000234] main input debug: thread 855807200 (input) created at priority 0 (input/input.c:261)
[00000236] stream_out_standard private debug: creating `udp/ts://212.27.38.253:1234'
[00000236] stream_out_standard private debug: extension is 253:1234
[00000236] stream_out_standard private debug: extension -> mux=(null)
[00000236] stream_out_standard private debug: using `udp/ts://212.27.38.253:1234'
[00000238] main private debug: looking for sout access module: 1 candidate
then, I get this message:
Illegal Instruction
and vlc exits.
* some alternatives:
- If I strip out some options, it is all the same:
/usr/local/bin/vlc --sout=#std --sout-standard-access=udp --sout-standard-mux=ts --sout-standard-url=212.27.38.253:1234 -vvvv /mnt/audio/mp3/Angra/Fireworks/01\ -\ Wings\ Of\ Reality.mp3
- If I use a path without blanks in it for the music file and if I use the telnet interface this way:
/usr/local/bin/vlc --sout=#std --sout-standard-access=udp --sout-standard-mux=ts --sout-standard-url=212.27.38.253:1234 -vvvv
add /home/thibaut/w.mp3
Then I get the same output.
- If I use the debian releases of vlc (apt-get) (stable, unstable, sid), it is all the same.
* gdb output:
Here is the gdb bt using this last scenario:
gdb /usr/local/bin/vlc
GNU gdb 6.6-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "powerpc-linux-gnu"...
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) set args --sout="#std" --sout-standard-access=udp --sout-standard-mux=ts --sout-standard-url=212.27.38.253:1234
(gdb) run
Starting program: /usr/local/bin/vlc --sout="#std" --sout-standard-access=udp --sout-standard-mux=ts --sout-standard-url=212.27.38.253:1234
[Thread debugging using libthread_db enabled]
[New Thread 805450784 (LWP 31314)]
Program received signal SIGILL, Illegal instruction.
[Switching to Thread 805450784 (LWP 31314)]
CPUCapabilities () at misc/cpu.c:281
281 asm volatile ("mtspr 256, %0\n\t"
(gdb) bt
#0 CPUCapabilities () at misc/cpu.c:281
#1 0x1000cc0c in VLC_Create () at libvlc.c:212
#2 0x10003824 in main (i_argc=5, ppsz_argv=0x7f9b4aa4) at src/vlc.c:81
(gdb) quit
The program is running. Exit anyway? (y or n)
personal research:
------------------
I found an old message in a forum, dont't know if this can be helpful.
viewtopic.php?t=3689&highlight=illegal+instruction
I believe this is a bug in some module with respect to the cpu support. That said, I really dont't know what to do. Anyways, fyi what I want to do is stream some content from my box (which is a kurobox hg, you can find some info googling for it) using the vlc streaming capabilities to another box (which is a freebox).
thanks guys for your help.