diff options
author | Jan Schmidt <thaytan@mad.scientist.com> | 2005-11-22 20:07:47 +0000 |
---|---|---|
committer | Jan Schmidt <thaytan@mad.scientist.com> | 2005-11-22 20:07:47 +0000 |
commit | dad9986cb4646c0090a9c8408c1a1d9e00869ae2 (patch) | |
tree | 6ebc973d0760c05eadf9fff29898938f1c54d831 /gst/videofilter | |
parent | 842a43f80230c65d024a5859c6b67dc601e7de64 (diff) |
Convert to fractional framerates.
Original commit message from CVS:
* ext/aalib/gstaasink.c: (gst_aasink_fixate):
* gst/debug/gstnavigationtest.c:
(gst_navigationtest_handle_src_event):
* gst/videofilter/gstvideofilter.c:
(gst_videofilter_format_get_structure), (gst_videofilter_setcaps),
(gst_videofilter_init):
* gst/videofilter/gstvideofilter.h:
Convert to fractional framerates.
Diffstat (limited to 'gst/videofilter')
-rw-r--r-- | gst/videofilter/gstvideofilter.c | 11 | ||||
-rw-r--r-- | gst/videofilter/gstvideofilter.h | 2 |
2 files changed, 8 insertions, 5 deletions
diff --git a/gst/videofilter/gstvideofilter.c b/gst/videofilter/gstvideofilter.c index 1c206294..89951bb9 100644 --- a/gst/videofilter/gstvideofilter.c +++ b/gst/videofilter/gstvideofilter.c @@ -147,7 +147,7 @@ gst_videofilter_format_get_structure (GstVideofilterFormat * format) gst_structure_set (structure, "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, "width", GST_TYPE_INT_RANGE, 1, G_MAXINT, - "framerate", GST_TYPE_DOUBLE_RANGE, 0.0, G_MAXDOUBLE, NULL); + "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL); return structure; } @@ -221,7 +221,7 @@ gst_videofilter_setcaps (GstPad * pad, GstCaps * caps) GstVideofilter *videofilter; GstStructure *structure; int width, height; - double framerate; + const GValue *framerate; int ret; videofilter = GST_VIDEOFILTER (GST_PAD_PARENT (pad)); @@ -234,7 +234,9 @@ gst_videofilter_setcaps (GstPad * pad, GstCaps * caps) ret = gst_structure_get_int (structure, "width", &width); ret &= gst_structure_get_int (structure, "height", &height); - ret &= gst_structure_get_double (structure, "framerate", &framerate); + + framerate = gst_structure_get_value (structure, "framerate"); + ret &= (framerate != NULL && GST_VALUE_HOLDS_FRACTION (framerate)); if (!ret) return FALSE; @@ -256,7 +258,7 @@ gst_videofilter_setcaps (GstPad * pad, GstCaps * caps) videofilter->to_height = height; videofilter->from_width = width; videofilter->from_height = height; - videofilter->framerate = framerate; + g_value_copy (framerate, &videofilter->framerate); gst_videofilter_setup (videofilter); @@ -288,6 +290,7 @@ gst_videofilter_init (GTypeInstance * instance, gpointer g_class) gst_pad_set_getcaps_function (videofilter->srcpad, gst_videofilter_getcaps); videofilter->inited = FALSE; + g_value_init (&videofilter->framerate, GST_TYPE_FRACTION); } static GstFlowReturn diff --git a/gst/videofilter/gstvideofilter.h b/gst/videofilter/gstvideofilter.h index 83d07e32..9923a2a7 100644 --- a/gst/videofilter/gstvideofilter.h +++ b/gst/videofilter/gstvideofilter.h @@ -75,7 +75,7 @@ struct _GstVideofilter { /* private */ gint from_buf_size; gint to_buf_size; - gdouble framerate; + GValue framerate; GstBuffer *in_buf; GstBuffer *out_buf; |