summaryrefslogtreecommitdiffstats
path: root/sys/v4l2/gstv4l2src.c
diff options
context:
space:
mode:
authorMartin Rubli <martin_rubli@logitech.com>2006-05-05 20:12:59 +0000
committerEdgard Lima <edgard.lima@indt.org.br>2006-05-05 20:12:59 +0000
commitab273cf9865eb03aec33024126c63aa59894e756 (patch)
tree4a5d527fe0533f16ec8e6efedd534434c88b5f07 /sys/v4l2/gstv4l2src.c
parente874927200fdc5167f2cb5d0db97a6a7a2dc89bf (diff)
downloadgst-plugins-bad-ab273cf9865eb03aec33024126c63aa59894e756.tar.gz
gst-plugins-bad-ab273cf9865eb03aec33024126c63aa59894e756.tar.bz2
gst-plugins-bad-ab273cf9865eb03aec33024126c63aa59894e756.zip
Some changes proposed by wingo in bug #338818 (but not everything yet). Patch from Martin Rubli to fix framerate dete...
Original commit message from CVS: Some changes proposed by wingo in bug #338818 (but not everything yet). Patch from Martin Rubli to fix framerate detection.
Diffstat (limited to 'sys/v4l2/gstv4l2src.c')
-rw-r--r--sys/v4l2/gstv4l2src.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sys/v4l2/gstv4l2src.c b/sys/v4l2/gstv4l2src.c
index 126cd421..09767ea6 100644
--- a/sys/v4l2/gstv4l2src.c
+++ b/sys/v4l2/gstv4l2src.c
@@ -3,6 +3,7 @@
* gstv4l2src.c: BT8x8/V4L2 source element
*
* Copyright (C) 2001-2002 Ronald Bultje <rbultje@ronald.bitfreak.net>
+ * Copyright (C) 2006 Edgard Lima <edgard.lima@indt.org.br>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -207,6 +208,8 @@ gst_v4l2src_init (GstV4l2Src * v4l2src, GstV4l2SrcClass * klass)
v4l2src->formats = NULL;
/* fps */
+ v4l2src->fps_n = 0;
+ v4l2src->fps_d = 1;
v4l2src->use_fixed_fps = TRUE;
v4l2src->is_capturing = FALSE;
@@ -631,8 +634,7 @@ gst_v4l2src_get_caps (GstBaseSrc * src)
int min_w, max_w, min_h, max_h;
GSList *walk;
GstStructure *structure;
- gint fps_n, fps_d;
-
+ guint fps_n, fps_d;
if (!GST_V4L2_IS_OPEN (GST_V4L2ELEMENT (v4l2src))) {
return
@@ -647,6 +649,7 @@ gst_v4l2src_get_caps (GstBaseSrc * src)
caps = gst_caps_new_empty ();
walk = v4l2src->formats;
if (!gst_v4l2src_get_fps (v4l2src, &fps_n, &fps_d)) {
+ GST_DEBUG_OBJECT (v4l2src, "frame rate is unknown.");
fps_n = 0;
fps_d = 1;
}
@@ -857,10 +860,8 @@ gst_v4l2src_create (GstPushSrc * src, GstBuffer ** buf)
{
GstV4l2Src *v4l2src = GST_V4L2SRC (src);
GstFlowReturn ret;
- gint fps_n, fps_d;
- if (v4l2src->use_fixed_fps
- && gst_v4l2src_get_fps (v4l2src, &fps_n, &fps_d) == 0) {
+ if (v4l2src->use_fixed_fps && v4l2src->fps_n == 0) {
GST_ELEMENT_ERROR (v4l2src, RESOURCE, SETTINGS, (NULL),
("could not get frame rate for element"));
return GST_FLOW_ERROR;