<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.12"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>gavl: Metadata</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">gavl </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.12 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',false,false,'search.php','Search'); }); </script> <div id="main-nav"></div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#groups">Modules</a> | <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Metadata</div> </div> </div><!--header--> <div class="contents"> <p>Metadata support. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a> Modules</h2></td></tr> <tr class="memitem:group__metatags"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metatags.html">Defined metadata keys</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__metadata__tag__t.html">gavl_metadata_tag_t</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Single metadata tag. <a href="structgavl__metadata__tag__t.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Single metadata structure. <a href="structgavl__metadata__t.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ga5c30289fe43cf361124ed9e288633f44"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga5c30289fe43cf361124ed9e288633f44">GAVL_METADATA_DATE_STRING_LEN</a>   11</td></tr> <tr class="separator:ga5c30289fe43cf361124ed9e288633f44"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9e244b29e4ce97f5d1c29beddbf43be1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga9e244b29e4ce97f5d1c29beddbf43be1">GAVL_METADATA_DATE_TIME_STRING_LEN</a>   20</td></tr> <tr class="separator:ga9e244b29e4ce97f5d1c29beddbf43be1"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:gaaa2a629cff256aacabadd316e8ff288c"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#gaaa2a629cff256aacabadd316e8ff288c">gavl_metadata_free</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m)</td></tr> <tr class="memdesc:gaaa2a629cff256aacabadd316e8ff288c"><td class="mdescLeft"> </td><td class="mdescRight">Free all metadata tags. <a href="#gaaa2a629cff256aacabadd316e8ff288c">More...</a><br /></td></tr> <tr class="separator:gaaa2a629cff256aacabadd316e8ff288c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5e3a44814e55839c4a43b7de9e295399"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga5e3a44814e55839c4a43b7de9e295399">gavl_metadata_init</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m)</td></tr> <tr class="memdesc:ga5e3a44814e55839c4a43b7de9e295399"><td class="mdescLeft"> </td><td class="mdescRight">Initialize structre. <a href="#ga5e3a44814e55839c4a43b7de9e295399">More...</a><br /></td></tr> <tr class="separator:ga5e3a44814e55839c4a43b7de9e295399"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8856550cd6af6ade021d5482bce1a561"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga8856550cd6af6ade021d5482bce1a561">gavl_metadata_set</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m, const char *key, const char *val)</td></tr> <tr class="memdesc:ga8856550cd6af6ade021d5482bce1a561"><td class="mdescLeft"> </td><td class="mdescRight">Set a tag. <a href="#ga8856550cd6af6ade021d5482bce1a561">More...</a><br /></td></tr> <tr class="separator:ga8856550cd6af6ade021d5482bce1a561"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3af5c29663da025f053e53caa2555e39"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga3af5c29663da025f053e53caa2555e39">gavl_metadata_set_nocpy</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m, const char *key, char *val)</td></tr> <tr class="memdesc:ga3af5c29663da025f053e53caa2555e39"><td class="mdescLeft"> </td><td class="mdescRight">Set a tag. <a href="#ga3af5c29663da025f053e53caa2555e39">More...</a><br /></td></tr> <tr class="separator:ga3af5c29663da025f053e53caa2555e39"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga321817c41d55046527c3cb75696f8426"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga321817c41d55046527c3cb75696f8426">gavl_metadata_get</a> (const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m, const char *key)</td></tr> <tr class="memdesc:ga321817c41d55046527c3cb75696f8426"><td class="mdescLeft"> </td><td class="mdescRight">Get the value of a tag. <a href="#ga321817c41d55046527c3cb75696f8426">More...</a><br /></td></tr> <tr class="separator:ga321817c41d55046527c3cb75696f8426"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga297f61702217d9994a1edf6ca1f96365"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga297f61702217d9994a1edf6ca1f96365">gavl_metadata_set_int</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m, const char *key, int val)</td></tr> <tr class="memdesc:ga297f61702217d9994a1edf6ca1f96365"><td class="mdescLeft"> </td><td class="mdescRight">Set an integer tag. <a href="#ga297f61702217d9994a1edf6ca1f96365">More...</a><br /></td></tr> <tr class="separator:ga297f61702217d9994a1edf6ca1f96365"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga708c24143b98d37d4075becfc253c98e"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga708c24143b98d37d4075becfc253c98e">gavl_metadata_get_int</a> (const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m, const char *key, int *ret)</td></tr> <tr class="memdesc:ga708c24143b98d37d4075becfc253c98e"><td class="mdescLeft"> </td><td class="mdescRight">Get an integer tag. <a href="#ga708c24143b98d37d4075becfc253c98e">More...</a><br /></td></tr> <tr class="separator:ga708c24143b98d37d4075becfc253c98e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga75b80090790ff6910358941c929c44b9"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga75b80090790ff6910358941c929c44b9">gavl_metadata_set_date</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m, const char *key, int year, int month, int day)</td></tr> <tr class="memdesc:ga75b80090790ff6910358941c929c44b9"><td class="mdescLeft"> </td><td class="mdescRight">Set a date tag. <a href="#ga75b80090790ff6910358941c929c44b9">More...</a><br /></td></tr> <tr class="separator:ga75b80090790ff6910358941c929c44b9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7bb413cc918ac1488d53030cac8c95b1"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga7bb413cc918ac1488d53030cac8c95b1">gavl_metadata_get_date</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m, const char *key, int *year, int *month, int *day)</td></tr> <tr class="memdesc:ga7bb413cc918ac1488d53030cac8c95b1"><td class="mdescLeft"> </td><td class="mdescRight">Get a date tag. <a href="#ga7bb413cc918ac1488d53030cac8c95b1">More...</a><br /></td></tr> <tr class="separator:ga7bb413cc918ac1488d53030cac8c95b1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadb7e30fcf544c2d5ca890be28cdaf84c"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#gadb7e30fcf544c2d5ca890be28cdaf84c">gavl_metadata_set_date_time</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m, const char *key, int year, int month, int day, int hour, int minute, int second)</td></tr> <tr class="memdesc:gadb7e30fcf544c2d5ca890be28cdaf84c"><td class="mdescLeft"> </td><td class="mdescRight">Set a date/time tag. <a href="#gadb7e30fcf544c2d5ca890be28cdaf84c">More...</a><br /></td></tr> <tr class="separator:gadb7e30fcf544c2d5ca890be28cdaf84c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac83d7f443069c5c2ee9fc04c3deee0af"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#gac83d7f443069c5c2ee9fc04c3deee0af">gavl_metadata_get_date_time</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m, const char *key, int *year, int *month, int *day, int *hour, int *minute, int *second)</td></tr> <tr class="memdesc:gac83d7f443069c5c2ee9fc04c3deee0af"><td class="mdescLeft"> </td><td class="mdescRight">Get a date/time tag. <a href="#gac83d7f443069c5c2ee9fc04c3deee0af">More...</a><br /></td></tr> <tr class="separator:gac83d7f443069c5c2ee9fc04c3deee0af"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaeb088d2ee1ed7cfafcfd1cc501f8f603"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#gaeb088d2ee1ed7cfafcfd1cc501f8f603">gavl_metadata_date_to_string</a> (int year, int month, int day, char *ret)</td></tr> <tr class="memdesc:gaeb088d2ee1ed7cfafcfd1cc501f8f603"><td class="mdescLeft"> </td><td class="mdescRight">Format a date string. <a href="#gaeb088d2ee1ed7cfafcfd1cc501f8f603">More...</a><br /></td></tr> <tr class="separator:gaeb088d2ee1ed7cfafcfd1cc501f8f603"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa3dc165b8089416e14daae4bb79ad781"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#gaa3dc165b8089416e14daae4bb79ad781">gavl_metadata_date_time_to_string</a> (int year, int month, int day, int hour, int minute, int second, char *ret)</td></tr> <tr class="memdesc:gaa3dc165b8089416e14daae4bb79ad781"><td class="mdescLeft"> </td><td class="mdescRight">Format a date string. <a href="#gaa3dc165b8089416e14daae4bb79ad781">More...</a><br /></td></tr> <tr class="separator:gaa3dc165b8089416e14daae4bb79ad781"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaba51c79ecee5e836b6f2b8e8a8a8b7a1"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#gaba51c79ecee5e836b6f2b8e8a8a8b7a1">gavl_metadata_merge</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *dst, const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *src1, const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *src2)</td></tr> <tr class="memdesc:gaba51c79ecee5e836b6f2b8e8a8a8b7a1"><td class="mdescLeft"> </td><td class="mdescRight">Merge two metadata structures. <a href="#gaba51c79ecee5e836b6f2b8e8a8a8b7a1">More...</a><br /></td></tr> <tr class="separator:gaba51c79ecee5e836b6f2b8e8a8a8b7a1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga565c1535cb293a4dbff803685ea51397"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga565c1535cb293a4dbff803685ea51397">gavl_metadata_merge2</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *dst, const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *src)</td></tr> <tr class="memdesc:ga565c1535cb293a4dbff803685ea51397"><td class="mdescLeft"> </td><td class="mdescRight">Merge two metadata structures. <a href="#ga565c1535cb293a4dbff803685ea51397">More...</a><br /></td></tr> <tr class="separator:ga565c1535cb293a4dbff803685ea51397"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga651bc455020d12de28907d6e5310690f"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga651bc455020d12de28907d6e5310690f">gavl_metadata_copy</a> (<a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *dst, const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *src)</td></tr> <tr class="memdesc:ga651bc455020d12de28907d6e5310690f"><td class="mdescLeft"> </td><td class="mdescRight">Copy metadata structure. <a href="#ga651bc455020d12de28907d6e5310690f">More...</a><br /></td></tr> <tr class="separator:ga651bc455020d12de28907d6e5310690f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2a7da4ffbc03e309d5d7e855b0661d57"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#ga2a7da4ffbc03e309d5d7e855b0661d57">gavl_metadata_dump</a> (const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m, int indent)</td></tr> <tr class="memdesc:ga2a7da4ffbc03e309d5d7e855b0661d57"><td class="mdescLeft"> </td><td class="mdescRight">Dump metadata structure to stderr. <a href="#ga2a7da4ffbc03e309d5d7e855b0661d57">More...</a><br /></td></tr> <tr class="separator:ga2a7da4ffbc03e309d5d7e855b0661d57"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaba38b23703ab4e4a7387770f41dc159a"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metadata.html#gaba38b23703ab4e4a7387770f41dc159a">gavl_metadata_equal</a> (const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m1, const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> *m2)</td></tr> <tr class="memdesc:gaba38b23703ab4e4a7387770f41dc159a"><td class="mdescLeft"> </td><td class="mdescRight">Check if 2 metadata structures are equal. <a href="#gaba38b23703ab4e4a7387770f41dc159a">More...</a><br /></td></tr> <tr class="separator:gaba38b23703ab4e4a7387770f41dc159a"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Metadata support. </p> <p>This is a simple dictionary structure, which is used my gmerlin applications and libraries to associate metadata with a media file or a single media stream.</p> <p>Metadata are defined as all data, which are not directly related to the decoding process, but might be of interest for the user.</p> <p>The tag types are completely generic so applications can define their own tags. For compatibility it is, however recommended to use the tags defined in <a class="el" href="metatags_8h_source.html">metatags.h</a></p> <p>Since 1.4.0 </p> <h2 class="groupheader">Macro Definition Documentation</h2> <a id="ga5c30289fe43cf361124ed9e288633f44"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga5c30289fe43cf361124ed9e288633f44">§ </a></span>GAVL_METADATA_DATE_STRING_LEN</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GAVL_METADATA_DATE_STRING_LEN   11</td> </tr> </table> </div><div class="memdoc"> <p>Length of a date string of the format YYYY-MM-DD </p> </div> </div> <a id="ga9e244b29e4ce97f5d1c29beddbf43be1"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga9e244b29e4ce97f5d1c29beddbf43be1">§ </a></span>GAVL_METADATA_DATE_TIME_STRING_LEN</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GAVL_METADATA_DATE_TIME_STRING_LEN   20</td> </tr> </table> </div><div class="memdoc"> <p>Length of a date/time string of the format YYYY-MM-DD HH:MM:SS </p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a id="gaaa2a629cff256aacabadd316e8ff288c"></a> <h2 class="memtitle"><span class="permalink"><a href="#gaaa2a629cff256aacabadd316e8ff288c">§ </a></span>gavl_metadata_free()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_free </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Free all metadata tags. </p> <ul> <li>m A metadata structure </li> </ul> </div> </div> <a id="ga5e3a44814e55839c4a43b7de9e295399"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga5e3a44814e55839c4a43b7de9e295399">§ </a></span>gavl_metadata_init()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_init </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Initialize structre. </p> <ul> <li>m A metadata structure</li> </ul> <p>Use this if you define a <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> structure in unintialized memory (e.g. on the stack) before using it. </p> </div> </div> <a id="ga8856550cd6af6ade021d5482bce1a561"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga8856550cd6af6ade021d5482bce1a561">§ </a></span>gavl_metadata_set()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_set </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set a tag. </p> <ul> <li>m A metadata structure </li> <li>key Key </li> <li>val Value</li> </ul> <p>Set a metadata tag. The value is copied. </p> </div> </div> <a id="ga3af5c29663da025f053e53caa2555e39"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga3af5c29663da025f053e53caa2555e39">§ </a></span>gavl_metadata_set_nocpy()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_set_nocpy </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set a tag. </p> <ul> <li>m A metadata structure </li> <li>key Key </li> <li>val Value</li> </ul> <p>Like <a class="el" href="group__metadata.html#ga8856550cd6af6ade021d5482bce1a561">gavl_metadata_set</a> except that the value is not copied. </p> </div> </div> <a id="ga321817c41d55046527c3cb75696f8426"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga321817c41d55046527c3cb75696f8426">§ </a></span>gavl_metadata_get()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC const char* gavl_metadata_get </td> <td>(</td> <td class="paramtype">const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get the value of a tag. </p> <ul> <li>m A metadata structure </li> <li>key Key <dl class="section return"><dt>Returns</dt><dd>Value of the tag or NULL if the tag doesn't exist </dd></dl> </li> </ul> </div> </div> <a id="ga297f61702217d9994a1edf6ca1f96365"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga297f61702217d9994a1edf6ca1f96365">§ </a></span>gavl_metadata_set_int()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_set_int </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set an integer tag. </p> <ul> <li>m A metadata structure </li> <li>key Key </li> <li>val Value </li> </ul> </div> </div> <a id="ga708c24143b98d37d4075becfc253c98e"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga708c24143b98d37d4075becfc253c98e">§ </a></span>gavl_metadata_get_int()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC int gavl_metadata_get_int </td> <td>(</td> <td class="paramtype">const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>ret</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get an integer tag. </p> <ul> <li>m A metadata structure </li> <li>key Key </li> <li>ret Returns the value <dl class="section return"><dt>Returns</dt><dd>1 if ret contains a valid tag, 0 if the tag doesn't exist or is not numeric </dd></dl> </li> </ul> </div> </div> <a id="ga75b80090790ff6910358941c929c44b9"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga75b80090790ff6910358941c929c44b9">§ </a></span>gavl_metadata_set_date()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_set_date </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>year</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>month</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>day</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set a date tag. </p> <ul> <li>m A metadata structure </li> <li>key Key </li> <li>year Year </li> <li>month Month </li> <li>day Day </li> </ul> </div> </div> <a id="ga7bb413cc918ac1488d53030cac8c95b1"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga7bb413cc918ac1488d53030cac8c95b1">§ </a></span>gavl_metadata_get_date()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC int gavl_metadata_get_date </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>year</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>month</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>day</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get a date tag. </p> <ul> <li>m A metadata structure </li> <li>key Key </li> <li>year Returns year </li> <li>month Returns month </li> <li>day Returns day <dl class="section return"><dt>Returns</dt><dd>1 if a valid date was returned, 0 else </dd></dl> </li> </ul> </div> </div> <a id="gadb7e30fcf544c2d5ca890be28cdaf84c"></a> <h2 class="memtitle"><span class="permalink"><a href="#gadb7e30fcf544c2d5ca890be28cdaf84c">§ </a></span>gavl_metadata_set_date_time()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_set_date_time </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>year</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>month</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>day</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>hour</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>minute</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>second</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Set a date/time tag. </p> <ul> <li>m A metadata structure </li> <li>key Key </li> <li>year Year </li> <li>month Month </li> <li>day Day </li> <li>hour Hour </li> <li>minute Minute </li> <li>second Second </li> </ul> </div> </div> <a id="gac83d7f443069c5c2ee9fc04c3deee0af"></a> <h2 class="memtitle"><span class="permalink"><a href="#gac83d7f443069c5c2ee9fc04c3deee0af">§ </a></span>gavl_metadata_get_date_time()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC int gavl_metadata_get_date_time </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>year</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>month</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>day</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>hour</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>minute</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>second</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Get a date/time tag. </p> <ul> <li>m A metadata structure </li> <li>key Key </li> <li>year Returns year </li> <li>month Returns month </li> <li>day Returns day </li> <li>hour Returns hour </li> <li>minute Returns minute </li> <li>second Returns second <dl class="section return"><dt>Returns</dt><dd>1 if a valid date/time was returned, 0 else </dd></dl> </li> </ul> </div> </div> <a id="gaeb088d2ee1ed7cfafcfd1cc501f8f603"></a> <h2 class="memtitle"><span class="permalink"><a href="#gaeb088d2ee1ed7cfafcfd1cc501f8f603">§ </a></span>gavl_metadata_date_to_string()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_date_to_string </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>year</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>month</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>day</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>ret</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Format a date string. </p> <ul> <li>year Year </li> <li>month Month </li> <li>day Day </li> <li>ret String to be formatted</li> </ul> <p>The string needs to be at least <a class="el" href="group__metadata.html#ga5c30289fe43cf361124ed9e288633f44">GAVL_METADATA_DATE_STRING_LEN</a> bytes long. </p> </div> </div> <a id="gaa3dc165b8089416e14daae4bb79ad781"></a> <h2 class="memtitle"><span class="permalink"><a href="#gaa3dc165b8089416e14daae4bb79ad781">§ </a></span>gavl_metadata_date_time_to_string()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_date_time_to_string </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"><em>year</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>month</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>day</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>hour</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>minute</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>second</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>ret</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Format a date string. </p> <ul> <li>year Year </li> <li>month Month </li> <li>day Day </li> <li>ret String to be formatted </li> <li>hour Hour </li> <li>minute Minute </li> <li>second Second</li> </ul> <p>The string needs to be at least <a class="el" href="group__metadata.html#ga9e244b29e4ce97f5d1c29beddbf43be1">GAVL_METADATA_DATE_TIME_STRING_LEN</a> bytes long. </p> </div> </div> <a id="gaba51c79ecee5e836b6f2b8e8a8a8b7a1"></a> <h2 class="memtitle"><span class="permalink"><a href="#gaba51c79ecee5e836b6f2b8e8a8a8b7a1">§ </a></span>gavl_metadata_merge()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_merge </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>src1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>src2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Merge two metadata structures. </p> <ul> <li>dst Destination </li> <li>src1 First source </li> <li>src2 Second source</li> </ul> <p>Copy all tags from src1 and src2 to dst. If a tag is available in src1 and src2, the one from src1 is taken. </p> </div> </div> <a id="ga565c1535cb293a4dbff803685ea51397"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga565c1535cb293a4dbff803685ea51397">§ </a></span>gavl_metadata_merge2()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_merge2 </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>src</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Merge two metadata structures. </p> <ul> <li>dst Destination </li> <li>src Source</li> </ul> <p>Copy tags from src to dst, which are not already contained in dst. </p> </div> </div> <a id="ga651bc455020d12de28907d6e5310690f"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga651bc455020d12de28907d6e5310690f">§ </a></span>gavl_metadata_copy()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_copy </td> <td>(</td> <td class="paramtype"><a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>dst</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>src</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Copy metadata structure. </p> <ul> <li>dst Destination </li> <li>src Source</li> </ul> <p>Copy all tags from src to dst </p> </div> </div> <a id="ga2a7da4ffbc03e309d5d7e855b0661d57"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga2a7da4ffbc03e309d5d7e855b0661d57">§ </a></span>gavl_metadata_dump()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_metadata_dump </td> <td>(</td> <td class="paramtype">const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>indent</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Dump metadata structure to stderr. </p> <ul> <li>m Metadata </li> <li>indent Spaces to append to each line </li> </ul> </div> </div> <a id="gaba38b23703ab4e4a7387770f41dc159a"></a> <h2 class="memtitle"><span class="permalink"><a href="#gaba38b23703ab4e4a7387770f41dc159a">§ </a></span>gavl_metadata_equal()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC int gavl_metadata_equal </td> <td>(</td> <td class="paramtype">const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structgavl__metadata__t.html">gavl_metadata_t</a> * </td> <td class="paramname"><em>m2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Check if 2 metadata structures are equal. </p> <ul> <li>m1 Metadata 1 </li> <li>m2 Metadata 2 <dl class="section return"><dt>Returns</dt><dd>1 if the 2 metadata structures are identical, 0 else </dd></dl> </li> </ul> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.12 </small></address> </body> </html>