[gstreamer-bugs] [Bug 621723] New: v4l2src crashes on PLAYING->READY->PLAYING

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Jun 15 20:34:36 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=621723
  GStreamer | gst-plugins-good | 0.10.25

           Summary: v4l2src crashes on PLAYING->READY->PLAYING
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.25
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: hp at pobox.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


I believe the issue is that in gst_v4l2src_set_caps(), if set_capture fails
then we do not capture_init(), which would normally set the buffer pool
non-NULL. Then trying to use the buffer pool goes boom.

if (!gst_v4l2src_set_capture (v4l2src, format->pixelformat, w, h, fps_n,
          fps_d))
    /* error already posted */
    return FALSE;

  if (!gst_v4l2src_capture_init (v4l2src, caps))
    return FALSE;

It looks like this is still a problem in git though I saw the bug in 0.10.25

The set_capture fails due to:
libv4l2: error setting pixformat: Device or resource busy

gst_v4l2src_negotiate() does not check the return value of set_caps and so the
negotiation succeeds even though set_caps failed.


#0  gst_v4l2_buffer_pool_dqbuf (pool=0x0) at gstv4l2bufferpool.c:509
#1  0x01366726 in gst_v4l2src_grab_frame (v4l2src=0x8254008, buf=0xb3517fcc) at
v4l2src_calls.c:128
#2  0x0135d427 in gst_v4l2src_get_mmap (v4l2src=0x8254008, buf=0xb35181bc) at
gstv4l2src.c:864
#3  0x0135da3e in gst_v4l2src_create (src=0x8254008, buf=0xb35181bc) at
gstv4l2src.c:904
#4  0x008ee145 in gst_push_src_create (bsrc=0x8254008,
offset=18446744073709551615, length=4096, ret=0xb35181bc)
    at gstpushsrc.c:117
#5  0x008db778 in gst_base_src_get_range (src=<value optimized out>,
offset=18446744073709551615, length=4096, 
    buf=0xb35181bc) at gstbasesrc.c:1971
#6  0x008dde2f in gst_base_src_loop (pad=0x81da3f0) at gstbasesrc.c:2215
#7  0x00978f25 in gst_task_func (task=0x82a7d98) at gsttask.c:234
#8  0x0097a887 in default_func (tdata=0x824e258, pool=0x8075410) at
gsttaskpool.c:70
#9  0x00be87bc in g_thread_pool_thread_proxy (data=0x8075800) at
gthreadpool.c:315
#10 0x00be689f in g_thread_create_proxy (data=0x8505f38) at gthread.c:1898
#11 0x00b6396e in start_thread (arg=0xb3518b70) at pthread_create.c:300
#12 0x00d37a4e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list