blob: 1505c9fc6451e2babb53f8fc2ba3a5e3bf019421 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstUtils: GStreamer 1.0 Core Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
<link rel="prev" href="gstreamer-GstUriHandler.html" title="GstUriHandler">
<link rel="next" href="gstreamer-GstValue.html" title="GstValue">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#gstreamer-GstUtils.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="libgstreamer.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gstreamer-GstUriHandler.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gstreamer-GstValue.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gstreamer-GstUtils"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gstreamer-GstUtils.top_of_page"></a>GstUtils</span></h2>
<p>GstUtils — Various utility functions</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gstreamer-GstUtils.functions"></a><h2>Functions</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-CALL-PARENT:CAPS" title="GST_CALL_PARENT()">GST_CALL_PARENT</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-CALL-PARENT-WITH-DEFAULT:CAPS" title="GST_CALL_PARENT_WITH_DEFAULT()">GST_CALL_PARENT_WITH_DEFAULT</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-UINT8:CAPS" title="GST_READ_UINT8()">GST_READ_UINT8</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-UINT16-LE:CAPS" title="GST_READ_UINT16_LE()">GST_READ_UINT16_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-UINT16-BE:CAPS" title="GST_READ_UINT16_BE()">GST_READ_UINT16_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-UINT24-LE:CAPS" title="GST_READ_UINT24_LE()">GST_READ_UINT24_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-UINT24-BE:CAPS" title="GST_READ_UINT24_BE()">GST_READ_UINT24_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-UINT32-LE:CAPS" title="GST_READ_UINT32_LE()">GST_READ_UINT32_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-UINT32-BE:CAPS" title="GST_READ_UINT32_BE()">GST_READ_UINT32_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-UINT64-LE:CAPS" title="GST_READ_UINT64_LE()">GST_READ_UINT64_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-UINT64-BE:CAPS" title="GST_READ_UINT64_BE()">GST_READ_UINT64_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-FLOAT-LE:CAPS" title="GST_READ_FLOAT_LE ()">GST_READ_FLOAT_LE</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-FLOAT-BE:CAPS" title="GST_READ_FLOAT_BE ()">GST_READ_FLOAT_BE</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-DOUBLE-LE:CAPS" title="GST_READ_DOUBLE_LE ()">GST_READ_DOUBLE_LE</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-READ-DOUBLE-BE:CAPS" title="GST_READ_DOUBLE_BE ()">GST_READ_DOUBLE_BE</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-UINT8:CAPS" title="GST_WRITE_UINT8()">GST_WRITE_UINT8</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-UINT16-LE:CAPS" title="GST_WRITE_UINT16_LE()">GST_WRITE_UINT16_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-UINT16-BE:CAPS" title="GST_WRITE_UINT16_BE()">GST_WRITE_UINT16_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-UINT24-LE:CAPS" title="GST_WRITE_UINT24_LE()">GST_WRITE_UINT24_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-UINT24-BE:CAPS" title="GST_WRITE_UINT24_BE()">GST_WRITE_UINT24_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-UINT32-LE:CAPS" title="GST_WRITE_UINT32_LE()">GST_WRITE_UINT32_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-UINT32-BE:CAPS" title="GST_WRITE_UINT32_BE()">GST_WRITE_UINT32_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-UINT64-LE:CAPS" title="GST_WRITE_UINT64_LE()">GST_WRITE_UINT64_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-UINT64-BE:CAPS" title="GST_WRITE_UINT64_BE()">GST_WRITE_UINT64_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-FLOAT-LE:CAPS" title="GST_WRITE_FLOAT_LE ()">GST_WRITE_FLOAT_LE</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-FLOAT-BE:CAPS" title="GST_WRITE_FLOAT_BE ()">GST_WRITE_FLOAT_BE</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-DOUBLE-LE:CAPS" title="GST_WRITE_DOUBLE_LE ()">GST_WRITE_DOUBLE_LE</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-WRITE-DOUBLE-BE:CAPS" title="GST_WRITE_DOUBLE_BE ()">GST_WRITE_DOUBLE_BE</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-UP-2:CAPS" title="GST_ROUND_UP_2()">GST_ROUND_UP_2</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-UP-4:CAPS" title="GST_ROUND_UP_4()">GST_ROUND_UP_4</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-UP-8:CAPS" title="GST_ROUND_UP_8()">GST_ROUND_UP_8</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-UP-16:CAPS" title="GST_ROUND_UP_16()">GST_ROUND_UP_16</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-UP-32:CAPS" title="GST_ROUND_UP_32()">GST_ROUND_UP_32</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-UP-64:CAPS" title="GST_ROUND_UP_64()">GST_ROUND_UP_64</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-UP-128:CAPS" title="GST_ROUND_UP_128()">GST_ROUND_UP_128</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-UP-N:CAPS" title="GST_ROUND_UP_N()">GST_ROUND_UP_N</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-DOWN-2:CAPS" title="GST_ROUND_DOWN_2()">GST_ROUND_DOWN_2</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-DOWN-4:CAPS" title="GST_ROUND_DOWN_4()">GST_ROUND_DOWN_4</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-DOWN-8:CAPS" title="GST_ROUND_DOWN_8()">GST_ROUND_DOWN_8</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-DOWN-16:CAPS" title="GST_ROUND_DOWN_16()">GST_ROUND_DOWN_16</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-DOWN-32:CAPS" title="GST_ROUND_DOWN_32()">GST_ROUND_DOWN_32</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-DOWN-64:CAPS" title="GST_ROUND_DOWN_64()">GST_ROUND_DOWN_64</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-DOWN-128:CAPS" title="GST_ROUND_DOWN_128()">GST_ROUND_DOWN_128</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GST-ROUND-DOWN-N:CAPS" title="GST_ROUND_DOWN_N()">GST_ROUND_DOWN_N</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GDOUBLE-FROM-BE:CAPS" title="GDOUBLE_FROM_BE()">GDOUBLE_FROM_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GDOUBLE-FROM-LE:CAPS" title="GDOUBLE_FROM_LE()">GDOUBLE_FROM_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GDOUBLE-SWAP-LE-BE:CAPS" title="GDOUBLE_SWAP_LE_BE ()">GDOUBLE_SWAP_LE_BE</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GDOUBLE-TO-BE:CAPS" title="GDOUBLE_TO_BE()">GDOUBLE_TO_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GDOUBLE-TO-LE:CAPS" title="GDOUBLE_TO_LE()">GDOUBLE_TO_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GFLOAT-FROM-BE:CAPS" title="GFLOAT_FROM_BE()">GFLOAT_FROM_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GFLOAT-FROM-LE:CAPS" title="GFLOAT_FROM_LE()">GFLOAT_FROM_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GFLOAT-SWAP-LE-BE:CAPS" title="GFLOAT_SWAP_LE_BE ()">GFLOAT_SWAP_LE_BE</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GFLOAT-TO-BE:CAPS" title="GFLOAT_TO_BE()">GFLOAT_TO_BE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#GFLOAT-TO-LE:CAPS" title="GFLOAT_TO_LE()">GFLOAT_TO_LE</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-guint64-to-gdouble" title="gst_guint64_to_gdouble()">gst_guint64_to_gdouble</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-gdouble-to-guint64" title="gst_gdouble_to_guint64()">gst_gdouble_to_guint64</a><span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-dump-mem" title="gst_util_dump_mem ()">gst_util_dump_mem</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint64</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()">gst_util_uint64_scale</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint64</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()">gst_util_uint64_scale_round</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint64</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()">gst_util_uint64_scale_ceil</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint64</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()">gst_util_uint64_scale_int</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint64</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()">gst_util_uint64_scale_int_round</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint64</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()">gst_util_uint64_scale_int_ceil</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-greatest-common-divisor" title="gst_util_greatest_common_divisor ()">gst_util_greatest_common_divisor</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint64</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-greatest-common-divisor-int64" title="gst_util_greatest_common_divisor_int64 ()">gst_util_greatest_common_divisor_int64</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-fraction-to-double" title="gst_util_fraction_to_double ()">gst_util_fraction_to_double</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-double-to-fraction" title="gst_util_double_to_fraction ()">gst_util_double_to_fraction</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-fraction-multiply" title="gst_util_fraction_multiply ()">gst_util_fraction_multiply</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-fraction-add" title="gst_util_fraction_add ()">gst_util_fraction_add</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-fraction-compare" title="gst_util_fraction_compare ()">gst_util_fraction_compare</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">guint32</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-seqnum-next" title="gst_util_seqnum_next ()">gst_util_seqnum_next</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gint32</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-seqnum-compare" title="gst_util_seqnum_compare ()">gst_util_seqnum_compare</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-group-id-next" title="gst_util_group_id_next ()">gst_util_group_id_next</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-set-object-arg" title="gst_util_set_object_arg ()">gst_util_set_object_arg</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-set-value-from-string" title="gst_util_set_value_from_string ()">gst_util_set_value_from_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="returnvalue">GstClockTime</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-get-timestamp" title="gst_util_get_timestamp ()">gst_util_get_timestamp</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>
</td>
<td class="function_name">
<a class="link" href="gstreamer-GstUtils.html#gst-util-array-binary-search" title="gst_util_array_binary_search ()">gst_util_array_binary_search</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gstreamer-GstUtils.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="gstreamer-GstUtils.html#GstSearchMode" title="enum GstSearchMode">GstSearchMode</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gstreamer-GstUtils.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gst/gst.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="gstreamer-GstUtils.description"></a><h2>Description</h2>
</div>
<div class="refsect1">
<a name="gstreamer-GstUtils.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GST-CALL-PARENT:CAPS"></a><h3>GST_CALL_PARENT()</h3>
<pre class="programlisting">#define GST_CALL_PARENT(parent_class_cast, name, args)</pre>
<p>Just call the parent handler. This assumes that there is a variable
named parent_class that points to the (duh!) parent class. Note that
this macro is not to be used with things that return something, use
the _WITH_DEFAULT version for that</p>
<div class="refsect3">
<a name="id-1.3.58.7.2.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>parent_class_cast</p></td>
<td class="parameter_description"><p>the name of the class cast macro for the parent type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>name of the function to call</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>args</p></td>
<td class="parameter_description"><p>arguments enclosed in '( )'</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-CALL-PARENT-WITH-DEFAULT:CAPS"></a><h3>GST_CALL_PARENT_WITH_DEFAULT()</h3>
<pre class="programlisting">#define GST_CALL_PARENT_WITH_DEFAULT(parent_class_cast, name, args, def_return)</pre>
<p>Same as <a class="link" href="gstreamer-GstUtils.html#GST-CALL-PARENT:CAPS" title="GST_CALL_PARENT()"><code class="function">GST_CALL_PARENT()</code></a>, but in case there is no implementation, it
evaluates to <em class="parameter"><code>def_return</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.58.7.3.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>parent_class_cast</p></td>
<td class="parameter_description"><p>the name of the class cast macro for the parent type</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>name of the function to call</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>args</p></td>
<td class="parameter_description"><p>arguments enclosed in '( )'</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>def_return</p></td>
<td class="parameter_description"><p>default result</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-UINT8:CAPS"></a><h3>GST_READ_UINT8()</h3>
<pre class="programlisting">#define GST_READ_UINT8(data) (_GST_GET (data, 0, 8, 0))
</pre>
<p>Read an 8 bit unsigned integer value from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.4.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-UINT16-LE:CAPS"></a><h3>GST_READ_UINT16_LE()</h3>
<pre class="programlisting"># define GST_READ_UINT16_LE(data) _GST_FAST_READ_SWAP (16, data)
</pre>
<p>Read a 16 bit unsigned integer value in little endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.5.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-UINT16-BE:CAPS"></a><h3>GST_READ_UINT16_BE()</h3>
<pre class="programlisting"># define GST_READ_UINT16_BE(data) _GST_FAST_READ (16, data)
</pre>
<p>Read a 16 bit unsigned integer value in big endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.6.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-UINT24-LE:CAPS"></a><h3>GST_READ_UINT24_LE()</h3>
<pre class="programlisting">#define GST_READ_UINT24_LE(data) __gst_slow_read24_le((const guint8 *)(data))
</pre>
<p>Read a 24 bit unsigned integer value in little endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.7.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-UINT24-BE:CAPS"></a><h3>GST_READ_UINT24_BE()</h3>
<pre class="programlisting">#define GST_READ_UINT24_BE(data) __gst_slow_read24_be((const guint8 *)(data))
</pre>
<p>Read a 24 bit unsigned integer value in big endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.8.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-UINT32-LE:CAPS"></a><h3>GST_READ_UINT32_LE()</h3>
<pre class="programlisting"># define GST_READ_UINT32_LE(data) _GST_FAST_READ_SWAP (32, data)
</pre>
<p>Read a 32 bit unsigned integer value in little endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.9.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-UINT32-BE:CAPS"></a><h3>GST_READ_UINT32_BE()</h3>
<pre class="programlisting"># define GST_READ_UINT32_BE(data) _GST_FAST_READ (32, data)
</pre>
<p>Read a 32 bit unsigned integer value in big endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.10.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-UINT64-LE:CAPS"></a><h3>GST_READ_UINT64_LE()</h3>
<pre class="programlisting"># define GST_READ_UINT64_LE(data) _GST_FAST_READ_SWAP (64, data)
</pre>
<p>Read a 64 bit unsigned integer value in little endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.11.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-UINT64-BE:CAPS"></a><h3>GST_READ_UINT64_BE()</h3>
<pre class="programlisting"># define GST_READ_UINT64_BE(data) _GST_FAST_READ (64, data)
</pre>
<p>Read a 64 bit unsigned integer value in big endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.12.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-FLOAT-LE:CAPS"></a><h3>GST_READ_FLOAT_LE ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a>
GST_READ_FLOAT_LE (<em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>);</pre>
<p>Read a 32 bit float value in little endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.13.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.13.6"></a><h4>Returns</h4>
<p> The floating point value read from <em class="parameter"><code>data</code></em>
</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-FLOAT-BE:CAPS"></a><h3>GST_READ_FLOAT_BE ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a>
GST_READ_FLOAT_BE (<em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>);</pre>
<p>Read a 32 bit float value in big endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.14.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.14.6"></a><h4>Returns</h4>
<p> The floating point value read from <em class="parameter"><code>data</code></em>
</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-DOUBLE-LE:CAPS"></a><h3>GST_READ_DOUBLE_LE ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
GST_READ_DOUBLE_LE (<em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>);</pre>
<p>Read a 64 bit double value in little endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.15.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.15.6"></a><h4>Returns</h4>
<p> The double-precision floating point value read from <em class="parameter"><code>data</code></em>
</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-READ-DOUBLE-BE:CAPS"></a><h3>GST_READ_DOUBLE_BE ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
GST_READ_DOUBLE_BE (<em class="parameter"><code>const <span class="type">guint8</span> *data</code></em>);</pre>
<p>Read a 64 bit double value in big endian format from the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.16.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.16.6"></a><h4>Returns</h4>
<p> The double-precision floating point value read from <em class="parameter"><code>data</code></em>
</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-UINT8:CAPS"></a><h3>GST_WRITE_UINT8()</h3>
<pre class="programlisting">#define GST_WRITE_UINT8(data, num)</pre>
<p>Store an 8 bit unsigned integer value into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.17.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-UINT16-LE:CAPS"></a><h3>GST_WRITE_UINT16_LE()</h3>
<pre class="programlisting">#define GST_WRITE_UINT16_LE(data, num)</pre>
<p>Store a 16 bit unsigned integer value in little endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.18.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-UINT16-BE:CAPS"></a><h3>GST_WRITE_UINT16_BE()</h3>
<pre class="programlisting">#define GST_WRITE_UINT16_BE(data, num)</pre>
<p>Store a 16 bit unsigned integer value in big endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.19.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-UINT24-LE:CAPS"></a><h3>GST_WRITE_UINT24_LE()</h3>
<pre class="programlisting">#define GST_WRITE_UINT24_LE(data, num)</pre>
<p>Store a 24 bit unsigned integer value in little endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.20.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-UINT24-BE:CAPS"></a><h3>GST_WRITE_UINT24_BE()</h3>
<pre class="programlisting">#define GST_WRITE_UINT24_BE(data, num)</pre>
<p>Store a 24 bit unsigned integer value in big endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.21.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-UINT32-LE:CAPS"></a><h3>GST_WRITE_UINT32_LE()</h3>
<pre class="programlisting">#define GST_WRITE_UINT32_LE(data, num)</pre>
<p>Store a 32 bit unsigned integer value in little endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.22.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-UINT32-BE:CAPS"></a><h3>GST_WRITE_UINT32_BE()</h3>
<pre class="programlisting">#define GST_WRITE_UINT32_BE(data, num)</pre>
<p>Store a 32 bit unsigned integer value in big endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.23.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-UINT64-LE:CAPS"></a><h3>GST_WRITE_UINT64_LE()</h3>
<pre class="programlisting">#define GST_WRITE_UINT64_LE(data, num)</pre>
<p>Store a 64 bit unsigned integer value in little endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.24.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-UINT64-BE:CAPS"></a><h3>GST_WRITE_UINT64_BE()</h3>
<pre class="programlisting">#define GST_WRITE_UINT64_BE(data, num)</pre>
<p>Store a 64 bit unsigned integer value in big endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.25.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-FLOAT-LE:CAPS"></a><h3>GST_WRITE_FLOAT_LE ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
GST_WRITE_FLOAT_LE (<em class="parameter"><code><span class="type">guint8</span> *data</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> num</code></em>);</pre>
<p>Store a 32 bit float value in little endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.26.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-FLOAT-BE:CAPS"></a><h3>GST_WRITE_FLOAT_BE ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
GST_WRITE_FLOAT_BE (<em class="parameter"><code><span class="type">guint8</span> *data</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> num</code></em>);</pre>
<p>Store a 32 bit float value in big endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.27.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-DOUBLE-LE:CAPS"></a><h3>GST_WRITE_DOUBLE_LE ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
GST_WRITE_DOUBLE_LE (<em class="parameter"><code><span class="type">guint8</span> *data</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> num</code></em>);</pre>
<p>Store a 64 bit double value in little endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.28.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-WRITE-DOUBLE-BE:CAPS"></a><h3>GST_WRITE_DOUBLE_BE ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
GST_WRITE_DOUBLE_BE (<em class="parameter"><code><span class="type">guint8</span> *data</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> num</code></em>);</pre>
<p>Store a 64 bit double value in big endian format into the memory buffer.</p>
<div class="refsect3">
<a name="id-1.3.58.7.29.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>data</p></td>
<td class="parameter_description"><p>memory location</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>value to store</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-UP-2:CAPS"></a><h3>GST_ROUND_UP_2()</h3>
<pre class="programlisting">#define GST_ROUND_UP_2(num) (((num)+1)&amp;~1)
</pre>
<p>Rounds an integer value up to the next multiple of 2.</p>
<div class="refsect3">
<a name="id-1.3.58.7.30.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round up</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-UP-4:CAPS"></a><h3>GST_ROUND_UP_4()</h3>
<pre class="programlisting">#define GST_ROUND_UP_4(num) (((num)+3)&amp;~3)
</pre>
<p>Rounds an integer value up to the next multiple of 4.</p>
<div class="refsect3">
<a name="id-1.3.58.7.31.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round up</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-UP-8:CAPS"></a><h3>GST_ROUND_UP_8()</h3>
<pre class="programlisting">#define GST_ROUND_UP_8(num) (((num)+7)&amp;~7)
</pre>
<p>Rounds an integer value up to the next multiple of 8.</p>
<div class="refsect3">
<a name="id-1.3.58.7.32.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round up</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-UP-16:CAPS"></a><h3>GST_ROUND_UP_16()</h3>
<pre class="programlisting">#define GST_ROUND_UP_16(num) (((num)+15)&amp;~15)
</pre>
<p>Rounds an integer value up to the next multiple of 16.</p>
<div class="refsect3">
<a name="id-1.3.58.7.33.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round up</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-UP-32:CAPS"></a><h3>GST_ROUND_UP_32()</h3>
<pre class="programlisting">#define GST_ROUND_UP_32(num) (((num)+31)&amp;~31)
</pre>
<p>Rounds an integer value up to the next multiple of 32.</p>
<div class="refsect3">
<a name="id-1.3.58.7.34.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round up</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-UP-64:CAPS"></a><h3>GST_ROUND_UP_64()</h3>
<pre class="programlisting">#define GST_ROUND_UP_64(num) (((num)+63)&amp;~63)
</pre>
<p>Rounds an integer value up to the next multiple of 64.</p>
<div class="refsect3">
<a name="id-1.3.58.7.35.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round up</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-UP-128:CAPS"></a><h3>GST_ROUND_UP_128()</h3>
<pre class="programlisting">#define GST_ROUND_UP_128(num) (((num)+127)&amp;~127)
</pre>
<p>Rounds an integer value up to the next multiple of 128.</p>
<div class="refsect3">
<a name="id-1.3.58.7.36.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round up</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-1.4">1.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-UP-N:CAPS"></a><h3>GST_ROUND_UP_N()</h3>
<pre class="programlisting">#define GST_ROUND_UP_N(num,align) ((((num) + ((align) - 1)) &amp; ~((align) - 1)))
</pre>
<p>Rounds an integer value up to the next multiple of <em class="parameter"><code>align</code></em>
. <em class="parameter"><code>align</code></em>
MUST be a
power of two.</p>
<div class="refsect3">
<a name="id-1.3.58.7.37.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integrer value to round up</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>align</p></td>
<td class="parameter_description"><p>a power of two to round up to</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-DOWN-2:CAPS"></a><h3>GST_ROUND_DOWN_2()</h3>
<pre class="programlisting">#define GST_ROUND_DOWN_2(num) ((num)&amp;(~1))
</pre>
<p>Rounds an integer value down to the next multiple of 2.</p>
<div class="refsect3">
<a name="id-1.3.58.7.38.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round down</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-DOWN-4:CAPS"></a><h3>GST_ROUND_DOWN_4()</h3>
<pre class="programlisting">#define GST_ROUND_DOWN_4(num) ((num)&amp;(~3))
</pre>
<p>Rounds an integer value down to the next multiple of 4.</p>
<div class="refsect3">
<a name="id-1.3.58.7.39.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round down</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-DOWN-8:CAPS"></a><h3>GST_ROUND_DOWN_8()</h3>
<pre class="programlisting">#define GST_ROUND_DOWN_8(num) ((num)&amp;(~7))
</pre>
<p>Rounds an integer value down to the next multiple of 8.</p>
<div class="refsect3">
<a name="id-1.3.58.7.40.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round down</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-DOWN-16:CAPS"></a><h3>GST_ROUND_DOWN_16()</h3>
<pre class="programlisting">#define GST_ROUND_DOWN_16(num) ((num)&amp;(~15))
</pre>
<p>Rounds an integer value down to the next multiple of 16.</p>
<div class="refsect3">
<a name="id-1.3.58.7.41.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round down</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-DOWN-32:CAPS"></a><h3>GST_ROUND_DOWN_32()</h3>
<pre class="programlisting">#define GST_ROUND_DOWN_32(num) ((num)&amp;(~31))
</pre>
<p>Rounds an integer value down to the next multiple of 32.</p>
<div class="refsect3">
<a name="id-1.3.58.7.42.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round down</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-DOWN-64:CAPS"></a><h3>GST_ROUND_DOWN_64()</h3>
<pre class="programlisting">#define GST_ROUND_DOWN_64(num) ((num)&amp;(~63))
</pre>
<p>Rounds an integer value down to the next multiple of 64.</p>
<div class="refsect3">
<a name="id-1.3.58.7.43.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round down</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-DOWN-128:CAPS"></a><h3>GST_ROUND_DOWN_128()</h3>
<pre class="programlisting">#define GST_ROUND_DOWN_128(num) ((num)&amp;(~127))
</pre>
<p>Rounds an integer value down to the next multiple of 128.</p>
<div class="refsect3">
<a name="id-1.3.58.7.44.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integer value to round down</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="ix04.html#api-index-1.4">1.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GST-ROUND-DOWN-N:CAPS"></a><h3>GST_ROUND_DOWN_N()</h3>
<pre class="programlisting">#define GST_ROUND_DOWN_N(num,align) (((num) &amp; ~((align) - 1)))
</pre>
<p>Rounds an integer value down to the next multiple of <em class="parameter"><code>align</code></em>
. <em class="parameter"><code>align</code></em>
MUST be a
power of two.</p>
<div class="refsect3">
<a name="id-1.3.58.7.45.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>integrer value to round down</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>align</p></td>
<td class="parameter_description"><p>a power of two to round down to</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GDOUBLE-FROM-BE:CAPS"></a><h3>GDOUBLE_FROM_BE()</h3>
<pre class="programlisting">#define GDOUBLE_FROM_BE(val) (GDOUBLE_TO_BE (val))
</pre>
<p>Convert 64-bit floating point value (double) from big endian byte order
into native byte order.</p>
<div class="refsect3">
<a name="id-1.3.58.7.46.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>value</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GDOUBLE-FROM-LE:CAPS"></a><h3>GDOUBLE_FROM_LE()</h3>
<pre class="programlisting">#define GDOUBLE_FROM_LE(val) (GDOUBLE_TO_LE (val))
</pre>
<p>Convert 64-bit floating point value (double) from little endian byte order
into native byte order.</p>
<div class="refsect3">
<a name="id-1.3.58.7.47.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>value</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GDOUBLE-SWAP-LE-BE:CAPS"></a><h3>GDOUBLE_SWAP_LE_BE ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
GDOUBLE_SWAP_LE_BE (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> in</code></em>);</pre>
<p>Swap byte order of a 64-bit floating point value (double).</p>
<div class="refsect3">
<a name="id-1.3.58.7.48.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>in</p></td>
<td class="parameter_description"><p>input value</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.48.6"></a><h4>Returns</h4>
<p> <em class="parameter"><code>in</code></em>
byte-swapped.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GDOUBLE-TO-BE:CAPS"></a><h3>GDOUBLE_TO_BE()</h3>
<pre class="programlisting">#define GDOUBLE_TO_BE(val) (GDOUBLE_SWAP_LE_BE (val))
</pre>
<p>Convert 64-bit floating point value (double) from native byte order into
big endian byte order.</p>
<div class="refsect3">
<a name="id-1.3.58.7.49.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>value</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GDOUBLE-TO-LE:CAPS"></a><h3>GDOUBLE_TO_LE()</h3>
<pre class="programlisting">#define GDOUBLE_TO_LE(val) ((gdouble) (val))
</pre>
<p>Convert 64-bit floating point value (double) from native byte order into
little endian byte order.</p>
<div class="refsect3">
<a name="id-1.3.58.7.50.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>value</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GFLOAT-FROM-BE:CAPS"></a><h3>GFLOAT_FROM_BE()</h3>
<pre class="programlisting">#define GFLOAT_FROM_BE(val) (GFLOAT_TO_BE (val))
</pre>
<p>Convert 32-bit floating point value (float) from big endian byte order
into native byte order.</p>
<div class="refsect3">
<a name="id-1.3.58.7.51.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>value</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GFLOAT-FROM-LE:CAPS"></a><h3>GFLOAT_FROM_LE()</h3>
<pre class="programlisting">#define GFLOAT_FROM_LE(val) (GFLOAT_TO_LE (val))
</pre>
<p>Convert 32-bit floating point value (float) from little endian byte order
into native byte order.</p>
<div class="refsect3">
<a name="id-1.3.58.7.52.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>value</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GFLOAT-SWAP-LE-BE:CAPS"></a><h3>GFLOAT_SWAP_LE_BE ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gfloat"><span class="returnvalue">gfloat</span></a>
GFLOAT_SWAP_LE_BE (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> in</code></em>);</pre>
<p>Swap byte order of a 32-bit floating point value (float).</p>
<div class="refsect3">
<a name="id-1.3.58.7.53.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>in</p></td>
<td class="parameter_description"><p>input value</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.53.6"></a><h4>Returns</h4>
<p> <em class="parameter"><code>in</code></em>
byte-swapped.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GFLOAT-TO-BE:CAPS"></a><h3>GFLOAT_TO_BE()</h3>
<pre class="programlisting">#define GFLOAT_TO_BE(val) (GFLOAT_SWAP_LE_BE (val))
</pre>
<p>Convert 32-bit floating point value (float) from native byte order into
big endian byte order.</p>
<div class="refsect3">
<a name="id-1.3.58.7.54.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>value</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GFLOAT-TO-LE:CAPS"></a><h3>GFLOAT_TO_LE()</h3>
<pre class="programlisting">#define GFLOAT_TO_LE(val) ((gfloat) (val))
</pre>
<p>Convert 32-bit floating point value (float) from native byte order into
little endian byte order.</p>
<div class="refsect3">
<a name="id-1.3.58.7.55.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>value</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-guint64-to-gdouble"></a><h3>gst_guint64_to_gdouble()</h3>
<pre class="programlisting">#define gst_guint64_to_gdouble(value) gst_util_guint64_to_gdouble(value)
</pre>
<p>Convert <em class="parameter"><code>value</code></em>
to a gdouble.</p>
<div class="refsect3">
<a name="id-1.3.58.7.56.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the <span class="type">guint64</span> value to convert</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.56.6"></a><h4>Returns</h4>
<p> <em class="parameter"><code>value</code></em>
converted to a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-gdouble-to-guint64"></a><h3>gst_gdouble_to_guint64()</h3>
<pre class="programlisting">#define gst_gdouble_to_guint64(value) gst_util_gdouble_to_guint64(value)
</pre>
<p>Convert <em class="parameter"><code>value</code></em>
to a guint64.</p>
<div class="refsect3">
<a name="id-1.3.58.7.57.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> value to convert</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.57.6"></a><h4>Returns</h4>
<p> <em class="parameter"><code>value</code></em>
converted to a <span class="type">guint64</span>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-dump-mem"></a><h3>gst_util_dump_mem ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_util_dump_mem (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guchar"><span class="type">guchar</span></a> *mem</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> size</code></em>);</pre>
<p>Dumps the memory block into a hex representation. Useful for debugging.</p>
<div class="refsect3">
<a name="id-1.3.58.7.58.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>mem</p></td>
<td class="parameter_description"><p>a pointer to the memory to dump</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>size</p></td>
<td class="parameter_description"><p>the size of the memory block to dump</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-uint64-scale"></a><h3>gst_util_uint64_scale ()</h3>
<pre class="programlisting"><span class="returnvalue">guint64</span>
gst_util_uint64_scale (<em class="parameter"><code><span class="type">guint64</span> val</code></em>,
<em class="parameter"><code><span class="type">guint64</span> num</code></em>,
<em class="parameter"><code><span class="type">guint64</span> denom</code></em>);</pre>
<p>Scale <em class="parameter"><code>val</code></em>
by the rational number <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
, avoiding overflows and
underflows and without loss of precision.</p>
<p>This function can potentially be very slow if val and num are both
greater than G_MAXUINT32.</p>
<div class="refsect3">
<a name="id-1.3.58.7.59.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>the number to scale</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>the numerator of the scale ratio</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>denom</p></td>
<td class="parameter_description"><p>the denominator of the scale ratio</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.59.7"></a><h4>Returns</h4>
<p> <em class="parameter"><code>val</code></em>
* <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
. In the case of an overflow, this
function returns G_MAXUINT64. If the result is not exactly
representable as an integer it is truncated. See also
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()"><code class="function">gst_util_uint64_scale_round()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()"><code class="function">gst_util_uint64_scale_ceil()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()"><code class="function">gst_util_uint64_scale_int()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()"><code class="function">gst_util_uint64_scale_int_round()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()"><code class="function">gst_util_uint64_scale_int_ceil()</code></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-uint64-scale-round"></a><h3>gst_util_uint64_scale_round ()</h3>
<pre class="programlisting"><span class="returnvalue">guint64</span>
gst_util_uint64_scale_round (<em class="parameter"><code><span class="type">guint64</span> val</code></em>,
<em class="parameter"><code><span class="type">guint64</span> num</code></em>,
<em class="parameter"><code><span class="type">guint64</span> denom</code></em>);</pre>
<p>Scale <em class="parameter"><code>val</code></em>
by the rational number <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
, avoiding overflows and
underflows and without loss of precision.</p>
<p>This function can potentially be very slow if val and num are both
greater than G_MAXUINT32.</p>
<div class="refsect3">
<a name="id-1.3.58.7.60.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>the number to scale</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>the numerator of the scale ratio</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>denom</p></td>
<td class="parameter_description"><p>the denominator of the scale ratio</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.60.7"></a><h4>Returns</h4>
<p> <em class="parameter"><code>val</code></em>
* <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
. In the case of an overflow, this
function returns G_MAXUINT64. If the result is not exactly
representable as an integer, it is rounded to the nearest integer
(half-way cases are rounded up). See also <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()"><code class="function">gst_util_uint64_scale()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()"><code class="function">gst_util_uint64_scale_ceil()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()"><code class="function">gst_util_uint64_scale_int()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()"><code class="function">gst_util_uint64_scale_int_round()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()"><code class="function">gst_util_uint64_scale_int_ceil()</code></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-uint64-scale-ceil"></a><h3>gst_util_uint64_scale_ceil ()</h3>
<pre class="programlisting"><span class="returnvalue">guint64</span>
gst_util_uint64_scale_ceil (<em class="parameter"><code><span class="type">guint64</span> val</code></em>,
<em class="parameter"><code><span class="type">guint64</span> num</code></em>,
<em class="parameter"><code><span class="type">guint64</span> denom</code></em>);</pre>
<p>Scale <em class="parameter"><code>val</code></em>
by the rational number <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
, avoiding overflows and
underflows and without loss of precision.</p>
<p>This function can potentially be very slow if val and num are both
greater than G_MAXUINT32.</p>
<div class="refsect3">
<a name="id-1.3.58.7.61.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>the number to scale</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>the numerator of the scale ratio</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>denom</p></td>
<td class="parameter_description"><p>the denominator of the scale ratio</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.61.7"></a><h4>Returns</h4>
<p> <em class="parameter"><code>val</code></em>
* <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
. In the case of an overflow, this
function returns G_MAXUINT64. If the result is not exactly
representable as an integer, it is rounded up. See also
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()"><code class="function">gst_util_uint64_scale()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()"><code class="function">gst_util_uint64_scale_round()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()"><code class="function">gst_util_uint64_scale_int()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()"><code class="function">gst_util_uint64_scale_int_round()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()"><code class="function">gst_util_uint64_scale_int_ceil()</code></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-uint64-scale-int"></a><h3>gst_util_uint64_scale_int ()</h3>
<pre class="programlisting"><span class="returnvalue">guint64</span>
gst_util_uint64_scale_int (<em class="parameter"><code><span class="type">guint64</span> val</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> denom</code></em>);</pre>
<p>Scale <em class="parameter"><code>val</code></em>
by the rational number <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
, avoiding overflows and
underflows and without loss of precision. <em class="parameter"><code>num</code></em>
must be non-negative and
<em class="parameter"><code>denom</code></em>
must be positive.</p>
<div class="refsect3">
<a name="id-1.3.58.7.62.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>guint64 (such as a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>) to scale.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>numerator of the scale factor.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>denom</p></td>
<td class="parameter_description"><p>denominator of the scale factor.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.62.6"></a><h4>Returns</h4>
<p> <em class="parameter"><code>val</code></em>
* <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
. In the case of an overflow, this
function returns G_MAXUINT64. If the result is not exactly
representable as an integer, it is truncated. See also
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()"><code class="function">gst_util_uint64_scale_int_round()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()"><code class="function">gst_util_uint64_scale_int_ceil()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()"><code class="function">gst_util_uint64_scale()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()"><code class="function">gst_util_uint64_scale_round()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()"><code class="function">gst_util_uint64_scale_ceil()</code></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-uint64-scale-int-round"></a><h3>gst_util_uint64_scale_int_round ()</h3>
<pre class="programlisting"><span class="returnvalue">guint64</span>
gst_util_uint64_scale_int_round (<em class="parameter"><code><span class="type">guint64</span> val</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> denom</code></em>);</pre>
<p>Scale <em class="parameter"><code>val</code></em>
by the rational number <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
, avoiding overflows and
underflows and without loss of precision. <em class="parameter"><code>num</code></em>
must be non-negative and
<em class="parameter"><code>denom</code></em>
must be positive.</p>
<div class="refsect3">
<a name="id-1.3.58.7.63.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>guint64 (such as a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>) to scale.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>numerator of the scale factor.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>denom</p></td>
<td class="parameter_description"><p>denominator of the scale factor.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.63.6"></a><h4>Returns</h4>
<p> <em class="parameter"><code>val</code></em>
* <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
. In the case of an overflow, this
function returns G_MAXUINT64. If the result is not exactly
representable as an integer, it is rounded to the nearest integer
(half-way cases are rounded up). See also <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()"><code class="function">gst_util_uint64_scale_int()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-ceil" title="gst_util_uint64_scale_int_ceil ()"><code class="function">gst_util_uint64_scale_int_ceil()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()"><code class="function">gst_util_uint64_scale()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()"><code class="function">gst_util_uint64_scale_round()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()"><code class="function">gst_util_uint64_scale_ceil()</code></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-uint64-scale-int-ceil"></a><h3>gst_util_uint64_scale_int_ceil ()</h3>
<pre class="programlisting"><span class="returnvalue">guint64</span>
gst_util_uint64_scale_int_ceil (<em class="parameter"><code><span class="type">guint64</span> val</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> denom</code></em>);</pre>
<p>Scale <em class="parameter"><code>val</code></em>
by the rational number <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
, avoiding overflows and
underflows and without loss of precision. <em class="parameter"><code>num</code></em>
must be non-negative and
<em class="parameter"><code>denom</code></em>
must be positive.</p>
<div class="refsect3">
<a name="id-1.3.58.7.64.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>val</p></td>
<td class="parameter_description"><p>guint64 (such as a <a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="type">GstClockTime</span></a>) to scale.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num</p></td>
<td class="parameter_description"><p>numerator of the scale factor.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>denom</p></td>
<td class="parameter_description"><p>denominator of the scale factor.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.64.6"></a><h4>Returns</h4>
<p> <em class="parameter"><code>val</code></em>
* <em class="parameter"><code>num</code></em>
/ <em class="parameter"><code>denom</code></em>
. In the case of an overflow, this
function returns G_MAXUINT64. If the result is not exactly
representable as an integer, it is rounded up. See also
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int" title="gst_util_uint64_scale_int ()"><code class="function">gst_util_uint64_scale_int()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-int-round" title="gst_util_uint64_scale_int_round ()"><code class="function">gst_util_uint64_scale_int_round()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale" title="gst_util_uint64_scale ()"><code class="function">gst_util_uint64_scale()</code></a>, <a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-round" title="gst_util_uint64_scale_round ()"><code class="function">gst_util_uint64_scale_round()</code></a>,
<a class="link" href="gstreamer-GstUtils.html#gst-util-uint64-scale-ceil" title="gst_util_uint64_scale_ceil ()"><code class="function">gst_util_uint64_scale_ceil()</code></a>.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-greatest-common-divisor"></a><h3>gst_util_greatest_common_divisor ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
gst_util_greatest_common_divisor (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> a</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> b</code></em>);</pre>
<p>Calculates the greatest common divisor of <em class="parameter"><code>a</code></em>
and <em class="parameter"><code>b</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.58.7.65.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>a</p></td>
<td class="parameter_description"><p>First value as <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>b</p></td>
<td class="parameter_description"><p>Second value as <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.65.6"></a><h4>Returns</h4>
<p> Greatest common divisor of <em class="parameter"><code>a</code></em>
and <em class="parameter"><code>b</code></em>
</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-greatest-common-divisor-int64"></a><h3>gst_util_greatest_common_divisor_int64 ()</h3>
<pre class="programlisting"><span class="returnvalue">gint64</span>
gst_util_greatest_common_divisor_int64
(<em class="parameter"><code><span class="type">gint64</span> a</code></em>,
<em class="parameter"><code><span class="type">gint64</span> b</code></em>);</pre>
<p>Calculates the greatest common divisor of <em class="parameter"><code>a</code></em>
and <em class="parameter"><code>b</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.58.7.66.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>a</p></td>
<td class="parameter_description"><p>First value as <span class="type">gint64</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>b</p></td>
<td class="parameter_description"><p>Second value as <span class="type">gint64</span></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.66.6"></a><h4>Returns</h4>
<p> Greatest common divisor of <em class="parameter"><code>a</code></em>
and <em class="parameter"><code>b</code></em>
</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-fraction-to-double"></a><h3>gst_util_fraction_to_double ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_util_fraction_to_double (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> src_n</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> src_d</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> *dest</code></em>);</pre>
<p>Transforms a fraction to a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>.</p>
<div class="refsect3">
<a name="id-1.3.58.7.67.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>src_n</p></td>
<td class="parameter_description"><p>Fraction numerator as <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>src_d</p></td>
<td class="parameter_description"><p>Fraction denominator <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dest</p></td>
<td class="parameter_description"><p> pointer to a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> for the result. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-double-to-fraction"></a><h3>gst_util_double_to_fraction ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_util_double_to_fraction (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> src</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *dest_n</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *dest_d</code></em>);</pre>
<p>Transforms a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> to a fraction and simplifies
the result.</p>
<div class="refsect3">
<a name="id-1.3.58.7.68.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>src</p></td>
<td class="parameter_description"><p><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> to transform</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dest_n</p></td>
<td class="parameter_description"><p> pointer to a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> to hold the result numerator. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>dest_d</p></td>
<td class="parameter_description"><p> pointer to a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> to hold the result denominator. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-fraction-multiply"></a><h3>gst_util_fraction_multiply ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_util_fraction_multiply (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> a_n</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> a_d</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> b_n</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> b_d</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *res_n</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *res_d</code></em>);</pre>
<p>Multiplies the fractions <em class="parameter"><code>a_n</code></em>
/<em class="parameter"><code>a_d</code></em>
and <em class="parameter"><code>b_n</code></em>
/<em class="parameter"><code>b_d</code></em>
and stores
the result in <em class="parameter"><code>res_n</code></em>
and <em class="parameter"><code>res_d</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.58.7.69.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>a_n</p></td>
<td class="parameter_description"><p>Numerator of first value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>a_d</p></td>
<td class="parameter_description"><p>Denominator of first value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>b_n</p></td>
<td class="parameter_description"><p>Numerator of second value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>b_d</p></td>
<td class="parameter_description"><p>Denominator of second value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>res_n</p></td>
<td class="parameter_description"><p> Pointer to <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> to hold the result numerator. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>res_d</p></td>
<td class="parameter_description"><p> Pointer to <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> to hold the result denominator. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.69.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on overflow, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-fraction-add"></a><h3>gst_util_fraction_add ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_util_fraction_add (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> a_n</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> a_d</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> b_n</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> b_d</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *res_n</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *res_d</code></em>);</pre>
<p>Adds the fractions <em class="parameter"><code>a_n</code></em>
/<em class="parameter"><code>a_d</code></em>
and <em class="parameter"><code>b_n</code></em>
/<em class="parameter"><code>b_d</code></em>
and stores
the result in <em class="parameter"><code>res_n</code></em>
and <em class="parameter"><code>res_d</code></em>
.</p>
<div class="refsect3">
<a name="id-1.3.58.7.70.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>a_n</p></td>
<td class="parameter_description"><p>Numerator of first value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>a_d</p></td>
<td class="parameter_description"><p>Denominator of first value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>b_n</p></td>
<td class="parameter_description"><p>Numerator of second value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>b_d</p></td>
<td class="parameter_description"><p>Denominator of second value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>res_n</p></td>
<td class="parameter_description"><p> Pointer to <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> to hold the result numerator. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>res_d</p></td>
<td class="parameter_description"><p> Pointer to <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> to hold the result denominator. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.70.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on overflow, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-fraction-compare"></a><h3>gst_util_fraction_compare ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
gst_util_fraction_compare (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> a_n</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> a_d</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> b_n</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> b_d</code></em>);</pre>
<p>Compares the fractions <em class="parameter"><code>a_n</code></em>
/<em class="parameter"><code>a_d</code></em>
and <em class="parameter"><code>b_n</code></em>
/<em class="parameter"><code>b_d</code></em>
and returns
-1 if a &lt; b, 0 if a = b and 1 if a &gt; b.</p>
<div class="refsect3">
<a name="id-1.3.58.7.71.5"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>a_n</p></td>
<td class="parameter_description"><p>Numerator of first value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>a_d</p></td>
<td class="parameter_description"><p>Denominator of first value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>b_n</p></td>
<td class="parameter_description"><p>Numerator of second value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>b_d</p></td>
<td class="parameter_description"><p>Denominator of second value</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.71.6"></a><h4>Returns</h4>
<p> -1 if a &lt; b; 0 if a = b; 1 if a &gt; b.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-seqnum-next"></a><h3>gst_util_seqnum_next ()</h3>
<pre class="programlisting"><span class="returnvalue">guint32</span>
gst_util_seqnum_next (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Return a constantly incrementing sequence number.</p>
<p>This function is used internally to GStreamer to be able to determine which
events and messages are "the same". For example, elements may set the seqnum
on a segment-done message to be the same as that of the last seek event, to
indicate that event and the message correspond to the same segment.</p>
<div class="refsect3">
<a name="id-1.3.58.7.72.6"></a><h4>Returns</h4>
<p> A constantly incrementing 32-bit unsigned integer, which might
overflow back to 0 at some point. Use <a class="link" href="gstreamer-GstUtils.html#gst-util-seqnum-compare" title="gst_util_seqnum_compare ()"><code class="function">gst_util_seqnum_compare()</code></a> to make sure
you handle wraparound correctly.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-seqnum-compare"></a><h3>gst_util_seqnum_compare ()</h3>
<pre class="programlisting"><span class="returnvalue">gint32</span>
gst_util_seqnum_compare (<em class="parameter"><code><span class="type">guint32</span> s1</code></em>,
<em class="parameter"><code><span class="type">guint32</span> s2</code></em>);</pre>
<p>Compare two sequence numbers, handling wraparound.</p>
<p>The current implementation just returns (gint32)(<em class="parameter"><code>s1</code></em>
- <em class="parameter"><code>s2</code></em>
).</p>
<div class="refsect3">
<a name="id-1.3.58.7.73.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>s1</p></td>
<td class="parameter_description"><p>A sequence number.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>s2</p></td>
<td class="parameter_description"><p>Another sequence number.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.73.7"></a><h4>Returns</h4>
<p> A negative number if <em class="parameter"><code>s1</code></em>
is before <em class="parameter"><code>s2</code></em>
, 0 if they are equal, or a
positive number if <em class="parameter"><code>s1</code></em>
is after <em class="parameter"><code>s2</code></em>
.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-group-id-next"></a><h3>gst_util_group_id_next ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
gst_util_group_id_next (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Return a constantly incrementing group id.</p>
<p>This function is used to generate a new group-id for the
stream-start event.</p>
<div class="refsect3">
<a name="id-1.3.58.7.74.6"></a><h4>Returns</h4>
<p> A constantly incrementing unsigned integer, which might
overflow back to 0 at some point.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-set-object-arg"></a><h3>gst_util_set_object_arg ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_util_set_object_arg (<em class="parameter"><code><a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> *object</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value</code></em>);</pre>
<p>Converts the string value to the type of the objects argument and
sets the argument with it.</p>
<p>Note that this function silently returns if <em class="parameter"><code>object</code></em>
has no property named
<em class="parameter"><code>name</code></em>
or when <em class="parameter"><code>value</code></em>
cannot be converted to the type of the property.</p>
<div class="refsect3">
<a name="id-1.3.58.7.75.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>object</p></td>
<td class="parameter_description"><p>the object to set the argument of</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>the name of the argument to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p>the string value to set</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-set-value-from-string"></a><h3>gst_util_set_value_from_string ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gst_util_set_value_from_string (<em class="parameter"><code><a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *value_str</code></em>);</pre>
<p>Converts the string to the type of the value and
sets the value with it.</p>
<p>Note that this function is dangerous as it does not return any indication
if the conversion worked or not.</p>
<div class="refsect3">
<a name="id-1.3.58.7.76.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>value</p></td>
<td class="parameter_description"><p> the value to set. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Out parameter, where caller must allocate storage."><span class="acronym">out caller-allocates</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>value_str</p></td>
<td class="parameter_description"><p>the string to get the value from</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-get-timestamp"></a><h3>gst_util_get_timestamp ()</h3>
<pre class="programlisting"><a class="link" href="GstClock.html#GstClockTime" title="GstClockTime"><span class="returnvalue">GstClockTime</span></a>
gst_util_get_timestamp (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Get a timestamp as GstClockTime to be used for interval measurements.
The timestamp should not be interpreted in any other way.</p>
<div class="refsect3">
<a name="id-1.3.58.7.77.5"></a><h4>Returns</h4>
<p> the timestamp</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gst-util-array-binary-search"></a><h3>gst_util_array_binary_search ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>
gst_util_array_binary_search (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> array</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> num_elements</code></em>,
<em class="parameter"><code><span class="type">gsize</span> element_size</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GCompareDataFunc"><span class="type">GCompareDataFunc</span></a> search_func</code></em>,
<em class="parameter"><code><a class="link" href="gstreamer-GstUtils.html#GstSearchMode" title="enum GstSearchMode"><span class="type">GstSearchMode</span></a> mode</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> search_data</code></em>,
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>Searches inside <em class="parameter"><code>array</code></em>
for <em class="parameter"><code>search_data</code></em>
by using the comparison function
<em class="parameter"><code>search_func</code></em>
. <em class="parameter"><code>array</code></em>
must be sorted ascending.</p>
<p>As <em class="parameter"><code>search_data</code></em>
is always passed as second argument to <em class="parameter"><code>search_func</code></em>
it's
not required that <em class="parameter"><code>search_data</code></em>
has the same type as the array elements.</p>
<p>The complexity of this search function is O(log (num_elements)).</p>
<div class="refsect3">
<a name="id-1.3.58.7.78.7"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>array</p></td>
<td class="parameter_description"><p>the sorted input array</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num_elements</p></td>
<td class="parameter_description"><p>number of elements in the array</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>element_size</p></td>
<td class="parameter_description"><p>size of every element in bytes</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>search_func</p></td>
<td class="parameter_description"><p> function to compare two elements, <em class="parameter"><code>search_data</code></em>
will always be passed as second argument. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>mode</p></td>
<td class="parameter_description"><p>search mode that should be used</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>search_data</p></td>
<td class="parameter_description"><p>element that should be found</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p> data to pass to <em class="parameter"><code>search_func</code></em>
. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.3.58.7.78.8"></a><h4>Returns</h4>
<p> The address of the found
element or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if nothing was found. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
</div>
</div>
<div class="refsect1">
<a name="gstreamer-GstUtils.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GstSearchMode"></a><h3>enum GstSearchMode</h3>
<p>The different search modes.</p>
<div class="refsect3">
<a name="id-1.3.58.8.2.4"></a><h4>Members</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GST-SEARCH-MODE-EXACT:CAPS"></a>GST_SEARCH_MODE_EXACT</p></td>
<td class="enum_member_description">
<p>Only search for exact matches.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GST-SEARCH-MODE-BEFORE:CAPS"></a>GST_SEARCH_MODE_BEFORE</p></td>
<td class="enum_member_description">
<p>Search for an exact match or the element just before.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GST-SEARCH-MODE-AFTER:CAPS"></a>GST_SEARCH_MODE_AFTER</p></td>
<td class="enum_member_description">
<p>Search for an exact match or the element just after.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
</body>
</html>