[Bug 287078] multimedia/cheese: fails to show images/video for a working webcam

[email protected]
Newsgroups gmane.os.freebsd.devel.gnome
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287078

Marcin Cieślak <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from Marcin Cieślak <[email protected]> ---
I have traced this down in the userspace

(gdb) bt
#0  gst_v4l2_allocator_alloc_dmabuf
    (allocator=0x801029210 [GstV4l2Allocator|v4l2src0:pool0:src:allocator],
dmabuf_allocator=0x802c1d190 [GstAllocator|dmabufallocator2]) at
../sys/v4l2/gstv4l2allocator.c:916
#1  0x0000000800d1ddae in gst_v4l2_buffer_pool_alloc_buffer
    (bpool=0x802c4f0a0 [GstBufferPool|v4l2src0:pool0:src],
buffer=0x7fffdf9fa8e0, params=0x0)
    at ../sys/v4l2/gstv4l2bufferpool.c:473
#2  0x0000000800301f4a in do_alloc_buffer
    (pool=0x802c4f0a0 [GstBufferPool|v4l2src0:pool0:src],
buffer=0x7fffdf9fa8e0, params=0x0)
    at ../gst/gstbufferpool.c:284
#3  0x00000008003013e5 in default_start (pool=0x802c4f0a0
[GstBufferPool|v4l2src0:pool0:src])
    at ../gst/gstbufferpool.c:336
#4  0x0000000800d1cfd1 in gst_v4l2_buffer_pool_start
    (bpool=0x802c4f0a0 [GstBufferPool|v4l2src0:pool0:src]) at
../sys/v4l2/gstv4l2bufferpool.c:960
#5  0x00000008002ffa18 in do_start (pool=0x802c4f0a0
[GstBufferPool|v4l2src0:pool0:src])
    at ../gst/gstbufferpool.c:369
#6  0x00000008002ff6ff in gst_buffer_pool_set_active
    (pool=0x802c4f0a0 [GstBufferPool|v4l2src0:pool0:src], active=1) at
../gst/gstbufferpool.c:514
#7  0x0000000800d233de in gst_v4l2src_decide_allocation
    (bsrc=0x8018974e0 [GstBaseSrc|v4l2src0], query=0x802c050f0) at
../sys/v4l2/gstv4l2src.c:947
#8  0x0000000801afc9d9 in gst_base_src_prepare_allocation
    (basesrc=0x8018974e0 [GstBaseSrc|v4l2src0], caps=0x802c05190)
    at ../libs/gst/base/gstbasesrc.c:3380
#9  0x0000000801af2a71 in gst_base_src_negotiate_unlocked
    (basesrc=0x8018974e0 [GstBaseSrc|v4l2src0]) at
../libs/gst/base/gstbasesrc.c:3518
#10 0x0000000801af7eb9 in gst_base_src_loop (pad=0x80107ecc0 [GstPad|src])
    at ../libs/gst/base/gstbasesrc.c:2920
#11 0x00000008003acf3d in gst_task_func (task=0x8011e2ed0
[GstTask|v4l2src0:src])
    at ../gst/gsttask.c:399
#12 0x00000008003adc5a in default_func
    (tdata=0x801893140, pool=0x801167c80 [GstTaskPool|taskpool0]) at
../gst/gsttaskpool.c:70
#13 0x000000080051d918 in ??? () at /usr/local/lib/libglib-2.0.so.0
#14 0x000000080051bb95 in ??? () at /usr/local/lib/libglib-2.0.so.0
#15 0x00000008005faecb in thread_start (curthread=0x800dee010)
    at /usr/src/lib/libthr/thread/thr_create.c:299
#16 0x0000000000000000 in ??? ()

(gdb) list 909
908         if (group->mem[i] == NULL) {
909           struct v4l2_exportbuffer expbuf = { 0 };
910     
911           expbuf.type = obj->type;
912           expbuf.index = group->buffer.index;
913           expbuf.plane = i;
(gdb) 
914           expbuf.flags = O_CLOEXEC | O_RDWR;
915     
916           if (obj->ioctl (obj->video_fd, VIDIOC_EXPBUF, &expbuf) < 0)
917             goto expbuf_failed;

(gdb) p expbuf
$3 = {type = 1, index = 0, plane = 0, flags = 1048578, fd = 0, reserved = {0
<repeats 11 times>}}

The VIDIOC_EXPBUF ioctl will fail (I think with EINVAL)

-- 
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.