GNOME Bugzilla – Bug 350830
[raw1394] Add HDV support
Last modified: 2008-10-04 21:47:22 UTC
Objective: Get HDV live feed from camera (Sony Handycam N50 / HDR HC3E) via FireWire (same camera with DV feed works fine). Using the following: gst-launch-0.10 dv1394src ! fakesink crashes ... if I try to debug: gst-launch-0.10 --gst-debug=dv1394src:2 dv1394src ! fakesink does work ... gst-launch-0.10 --gst-debug=dv1394src:5 dv1394src ! fakesink does work, with pumping out following message (with different timestamp) constantly: INFO (0x8108dc0 - 0:00:03.970350000) dv1394src( 6690) gstdv1394src.c(382):gst_dv1394src_iso_receive:<dv1394src0> incomplete frame dropped Occasionally the same command will crash with a Segmentation fault, if I run it from within gdb I get: [Switching to Thread -1214166096 (LWP 6792)] 0xb7d639dc in memcpy () from /lib/tls/i686/cmov/libc.so.6 (gdb)
Sorry, forgot the backtrace when using gst-lauch-0.10 dv1394src ! fakesink Program received signal SIGSEGV, Segmentation fault.
+ Trace 70217
Thread NaN (LWP 21189)
There's no code in there to capture HD streams - none of us has ever had access to the equipment to write the code.
HDV over IEEE1394 is a standard MPEG2-TS stream. At the moment the dv1394src element can't deal with it and if it works I can not connect it to a mpegparser or a mpegdemuxer. It might be necessary to write a new plugin or add a hdv1394src to the 1394 plugin.
It should be possible to extend the existing dv1394src to output an mpeg-ts stream, and probably easy too - but without someone that a) has access to hardware to test with and b) is willing to do the work, I doubt it will happen immediately.
crash = bug
I've got a pending patch for an hdv1394src. I'll attach it soon.
Created attachment 111894 [details] [review] Patch to add the hdv1394src
Created attachment 111895 [details] gsthdv1394src.c
Created attachment 111896 [details] gsthdv1394src.h
The attached files add a new hdv1394src element. I've already used it successfully for getting feed from the tape or from live camera. It might require some more cleaning up though before being commitable. Tested with a Canon HV20.
Hi,Edward.I don't know why i can't use the hdv1394src and when i try to load it, error like this occurred: (gst-inspect-0.10:11513): GStreamer-WARNING **: Failed to load plugin '/usr/local/lib/gstreamer-0.10/libgst1394.so': /usr/local/lib/gstreamer-0.10/libgst1394.so: undefined symbol: gst_hdv1394src_get_type Please give me some points. thanks a lot
2008-08-11 Edward Hervey <edward.hervey@collabora.co.uk> * ext/raw1394/Makefile.am: * ext/raw1394/gst1394.c: (plugin_init): * ext/raw1394/gsthdv1394src.c: (_do_init), (gst_hdv1394src_base_init), (gst_hdv1394src_class_init), (gst_hdv1394src_init), (gst_hdv1394src_dispose), (gst_hdv1394src_set_property), (gst_hdv1394src_get_property), (gst_hdv1394src_from_raw1394handle), (gst_hdv1394src_iec61883_receive), (gst_hdv1394src_bus_reset), (gst_hdv1394src_create), (gst_hdv1394src_discover_avc_node), (gst_hdv1394src_start), (gst_hdv1394src_stop), (gst_hdv1394src_unlock), (gst_hdv1394src_update_device_name), (gst_hdv1394src_uri_get_type), (gst_hdv1394src_uri_get_protocols), (gst_hdv1394src_uri_get_uri), (gst_hdv1394src_uri_set_uri), (gst_hdv1394src_uri_handler_init): * ext/raw1394/gsthdv1394src.h: mpeg2-ts (HDV) variant of firewire capture element. Fixes #350830