[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#976193: mplayer: crashes when playing from webcam with vdpau



Package: mplayer
Version: 2:1.4+ds1-1
Severity: normal

Dear Maintainer,

mplayer crashes here when I attempt to play the stream from my webcam if
vdpau is used:

$ gdb mplayer 
GNU gdb (Ubuntu 9.2-0ubuntu2) 9.2
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from mplayer...
Reading symbols from /usr/lib/debug/.build-id/ab/9fc8eb9c81e65f8c816ce68d71964876455e2f.debug...
(gdb) set args tv://
(gdb) cont
The program is not being run.
(gdb) run
Starting program: /usr/bin/mplayer tv://
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
MPlayer 1.4 (Debian), built with gcc-10 (C) 2000-2019 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing tv://.
TV file format detected.
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
 comment: first try, more to come ;-)
v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM was used instead.
Selected device: Integrated Camera: Integrated C
 Capabilities:  video capture  streaming
 supported norms:
 inputs: 0 = Camera 1;
 Current input: 0
 Current format: YUYV
tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
v4l2: ioctl enum norm failed: Inappropriate ioctl for device
Error: Cannot set norm!
Selected input hasn't got a tuner!
v4l2: ioctl set mute failed: Invalid argument
[New Thread 0x7fffe5347640 (LWP 3534172)]
[New Thread 0x7fffe4b46640 (LWP 3534173)]
[New Thread 0x7fffdffff640 (LWP 3534174)]
[New Thread 0x7fffdf7fe640 (LWP 3534175)]
libva info: VA-API version 1.8.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
Movie-Aspect is undefined - no prescaling applied.
VO: [vdpau] 640x480 => 640x480 Packed YUY2 
[New Thread 0x7fffdd1fd640 (LWP 3534176)]
Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
==========================================================================
[New Thread 0x7fffd1ea1640 (LWP 3534178)]
Audio: no sound
Starting playback...
libvdpau-va-gl: VideoSurface::PutBitsYCbCr_glsl(): not implemented source YCbCr format 'VDP_YCBCR_FORMAT_YUYV'
[vdpau] Error when calling vdp_video_surface_put_bits_y_cb_cr: VDP_STATUS_INVALID_Y_CB_CR_FORMAT

Thread 1 "mplayer" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in  ()
#1  0x00005555556bd4b3 in put_image (pts=<optimised out>, endpts=<optimised out>, mpi=0x555556394500, vf=0x5555562da450) at libmpcodecs/vf_vo.c:183
#2  put_image (vf=0x5555562da450, mpi=0x555556394500, pts=<optimised out>, endpts=<optimised out>) at libmpcodecs/vf_vo.c:168
#3  0x000055555568e0ab in filter_video (sh_video=<optimised out>, frame=0x555556394500, pts=0, endpts=0) at libmpcodecs/dec_video.c:493
#4  0x0000555555607cb4 in update_video (blit_frame=0x7fffffffcf88) at mplayer.c:2525
#5  0x00005555555fbc22 in main (argc=<optimised out>, argv=<optimised out>) at mplayer.c:3821
(gdb) 

It works just fine with x11 or xv output:

$ mplayer -vo xv tv://
MPlayer 1.4 (Debian), built with gcc-10 (C) 2000-2019 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing tv://.
TV file format detected.
Selected driver: v4l2
 name: Video 4 Linux 2 input
 author: Martin Olschewski <olschewski@zpr.uni-koeln.de>
 comment: first try, more to come ;-)
v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM was used instead.
Selected device: Integrated Camera: Integrated C
 Capabilities:  video capture  streaming
 supported norms:
 inputs: 0 = Camera 1;
 Current input: 0
 Current format: YUYV
tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
v4l2: ioctl enum norm failed: Inappropriate ioctl for device
Error: Cannot set norm!
Selected input hasn't got a tuner!
v4l2: ioctl set mute failed: Invalid argument
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x55ba23f42900] bicubic scaler, from yuyv422 to yuv420p using MMXEXT
[swscaler @ 0x55ba23f42900] using unscaled yuyv422 -> yuv420p special converter
VO: [xv] 640x480 => 640x480 Planar YV12
Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
==========================================================================
Audio: no sound
Starting playback...
V:   0.0  67/ 67 ??% ??% ??,?% 0 0
v4l2: ioctl set mute failed: Invalid argument
v4l2: 69 frames successfully processed, 2 frames dropped.

Exiting... (Quit)
$

I’d be happy to provide more debugging output if needed.

-- 
Cheers,
  Andrej

Reply to: