From 8f4b479c98bfe26764f6f411f14210d8fbb6aa10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 19 Jun 2014 09:29:18 +0200 Subject: [PATCH] value: Add a FIXME 2.0 for a fraction ranges optimization Currently we leak the internal representation of them as two GValues that contain a fraction. Without this we could store fraction ranges as data[0] = (min_n << 32) | (min_d) data[1] = (max_n << 32) | (max_d) and wouldn't require an additional allocation per range. --- gst/gstvalue.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gst/gstvalue.c b/gst/gstvalue.c index ca6ce7d997..c66d18aded 100644 --- a/gst/gstvalue.c +++ b/gst/gstvalue.c @@ -1694,6 +1694,15 @@ gst_value_set_fraction_range_full (GValue * value, /* g_value_unset (&end); */ } +/* FIXME 2.0: Don't leak the internal representation of fraction + * ranges but instead return the numerator and denominator + * separately. + * This would allow to store fraction ranges as + * data[0] = (min_n << 32) | (min_d) + * data[1] = (max_n << 32) | (max_d) + * without requiring an additional allocation for each value. + */ + /** * gst_value_get_fraction_range_min: * @value: a GValue initialized to GST_TYPE_FRACTION_RANGE