[MPlayer-users] Many bugs with v4l :-(

David Kuehling dvdkhlng at gmx.de
Wed Feb 19 18:36:48 CET 2003


Hi,

just some days ago I downloaded mplayer-0.90pre4 and encountered two
new bugs.  I could verify all those bugs with the cvs snapshot of
20030219.

Bug #1: mencoder crashes when using denoise3d but only if -oac is
mp3lame

cmd: mencoder -tv on:driver=v4l:norm=pal:width=640:height=480 -ovc lavc -lavcopts vcodec=mpeg4 -oac mp3lame -lameopts aq=9:cbr:br=224 -o test.avi -vop denoise3d -v

[...]
MP3 audio selected
Building audio filter chain for 44100Hz/1ch/16bit -> 44100Hz/1ch/16bit...
[libaf] Adding filter dummy 
[dummy] Was reinitialized, rate=44100Hz, nch = 1, format = 0x00000001 and bps = 2
[dummy] Was reinitialized, rate=44100Hz, nch = 1, format = 0x00000001 and bps = 2
Writing AVI header...

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 1024 (LWP 11301)]
main (argc=16, argv=0xbffffac4) at mencoder.c:840
840     if(lame_param_scale>0) {
(gdb) bt
#0  main (argc=16, argv=0xbffffac4) at mencoder.c:840
(gdb) list
835     } else {    // CBR:
836         if(lame_param_br>0) lame_set_brate(lame,lame_param_br);
837     }
838     if(lame_param_mode>=0) lame_set_mode(lame,lame_param_mode); // j-st
839     if(lame_param_ratio>0) lame_set_compression_ratio(lame,lame_param_ratio);
840     if(lame_param_scale>0) {
841         printf("Setting audio input gain to %f\n", lame_param_scale);
842         lame_set_scale(lame,lame_param_scale);
843     }
844     #if HAVE_MP3LAME >= 392
(gdb) print $pc
$2 = (void *) 0x8063a35
(gdb) disas $pc-18 $pc+16
Dump of assembler code from 0x8063a23 to 0x8063a45:
0x8063a23 <main+5247>:  fstps  (%esp,1)
0x8063a26 <main+5250>:  mov    0xffffecd0(%ebp),%ecx
0x8063a2c <main+5256>:  push   %ecx
0x8063a2d <main+5257>:  call   0x8061150 <lame_set_compression_ratio>
0x8063a32 <main+5262>:  add    $0x10,%esp
0x8063a35 <main+5265>:  fldz   
0x8063a37 <main+5267>:  flds   0x827d150
0x8063a3d <main+5273>:  fcomi  %st(1),%st
0x8063a3f <main+5275>:  fstp   %st(1)
0x8063a41 <main+5277>:  jbe    0x8063a76 <main+5330>
0x8063a43 <main+5279>:  add    $0xfffffffc,%esp
End of assembler dump.
(gdb) info reg
feax            0xffffffff       -1
ecx            0x83f6128        138371368
edx            0x840bb10        138459920
ebx            0x840bb10        138459920
esp            0xbfffe6a4       0xbfffe6a4
ebp            0xbffffa5c       0xbffffa5c
esi            0x83f6128        138371368
edi            0x8397220        137982496
eip            0x8063a35        0x8063a35
eflags         0x10286  66182
cs             0x23     35
ss             0x2b     43
ds             0x2b     43
es             0x2b     43
fs             0x0      0
gs             0x0      0
fctrl          0x372    882
fstat          0x81a1   33185
ftag           0xffff   65535
fiseg          0x23     35
fioff          0x80f5c17        135224343
foseg          0x2b     43
fooff          0xbfffe5e8       -1073748504
fop            0x7bd    1981
xmm0           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff), 
    -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
xmm1           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff), 
    -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
xmm2           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff), 
    -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
xmm3           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff), 
    -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
xmm4           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff), 
    -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
xmm5           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff), 
    -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
xmm6           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff), 
    -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
xmm7           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-nan(0x7fffff), 
    -nan(0x7fffff), -nan(0x7fffff), -nan(0x7fffff)}}
mxcsr          0x1f80   8064
orig_eax       0xffffffff       -1


Bug #2: mplayer hangs when trying to seek with v4l input

cmd: mplayer -vo x11 -tv on:driver=v4l:width=640:height=480

after pressing arrow key, mplayer hangs; so I send it SIGINT:

Program received signal SIGINT, Interrupt.
[Switching to Thread 1026 (LWP 11195)]
0x4045bdc1 in nanosleep () from /lib/libc.so.6
(gdb) bt
#0  0x4045bdc1 in nanosleep () from /lib/libc.so.6
#1  0x40485e6e in usleep () from /lib/libc.so.6
#2  0x08125a7d in video_grabber (data=0x83a6d20) at tvi_v4l.c:1265
#3  0x403530ba in pthread_start_thread () from /lib/libpthread.so.0
#4  0x40353101 in pthread_start_thread_event () from /lib/libpthread.so.0

(gdb) frame 2
#2  0x08125a7d in video_grabber (data=0x83a6d20) at tvi_v4l.c:1265
1265                        usleep(10000);
(gdb) list
1260        {
1261            for (i = 0; i < priv->nbuf && !priv->shutdown; i++, framecount++) {
1262    
1263                if (priv->immediate_mode) {
1264                    while (priv->video_cnt == priv->video_buffer_size_max) {
1265                        usleep(10000);
1266                        if (priv->shutdown) {
1267                          return NULL;
1268                        }
1269                    }


Hope this helps.  BTW is there any possibility to update my CVS snapshot
without having to download the whole 3Mb tar every day?  This really
is a nuisance with my 56k modem.

David
-- 
GnuPG public key: http://user.cs.tu-berlin.de/~dvdkhlng/dk.gpg
Fingerprint: B17A DC95 D293 657B 4205  D016 7DEF 5323 C174 7D40



More information about the MPlayer-users mailing list