libgstvideo4linux2_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
$(GST_BASE_LIBS) \
+ -lgstinterfaces-$(GST_MAJORMINOR) \
$(GST_LIBS) \
- $(xv_libs) \
- -lgstinterfaces-$(GST_MAJORMINOR)
+ $(xv_libs)
noinst_HEADERS = gstv4l2object.h v4l2_calls.h \
gstv4l2src.h v4l2src_calls.h \
gst_v4l2_color_balance_channel,
GstColorBalanceChannel, GST_TYPE_COLOR_BALANCE_CHANNEL);
-
static void
gst_v4l2_color_balance_channel_base_init (gpointer g_class)
{
GstColorBalanceChannelClass parent;
} GstV4l2ColorBalanceChannelClass;
-GType gst_v4l2_color_balance_channel_get_type (void);
+GType gst_v4l2_color_balance_channel_get_type (void);
-extern const GList *
-gst_v4l2_color_balance_list_channels (GstV4l2Object * v4l2object);
+const GList * gst_v4l2_color_balance_list_channels (GstV4l2Object * v4l2object);
-extern void
-gst_v4l2_color_balance_set_value (GstV4l2Object * v4l2object,
- GstColorBalanceChannel * channel, gint value);
+void gst_v4l2_color_balance_set_value (GstV4l2Object * v4l2object,
+ GstColorBalanceChannel * channel,
+ gint value);
-extern gint
-gst_v4l2_color_balance_get_value (GstV4l2Object * v4l2object,
- GstColorBalanceChannel * channel);
+gint gst_v4l2_color_balance_get_value (GstV4l2Object * v4l2object,
+ GstColorBalanceChannel * channel);
#define GST_IMPLEMENT_V4L2_COLOR_BALANCE_METHODS(Type, interface_as_function) \
\
#endif
#include "gstv4l2colorbalance.h"
+#define DEFAULT_PROP_DEVICE "/dev/video0"
+#define DEFAULT_PROP_DEVICE_NAME NULL
+#define DEFAULT_PROP_FLAGS 0
+#define DEFAULT_PROP_STD NULL
+#define DEFAULT_PROP_INPUT NULL
+#define DEFAULT_PROP_FREQUENCY 0
+
enum
{
PROP_0,
if (v4l2_device_type == 0) {
static const GFlagsValue values[] = {
- {V4L2_CAP_VIDEO_CAPTURE, "CAPTURE",
- "Device supports video capture"},
- {V4L2_CAP_VIDEO_OUTPUT, "PLAYBACK",
- "Device supports video playback"},
- {V4L2_CAP_VIDEO_OVERLAY, "OVERLAY",
- "Device supports video overlay"},
-
- {V4L2_CAP_VBI_CAPTURE, "VBI_CAPTURE",
- "Device supports the VBI capture"},
- {V4L2_CAP_VBI_OUTPUT, "VBI_OUTPUT",
- "Device supports the VBI output"},
-
- {V4L2_CAP_TUNER, "TUNER",
- "Device has a tuner or modulator"},
- {V4L2_CAP_AUDIO, "AUDIO",
- "Device has audio inputs or outputs"},
+ {V4L2_CAP_VIDEO_CAPTURE, "Device supports video capture", "capture"},
+ {V4L2_CAP_VIDEO_OUTPUT, "Device supports video playback", "output"},
+ {V4L2_CAP_VIDEO_OVERLAY, "Device supports video overlay", "overlay"},
+
+ {V4L2_CAP_VBI_CAPTURE, "Device supports the VBI capture", "vbi-capture"},
+ {V4L2_CAP_VBI_OUTPUT, "Device supports the VBI output", "vbi-output"},
+
+ {V4L2_CAP_TUNER, "Device has a tuner or modulator", "tuner"},
+ {V4L2_CAP_AUDIO, "Device has audio inputs or outputs", "audio"},
{0, NULL, NULL}
};
void
gst_v4l2_object_install_properties_helper (GObjectClass * gobject_class)
{
- g_object_class_install_property
- (G_OBJECT_CLASS (gobject_class), PROP_DEVICE,
- g_param_spec_string ("device",
- "Device", "Device location", NULL, G_PARAM_READWRITE));
- g_object_class_install_property
- (G_OBJECT_CLASS (gobject_class),
- PROP_DEVICE_NAME,
- g_param_spec_string ("device-name",
- "Device name", "Name of the device", NULL, G_PARAM_READABLE));
- g_object_class_install_property
- (G_OBJECT_CLASS (gobject_class), PROP_FLAGS,
- g_param_spec_flags ("flags", "Flags",
- "Device type flags",
- GST_TYPE_V4L2_DEVICE_FLAGS, 0, G_PARAM_READABLE));
- g_object_class_install_property
- (gobject_class, PROP_STD,
- g_param_spec_string ("std", "Std",
- "Standard (norm) to use", NULL, G_PARAM_READWRITE));
- g_object_class_install_property
- (gobject_class, PROP_INPUT,
- g_param_spec_string ("input",
- "Input",
- "Input/output (channel) to switch to", NULL, G_PARAM_READWRITE));
- g_object_class_install_property
- (gobject_class, PROP_FREQUENCY,
- g_param_spec_ulong ("frequency",
- "Frequency",
- "Frequency to tune to (in Hz)", 0, G_MAXULONG, 0, G_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class, PROP_DEVICE,
+ g_param_spec_string ("device", "Device", "Device location",
+ DEFAULT_PROP_DEVICE, G_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class, PROP_DEVICE_NAME,
+ g_param_spec_string ("device-name", "Device name",
+ "Name of the device", DEFAULT_PROP_DEVICE_NAME, G_PARAM_READABLE));
+ g_object_class_install_property (gobject_class, PROP_FLAGS,
+ g_param_spec_flags ("flags", "Flags", "Device type flags",
+ GST_TYPE_V4L2_DEVICE_FLAGS, DEFAULT_PROP_FLAGS, G_PARAM_READABLE));
+ g_object_class_install_property (gobject_class, PROP_STD,
+ g_param_spec_string ("std", "Std", "Standard (norm) to use",
+ DEFAULT_PROP_STD, G_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class, PROP_INPUT,
+ g_param_spec_string ("input", "Input",
+ "Input/output (channel) to switch to", DEFAULT_PROP_INPUT,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class, PROP_FREQUENCY,
+ g_param_spec_ulong ("frequency", "Frequency",
+ "Frequency to tune to (in Hz)", 0, G_MAXULONG, DEFAULT_PROP_FREQUENCY,
+ G_PARAM_READWRITE));
}
GstV4l2Object *
v4l2object->video_fd = -1;
v4l2object->buffer = NULL;
- v4l2object->videodev = g_strdup ("/dev/video0");
+ v4l2object->videodev = g_strdup (DEFAULT_PROP_DEVICE);
v4l2object->stds = NULL;
v4l2object->inputs = NULL;
typedef struct _GstV4l2ObjectClassHelper GstV4l2ObjectClassHelper;
typedef struct _GstV4l2Xv GstV4l2Xv;
-typedef gboolean (*GstV4l2GetInOutFunction) (GstV4l2Object * v4l2object, gint * input);
-typedef gboolean (*GstV4l2SetInOutFunction) (GstV4l2Object * v4l2object, gint input);
-typedef gboolean (*GstV4l2UpdateFpsFunction) (GstV4l2Object * v4l2object);
+typedef gboolean (*GstV4l2GetInOutFunction) (GstV4l2Object * v4l2object, gint * input);
+typedef gboolean (*GstV4l2SetInOutFunction) (GstV4l2Object * v4l2object, gint input);
+typedef gboolean (*GstV4l2UpdateFpsFunction) (GstV4l2Object * v4l2object);
struct _GstV4l2Object {
GstElement * element;
gchar *input;
gulong frequency;
-
/* X-overlay */
GstV4l2Xv *xv;
gulong xwindow_id;
/* funcs */
- GstV4l2GetInOutFunction get_in_out_func;
- GstV4l2SetInOutFunction set_in_out_func;
- GstV4l2UpdateFpsFunction update_fps_func;
+ GstV4l2GetInOutFunction get_in_out_func;
+ GstV4l2SetInOutFunction set_in_out_func;
+ GstV4l2UpdateFpsFunction update_fps_func;
};
struct _GstV4l2ObjectClassHelper {
PROP_FREQUENCY
-extern GstV4l2Object *
-gst_v4l2_object_new (GstElement * element,
- GstV4l2GetInOutFunction get_in_out_func,
- GstV4l2SetInOutFunction set_in_out_func,
- GstV4l2UpdateFpsFunction update_fps_func);
-
-extern void
-gst_v4l2_object_destroy (GstV4l2Object ** v4l2object);
-
-extern void
-gst_v4l2_object_install_properties_helper (GObjectClass *gobject_class);
-
-extern gboolean
-gst_v4l2_object_set_property_helper (GstV4l2Object *v4l2object,
- guint prop_id, const GValue * value, GParamSpec * pspec);
-extern gboolean
-gst_v4l2_object_get_property_helper (GstV4l2Object *v4l2object,
- guint prop_id, GValue * value, GParamSpec * pspec);
-
-extern gboolean gst_v4l2_object_start (GstV4l2Object *v4l2object);
-extern gboolean gst_v4l2_object_stop (GstV4l2Object *v4l2object);
-
-extern const GList *
-gst_v4l2_probe_get_properties (GstPropertyProbe * probe);
-
-extern void
-gst_v4l2_probe_probe_property (GstPropertyProbe * probe,
- guint prop_id,
- const GParamSpec * pspec,
- GList ** klass_devices);
-
-extern gboolean
-gst_v4l2_probe_needs_probe (GstPropertyProbe * probe,
- guint prop_id,
- const GParamSpec * pspec,
- GList ** klass_devices);
-
-extern GValueArray *
-gst_v4l2_probe_get_values (GstPropertyProbe * probe,
- guint prop_id,
- const GParamSpec * pspec,
- GList ** klass_devices);
+/* create/destroy */
+GstV4l2Object * gst_v4l2_object_new (GstElement * element,
+ GstV4l2GetInOutFunction get_in_out_func,
+ GstV4l2SetInOutFunction set_in_out_func,
+ GstV4l2UpdateFpsFunction update_fps_func);
+void gst_v4l2_object_destroy (GstV4l2Object ** v4l2object);
+
+/* properties */
+void gst_v4l2_object_install_properties_helper (GObjectClass *gobject_class);
+
+gboolean gst_v4l2_object_set_property_helper (GstV4l2Object *v4l2object,
+ guint prop_id, const GValue * value,
+ GParamSpec * pspec);
+gboolean gst_v4l2_object_get_property_helper (GstV4l2Object *v4l2object,
+ guint prop_id, GValue * value,
+ GParamSpec * pspec);
+/* starting/stopping */
+gboolean gst_v4l2_object_start (GstV4l2Object *v4l2object);
+gboolean gst_v4l2_object_stop (GstV4l2Object *v4l2object);
+
+/* probing */
+const GList* gst_v4l2_probe_get_properties (GstPropertyProbe * probe);
+
+void gst_v4l2_probe_probe_property (GstPropertyProbe * probe, guint prop_id,
+ const GParamSpec * pspec,
+ GList ** klass_devices);
+gboolean gst_v4l2_probe_needs_probe (GstPropertyProbe * probe, guint prop_id,
+ const GParamSpec * pspec,
+ GList ** klass_devices);
+GValueArray* gst_v4l2_probe_get_values (GstPropertyProbe * probe, guint prop_id,
+ const GParamSpec * pspec,
+ GList ** klass_devices);
#define GST_IMPLEMENT_V4L2_PROBE_METHODS(Type_Class, interface_as_function) \
\
GST_DEBUG_CATEGORY (v4l2src_debug);
#define GST_CAT_DEFAULT v4l2src_debug
+#define DEFAULT_PROP_USE_FIXED_FPS TRUE
enum
{
basesrc_class = GST_BASE_SRC_CLASS (klass);
pushsrc_class = GST_PUSH_SRC_CLASS (klass);
+ gobject_class->dispose = gst_v4l2src_dispose;
gobject_class->set_property = gst_v4l2src_set_property;
gobject_class->get_property = gst_v4l2src_get_property;
g_param_spec_boolean ("use-fixed-fps", "Use Fixed FPS",
"Drop/Insert frames to reach a certain FPS (TRUE) "
"or adapt FPS to suit the number of frabbed frames",
- TRUE, G_PARAM_READWRITE));
+ DEFAULT_PROP_USE_FIXED_FPS, G_PARAM_READWRITE));
basesrc_class->get_caps = gst_v4l2src_get_caps;
basesrc_class->set_caps = gst_v4l2src_set_caps;
basesrc_class->stop = gst_v4l2src_stop;
pushsrc_class->create = gst_v4l2src_create;
-
- gobject_class->dispose = gst_v4l2src_dispose;
}
static void
/* fps */
v4l2src->fps_n = 0;
v4l2src->fps_d = 1;
- v4l2src->use_fixed_fps = TRUE;
+ v4l2src->use_fixed_fps = DEFAULT_PROP_USE_FIXED_FPS;
v4l2src->is_capturing = FALSE;
#ifndef __GST_V4L2SRC_H__
#define __GST_V4L2SRC_H__
-
#include <gstv4l2object.h>
GST_DEBUG_CATEGORY_EXTERN (v4l2src_debug);
GstV4l2BufferPool *pool;
};
-enum
-{
- QUEUE_STATE_ERROR = -1,
- QUEUE_STATE_READY_FOR_QUEUE, /* the frame is ready to be queued for capture */
- QUEUE_STATE_QUEUED, /* the frame is queued for capture */
- QUEUE_STATE_SYNCED /* the frame is captured */
-};
-
-
struct _GstV4l2Src
{
GstPushSrc pushsrc;
GstPushSrcClass parent_class;
GList *v4l2_class_devices;
-
};
-
GType gst_v4l2src_get_type (void);
G_END_DECLS
+
#endif /* __GST_V4L2SRC_H__ */
GstTunerNormClass parent;
} GstV4l2TunerNormClass;
-extern gboolean
-gst_v4l2_tuner_set_channel (GstV4l2Object * v4l2object, GstTunerChannel * channel);
-extern gboolean
-gst_v4l2_tuner_set_norm (GstV4l2Object * v4l2object, GstTunerNorm * norm);
-extern gboolean
-gst_v4l2_tuner_set_frequency (GstV4l2Object * v4l2object,
- GstTunerChannel * channel, gulong frequency);
-
GType gst_v4l2_tuner_channel_get_type (void);
GType gst_v4l2_tuner_norm_get_type (void);
-extern const GList *
-gst_v4l2_tuner_list_channels (GstV4l2Object * v4l2object);
-extern void
-gst_v4l2_tuner_set_channel_and_notify (GstV4l2Object * v4l2object, GstTunerChannel * channel);
-extern GstTunerChannel *
-gst_v4l2_tuner_get_channel (GstV4l2Object * v4l2object);
-
-extern const GList *
-gst_v4l2_tuner_list_norms (GstV4l2Object * v4l2object);
-extern void
-gst_v4l2_tuner_set_norm_and_notify (GstV4l2Object * v4l2object, GstTunerNorm * norm);
-extern GstTunerNorm *
-gst_v4l2_tuner_get_norm (GstV4l2Object * v4l2object);
-
-extern void
-gst_v4l2_tuner_set_frequency_and_notify (GstV4l2Object * v4l2object,
- GstTunerChannel * channel, gulong frequency);
-extern gulong
-gst_v4l2_tuner_get_frequency (GstV4l2Object * v4l2object, GstTunerChannel * channel);
-extern gint
-gst_v4l2_tuner_signal_strength (GstV4l2Object * v4l2object, GstTunerChannel * channel);
+/* channels */
+const GList* gst_v4l2_tuner_list_channels (GstV4l2Object * v4l2object);
+void gst_v4l2_tuner_set_channel_and_notify (GstV4l2Object * v4l2object,
+ GstTunerChannel * channel);
+GstTunerChannel* gst_v4l2_tuner_get_channel (GstV4l2Object * v4l2object);
+gboolean gst_v4l2_tuner_set_channel (GstV4l2Object * v4l2object,
+ GstTunerChannel * channel);
+/* norms */
+const GList* gst_v4l2_tuner_list_norms (GstV4l2Object * v4l2object);
+void gst_v4l2_tuner_set_norm_and_notify (GstV4l2Object * v4l2object,
+ GstTunerNorm * norm);
+GstTunerNorm* gst_v4l2_tuner_get_norm (GstV4l2Object * v4l2object);
+gboolean gst_v4l2_tuner_set_norm (GstV4l2Object * v4l2object,
+ GstTunerNorm * norm);
+/* frequency */
+void gst_v4l2_tuner_set_frequency_and_notify (GstV4l2Object * v4l2object,
+ GstTunerChannel * channel,
+ gulong frequency);
+gint gst_v4l2_tuner_signal_strength (GstV4l2Object * v4l2object,
+ GstTunerChannel * channel);
+gulong gst_v4l2_tuner_get_frequency (GstV4l2Object * v4l2object,
+ GstTunerChannel * channel);
+gboolean gst_v4l2_tuner_set_frequency (GstV4l2Object * v4l2object,
+ GstTunerChannel * channel,
+ gulong frequency);
#define GST_IMPLEMENT_V4L2_TUNER_METHODS(Type, interface_as_function) \
\
G_BEGIN_DECLS
-extern gboolean
-gst_v4l2_video_orientation_get_hflip (GstV4l2Object *v4l2object, gboolean *flip);
-extern gboolean
-gst_v4l2_video_orientation_get_vflip (GstV4l2Object *v4l2object, gboolean *flip);
-extern gboolean
-gst_v4l2_video_orientation_get_hcenter (GstV4l2Object *v4l2object, gint *center);
-extern gboolean
-gst_v4l2_video_orientation_get_vcenter (GstV4l2Object *v4l2object, gint *center);
+void gst_v4l2_video_orientation_interface_init (GstVideoOrientationInterface * klass);
-extern gboolean
-gst_v4l2_video_orientation_set_hflip (GstV4l2Object *v4l2object, gboolean flip);
-extern gboolean
-gst_v4l2_video_orientation_set_vflip (GstV4l2Object *v4l2object, gboolean flip);
-extern gboolean
-gst_v4l2_video_orientation_set_hcenter (GstV4l2Object *v4l2object, gint center);
-extern gboolean
-gst_v4l2_video_orientation_set_vcenter (GstV4l2Object *v4l2object, gint center);
+gboolean gst_v4l2_video_orientation_get_hflip (GstV4l2Object *v4l2object, gboolean *flip);
+gboolean gst_v4l2_video_orientation_get_vflip (GstV4l2Object *v4l2object, gboolean *flip);
+gboolean gst_v4l2_video_orientation_get_hcenter (GstV4l2Object *v4l2object, gint *center);
+gboolean gst_v4l2_video_orientation_get_vcenter (GstV4l2Object *v4l2object, gint *center);
-
-extern void
-gst_v4l2_video_orientation_interface_init (GstVideoOrientationInterface * klass);
+gboolean gst_v4l2_video_orientation_set_hflip (GstV4l2Object *v4l2object, gboolean flip);
+gboolean gst_v4l2_video_orientation_set_vflip (GstV4l2Object *v4l2object, gboolean flip);
+gboolean gst_v4l2_video_orientation_set_hcenter (GstV4l2Object *v4l2object, gint center);
+gboolean gst_v4l2_video_orientation_set_vcenter (GstV4l2Object *v4l2object, gint center);
#define GST_IMPLEMENT_V4L2_VIDORIENT_METHODS(Type, interface_as_function) \
\
void gst_v4l2_xoverlay_start (GstV4l2Object *v4l2object);
void gst_v4l2_xoverlay_stop (GstV4l2Object *v4l2object);
-extern void
-gst_v4l2_xoverlay_interface_init (GstXOverlayClass * klass);
+void gst_v4l2_xoverlay_interface_init (GstXOverlayClass * klass);
#define GST_IMPLEMENT_V4L2_XOVERLAY_METHODS(Type, interface_as_function) \
\
#define GST_V4L2_CHECK_OPEN(v4l2object) \
if (!GST_V4L2_IS_OPEN(v4l2object)) \
{ \
- GST_ELEMENT_ERROR (v4l2object->element, RESOURCE, TOO_LAZY, \
+ GST_ELEMENT_ERROR (v4l2object->element, RESOURCE, SETTINGS, \
(_("Device is not open.")), (NULL)); \
return FALSE; \
}
#define GST_V4L2_CHECK_NOT_OPEN(v4l2object) \
if (GST_V4L2_IS_OPEN(v4l2object)) \
{ \
- GST_ELEMENT_ERROR (v4l2object->element, RESOURCE, TOO_LAZY, \
+ GST_ELEMENT_ERROR (v4l2object->element, RESOURCE, SETTINGS, \
(_("Device is open.")), (NULL)); \
return FALSE; \
}
#define GST_V4L2_CHECK_OVERLAY(v4l2object) \
if (!GST_V4L2_IS_OVERLAY(v4l2object)) \
{ \
- GST_ELEMENT_ERROR (v4l2object->element, RESOURCE, TOO_LAZY, \
+ GST_ELEMENT_ERROR (v4l2object->element, RESOURCE, SETTINGS, \
(NULL), ("Device cannot handle overlay")); \
return FALSE; \
}
#include "gstv4l2src.h"
#include "v4l2_calls.h"
+gboolean gst_v4l2src_get_capture (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_set_capture (GstV4l2Src * v4l2src,
+ struct v4l2_fmtdesc *fmt,
+ gint * width, gint * height,
+ guint *fps_n, guint * fps_d);
-gboolean gst_v4l2src_get_capture (GstV4l2Src * v4l2src);
-gboolean gst_v4l2src_set_capture (GstV4l2Src * v4l2src,
- struct v4l2_fmtdesc *fmt,
- gint * width, gint * height,
- guint *fps_n, guint * fps_d);
-gboolean gst_v4l2src_capture_init (GstV4l2Src * v4l2src);
-gboolean gst_v4l2src_capture_start (GstV4l2Src * v4l2src);
-gint gst_v4l2src_grab_frame (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_capture_init (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_capture_start (GstV4l2Src * v4l2src);
-gboolean gst_v4l2src_queue_frame (GstV4l2Src * v4l2src, guint i);
-gboolean gst_v4l2src_capture_stop (GstV4l2Src * v4l2src);
-gboolean gst_v4l2src_capture_deinit (GstV4l2Src * v4l2src);
+gint gst_v4l2src_grab_frame (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_queue_frame (GstV4l2Src * v4l2src, guint i);
-gboolean gst_v4l2src_fill_format_list (GstV4l2Src * v4l2src);
-gboolean gst_v4l2src_clear_format_list (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_capture_stop (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_capture_deinit (GstV4l2Src * v4l2src);
-/* hacky */
-gboolean gst_v4l2src_get_size_limits (GstV4l2Src * v4l2src,
- struct v4l2_fmtdesc *fmt,
- gint * min_w, gint * max_w,
- gint * min_h, gint * max_h);
+gboolean gst_v4l2src_fill_format_list (GstV4l2Src * v4l2src);
+gboolean gst_v4l2src_clear_format_list (GstV4l2Src * v4l2src);
-void gst_v4l2src_free_buffer (GstBuffer * buffer);
+gboolean gst_v4l2src_get_size_limits (GstV4l2Src * v4l2src,
+ struct v4l2_fmtdesc *fmt,
+ gint * min_w, gint * max_w,
+ gint * min_h, gint * max_h);
+/* buffers */
+GstBuffer* gst_v4l2src_buffer_new (GstV4l2Src * v4l2src,
+ guint size, guint8 * data,
+ GstV4l2Buffer * srcbuf);
+void gst_v4l2src_free_buffer (GstBuffer * buffer);
-extern gboolean
-gst_v4l2src_update_fps (GstV4l2Object * v4l2object);
+/* FPS stuff */
+gboolean gst_v4l2src_update_fps (GstV4l2Object * v4l2object);
+gboolean gst_v4l2src_get_fps (GstV4l2Src * v4l2src,
+ guint * fps_n, guint * fps_d);
+gboolean gst_v4l2src_set_fps (GstV4l2Src * v4l2src,
+ guint * fps_n, guint * fps_d);
+GValue* gst_v4l2src_get_fps_list (GstV4l2Src * v4l2src);
-extern gboolean
-gst_v4l2src_get_fps (GstV4l2Src * v4l2src, guint * fps_n, guint * fps_d);
-
-
-extern gboolean
-gst_v4l2src_set_fps (GstV4l2Src * v4l2src, guint * fps_n, guint * fps_d);
-
-GValue *gst_v4l2src_get_fps_list (GstV4l2Src * v4l2src);
-
-GstBuffer *gst_v4l2src_buffer_new (GstV4l2Src * v4l2src,
- guint size, guint8 * data,
- GstV4l2Buffer * srcbuf);
#endif /* __V4L2SRC_CALLS_H__ */