v4l2 and device driver issue

Scott McCue smccue at whoi.edu
Wed Jan 8 14:56:36 PST 2014


Hello.

I've been working with gstreamer-0.10 (pygst) and a commercially produced device driver
for the Hauppauge Colossus card (HDMI to h.264). I've generally had success, save for
continued failure to make the changing outfile via dynamic filesink thing work. So, with
advertising that my problem might be easier to resolve under gstreamer-1.0  (pygi), I've
gone through the recommended 0.10 -> 1.0 porting steps.

My application is to capture the transport stream to file (actually, several streams to files using
several cards)). I don't want to use multisink because it doesn't give me enough control of
start, stop, and filenaming.

The pipeline is very simple. My app uses gstreamer libraries/API to invoke the equivalent of
'gst-launch-1.0 -e v4l2src device=/dev/video0 ! queue leaky=0 ! filesink location = timestamped_filename.ts'

Using GST_DEBUG=2 I receive the following error messages upon building and PLAYING
a pipeline in my app. I see the error both from my application and from gst-launch-1.0.

(python:24452): GStreamer-CRITICAL **: gst_structure_fixate_field_nearest_int: assertion `gst_structure_has_field (structure, field_name)' failed

(python:24452): GStreamer-CRITICAL **: gst_structure_fixate_field_nearest_int: assertion `gst_structure_has_field (structure, field_name)' failed

(python:24452): GStreamer-CRITICAL **: gst_structure_fixate_field_nearest_fraction: assertion `gst_structure_has_field (structure, field_name)' failed
0:00:07.815728394 24452 0x7f8c34043320 WARN                    v4l2 gstv4l2object.c:2415:gst_v4l2_object_set_format:<camera_device> error: Device '/dev/video0' cannot capture at 0x0
0:00:07.815739015 24452 0x7f8c34043320 WARN                    v4l2 gstv4l2object.c:2415:gst_v4l2_object_set_format:<camera_device> error: Call to S_FMT failed for MPEG @ 0x0: Inappropriate ioctl for device
0:00:07.815764895 24452 0x7f8c34043320 WARN                 basesrc gstbasesrc.c:2812:gst_base_src_loop:<camera_device> error: Internal data flow error.
0:00:07.815776475 24452 0x7f8c34043320 WARN                 basesrc gstbasesrc.c:2812:gst_base_src_loop:<camera_device> error: streaming task paused, reason not-negotiated (-4)
 
Did I neglect to do something when I made the porting changes. Is this a problem with gstreamer? With the device driver?

TIA
SJM
---
"Before Enlightenment, chop wood, carry water; after Enlightenment,
chop wood, carry water."                   -- Zen proverb
"There is nothing better than a good friend, unless it is a good friend
with chocolate."                          -- Charles Dickens

Scott J. McCue  smccue at whoi.edu p:508-289-3462 f:508-289-2191
Woods Hole Oceanographic Inst. Applied Ocean Physics and Eng
Data Manager, National Deep Submergence Fac. & Ship Sci Services







More information about the gstreamer-devel mailing list