On Thu, Mar 28, 2013 at 10:21:30AM +0000, Jonathan Dowland wrote: > UI ("No device found"). Interesting stuff. I'm going to try splicing some > debug statements into the code to see at what point it reaches and whether > that helps get any further.
I've poked around a little, attached is a backtrace taken when interrupting the spinning process. It shows the last routine executed in cheese code as cheese_camera_play. Poking around in the C, cheese_camera_play (CheeseCamera *camera) { … gst_element_set_state (priv->camerabin, GST_STATE_PLAYING); ^^ That's as far as cheese gets. So, is this a gstreamer bug? (or gstreamer0.10-plugins-bad)? Seems it uses 'camerabin', which has been deprecated in favour of 'camerabin2' in gst 0.10, and dropped by 1.0. Cheese moved to camerabin2 between 3.5.5 and 3.5.091.
#0 type_check_is_value_type_U (type=<optimized out>) at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gtype.c:4098 #1 g_type_check_value (value=value@entry=0x1dddfb0) at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gtype.c:4140 #2 0x00007ffff7769d9c in gst_value_init_and_copy (dest=0x1e33520, src=0x1dddfb0) at gstvalue.c:4007 #3 0x00007ffff776a03f in copy_garray_of_gstvalue ( src=<error reading variable: Unhandled dwarf expression opcode 0xfa>, src=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at gstvalue.c:230 #4 0x00007ffff776a130 in gst_value_copy_list_or_array (src_value=<optimized out>, dest_value=0x7fffffffd8b0) at gstvalue.c:241 #5 0x00007ffff776d35f in gst_value_list_append_value (value=value@entry=0x7fffffffd970, append_value=append_value@entry=0x7fffffffd8f0) at gstvalue.c:314 #6 0x00007ffff776da4b in gst_value_intersect_list (dest=0x7fffffffd970, value2=0x1a40460, value1=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at gstvalue.c:2752 #7 0x00007ffff776d999 in gst_value_intersect_list (dest=0x7fffffffd9f0, value2=0x1a40460, value1=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at gstvalue.c:2746 #8 0x00007ffff776d999 in gst_value_intersect_list (dest=0x7fffffffda70, value2=0x1d84658, value1=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at gstvalue.c:2746 #9 0x00007ffff776d999 in gst_value_intersect_list (dest=0x7fffffffdaf0, value2=0x1d84658, value1=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at gstvalue.c:2746 #10 0x00007ffff776d999 in gst_value_intersect_list (dest=0x7fffffffdb70, value2=0x1d84658, value1=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at gstvalue.c:2746 #11 0x00007ffff776d999 in gst_value_intersect_list (dest=0x7fffffffdbf0, value2=0x1d84658, value1=<error reading variable: Unhandled dwarf expression opcode 0xfa>) at gstvalue.c:2746 #12 0x00007ffff7750a73 in gst_structure_intersect_field1 (id=3915, val1=0x1a3d4a8, data=0x7fffffffdc60) at gststructure.c:2981 #13 0x00007ffff7750fc1 in gst_structure_foreach (structure=0x1a5fb90, func=0x7ffff7750a20 <gst_structure_intersect_field1>, user_data=0x7fffffffdc60) at gststructure.c:1097 #14 0x00007ffff7753c00 in gst_structure_intersect (struct1=struct1@entry=0x1a5fb90, struct2=0x1c88330) at gststructure.c:3030 #15 0x00007ffff770f3a4 in gst_caps_intersect_first (caps2=0x19d1e80, caps1=0x198ce40) at gstcaps.c:1423 #16 gst_caps_intersect_full (caps1=caps1@entry=0x198ce40, caps2=caps2@entry=0x19d1e80, mode=mode@entry=GST_CAPS_INTERSECT_FIRST) at gstcaps.c:1454 #17 0x00007fffefff4c94 in gst_base_transform_getcaps (pad=0x19c9d90) at gstbasetransform.c:768 #18 0x00007ffff772cf96 in gst_pad_get_caps_unlocked (pad=pad@entry=0x19c9d90) at gstpad.c:2254 #19 0x00007ffff77305b5 in gst_pad_get_caps_reffed (pad=pad@entry=0x19c9d90) at gstpad.c:2338 #20 0x00007ffff776148b in gst_element_get_compatible_pad (element=element@entry=0x1b8e240, pad=pad@entry=0x19c9d90, caps=caps@entry=0x0) at gstutils.c:1146 #21 0x00007ffff776216a in gst_element_link_pads_full (src=src@entry=0x1a16090, srcpadname=srcpadname@entry=0x0, dest=dest@entry=0x1b8e240, destpadname=destpadname@entry=0x0, flags=flags@entry=GST_PAD_LINK_CHECK_CAPS) at gstutils.c:1799 #22 0x00007fffe16020ea in gst_camerabin_try_add_element (bin=bin@entry=0x196e020, new_elem=new_elem@entry=0x1b8e240) at camerabingeneral.c:99 #23 0x00007fffe160228f in gst_camerabin_add_element (bin=bin@entry=0x196e020, new_elem=new_elem@entry=0x1b8e240) at camerabingeneral.c:56 #24 0x00007fffe160247d in gst_camerabin_create_and_add_element (bin=bin@entry=0x196e020, elem_name=<optimized out>, elem_name@entry=0x7fffe16043fd "videoscale", instance_name=instance_name@entry=0x7fffe16043f9 "src-videoscale") at camerabingeneral.c:146 #25 0x00007fffe15f67a0 in camerabin_create_src_elements (camera=0x196e020) at gstcamerabin.c:623 #26 camerabin_create_elements (camera=0x196e020) at gstcamerabin.c:779 #27 gst_camerabin_change_state (element=0x196e020, transition=GST_STATE_CHANGE_NULL_TO_READY) at gstcamerabin.c:3892 #28 0x00007ffff771a81c in gst_element_change_state (element=element@entry=0x196e020, transition=transition@entry=GST_STATE_CHANGE_NULL_TO_READY) at gstelement.c:2761 #29 0x00007ffff771b168 in gst_element_set_state_func (element=0x196e020, state=GST_STATE_PLAYING) at gstelement.c:2717 #30 0x00007ffff7bd23f5 in cheese_camera_play (camera=0x1774d90) at libcheese/cheese-camera.c:725 #31 0x000000000041805e in cheese_main_window_setup_camera (self=<optimized out>, uri=<optimized out>) at src/cheese-window.c:5059 #32 0x0000000000418f64 in cheese_main_on_app_activate (self=0x13f67c0) at src/cheese-main.c:205 #33 0x00007ffff585a6e0 in g_closure_invoke (closure=0x646cd0, return_value=0x0, n_param_values=1, param_values=0x7fffffffe3e0, invocation_hint=0x7fffffffe380) at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c:777 #34 0x00007ffff586b750 in signal_emit_unlocked_R (node=node@entry=0x1626670, detail=detail@entry=0, instance=instance@entry=0x13f67c0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffe3e0) at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c:3551 #35 0x00007ffff58736bc in g_signal_emit_valist (instance=0x13f67c0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffe628) at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c:3300 #36 0x00007ffff5873852 in g_signal_emit (instance=instance@entry=0x13f67c0, signal_id=<optimized out>, detail=detail@entry=0) at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c:3356 #37 0x00007ffff5d53feb in g_application_activate (application=application@entry=0x13f67c0) at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gapplication.c:1295 #38 0x0000000000418c0c in cheese_main_real_local_command_line (base=0x13f67c0, arguments=0x7fffffffe780, exit_status=0x7fffffffe77c) at src/cheese-main.c:277 #39 0x00007ffff5d54488 in g_application_run (application=application@entry=0x13f67c0, argc=<optimized out>, argv=0x7fffffffe8d8) at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gapplication.c:1449 #40 0x0000000000419198 in _vala_main (args=0x7fffffffe8d8, args_length1=1) at src/cheese-main.c:469 #41 0x00007ffff4fa899d in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6 #42 0x000000000040e131 in _start ()