EVOLUTION-MANAGER
Edit File: oggz__seek_8h.html
<!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.5"/> <title>liboggz: oggz_seek.h File Reference</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 style="padding-left: 0.5em;"> <div id="projectname">liboggz  <span id="projectnumber">1.1.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_d87111fb9e25a5f2a11bf853c53bb708.html">oggz</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">oggz_seek.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Seeking within files. <a href="#details">More...</a></p> <p><a href="oggz__seek_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:ga8803bb406015a32f5172902e3e4e76e8"><td class="memItemLeft" align="right" valign="top">typedef ogg_int64_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#ga8803bb406015a32f5172902e3e4e76e8">OggzMetric</a> )(<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, ogg_int64_t granulepos, void *user_data)</td></tr> <tr class="memdesc:ga8803bb406015a32f5172902e3e4e76e8"><td class="mdescLeft"> </td><td class="mdescRight">This is the signature of a function to correlate Ogg streams. <a href="group__metric.html#ga8803bb406015a32f5172902e3e4e76e8">More...</a><br/></td></tr> <tr class="separator:ga8803bb406015a32f5172902e3e4e76e8"><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:ga2ec088fc5541ce9749ce63ccc162761f"><td class="memItemLeft" align="right" valign="top">ogg_int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__seek__api.html#ga2ec088fc5541ce9749ce63ccc162761f">oggz_tell_units</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz)</td></tr> <tr class="memdesc:ga2ec088fc5541ce9749ce63ccc162761f"><td class="mdescLeft"> </td><td class="mdescRight">Query the current offset in milliseconds, or custom units as specified by a Metric function you have provided. <a href="group__seek__api.html#ga2ec088fc5541ce9749ce63ccc162761f">More...</a><br/></td></tr> <tr class="separator:ga2ec088fc5541ce9749ce63ccc162761f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga60bac88ef3695629efacec43a21927e5"><td class="memItemLeft" align="right" valign="top">ogg_int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__seek__api.html#ga60bac88ef3695629efacec43a21927e5">oggz_seek_units</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, ogg_int64_t units, int whence)</td></tr> <tr class="memdesc:ga60bac88ef3695629efacec43a21927e5"><td class="mdescLeft"> </td><td class="mdescRight">Seek to an offset in milliseconds, or custom units as specified by a Metric function you have provided. <a href="group__seek__api.html#ga60bac88ef3695629efacec43a21927e5">More...</a><br/></td></tr> <tr class="separator:ga60bac88ef3695629efacec43a21927e5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga29181fb4e8f4e3629cb84810614acd30"><td class="memItemLeft" align="right" valign="top">ogg_int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__seek__api.html#ga29181fb4e8f4e3629cb84810614acd30">oggz_tell_granulepos</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz)</td></tr> <tr class="memdesc:ga29181fb4e8f4e3629cb84810614acd30"><td class="mdescLeft"> </td><td class="mdescRight">Provide the exact stored granulepos (from the page header) if relevant to the current packet, or a constructed granulepos if the stored granulepos does not belong to this packet, or -1 if this codec does not have support for granulepos interpolation. <a href="group__seek__api.html#ga29181fb4e8f4e3629cb84810614acd30">More...</a><br/></td></tr> <tr class="separator:ga29181fb4e8f4e3629cb84810614acd30"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga553fabfa03553669f79e37b28eb07ec6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="oggz__off__t__generated_8h.html#ae4d9c2528ce26af562d8ad958d738050">oggz_off_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__seek__api.html#ga553fabfa03553669f79e37b28eb07ec6">oggz_tell</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz)</td></tr> <tr class="memdesc:ga553fabfa03553669f79e37b28eb07ec6"><td class="mdescLeft"> </td><td class="mdescRight">Query the file offset in bytes corresponding to the data read. <a href="group__seek__api.html#ga553fabfa03553669f79e37b28eb07ec6">More...</a><br/></td></tr> <tr class="separator:ga553fabfa03553669f79e37b28eb07ec6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaeef4b261d443701207954e5a636d6817"><td class="memItemLeft" align="right" valign="top"><a class="el" href="oggz__off__t__generated_8h.html#ae4d9c2528ce26af562d8ad958d738050">oggz_off_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__seek__api.html#gaeef4b261d443701207954e5a636d6817">oggz_seek</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, <a class="el" href="oggz__off__t__generated_8h.html#ae4d9c2528ce26af562d8ad958d738050">oggz_off_t</a> offset, int whence)</td></tr> <tr class="memdesc:gaeef4b261d443701207954e5a636d6817"><td class="mdescLeft"> </td><td class="mdescRight">Seek to a specific byte offset. <a href="group__seek__api.html#gaeef4b261d443701207954e5a636d6817">More...</a><br/></td></tr> <tr class="separator:gaeef4b261d443701207954e5a636d6817"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab411ab113d5f0f67bf77506724c25633"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#gab411ab113d5f0f67bf77506724c25633">oggz_get_preroll</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno)</td></tr> <tr class="memdesc:gab411ab113d5f0f67bf77506724c25633"><td class="mdescLeft"> </td><td class="mdescRight">Retrieve the preroll of a logical bitstream. <a href="group__metric.html#gab411ab113d5f0f67bf77506724c25633">More...</a><br/></td></tr> <tr class="separator:gab411ab113d5f0f67bf77506724c25633"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa2b4ab5be298a11b5b91147b76996c83"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#gaa2b4ab5be298a11b5b91147b76996c83">oggz_set_preroll</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, int preroll)</td></tr> <tr class="memdesc:gaa2b4ab5be298a11b5b91147b76996c83"><td class="mdescLeft"> </td><td class="mdescRight">Specify the preroll of a logical bitstream. <a href="group__metric.html#gaa2b4ab5be298a11b5b91147b76996c83">More...</a><br/></td></tr> <tr class="separator:gaa2b4ab5be298a11b5b91147b76996c83"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad9b55e525a6e0b994a133314fd78e2c0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#gad9b55e525a6e0b994a133314fd78e2c0">oggz_get_granuleshift</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno)</td></tr> <tr class="memdesc:gad9b55e525a6e0b994a133314fd78e2c0"><td class="mdescLeft"> </td><td class="mdescRight">Retrieve the granuleshift of a logical bitstream. <a href="group__metric.html#gad9b55e525a6e0b994a133314fd78e2c0">More...</a><br/></td></tr> <tr class="separator:gad9b55e525a6e0b994a133314fd78e2c0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga7ca67e0344580bf1541b9fbde39d481b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#ga7ca67e0344580bf1541b9fbde39d481b">oggz_set_granuleshift</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, int granuleshift)</td></tr> <tr class="memdesc:ga7ca67e0344580bf1541b9fbde39d481b"><td class="mdescLeft"> </td><td class="mdescRight">Specify the granuleshift of a logical bitstream. <a href="group__metric.html#ga7ca67e0344580bf1541b9fbde39d481b">More...</a><br/></td></tr> <tr class="separator:ga7ca67e0344580bf1541b9fbde39d481b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga72a9a24e6f8483986859d7697fa611b6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#ga72a9a24e6f8483986859d7697fa611b6">oggz_get_granulerate</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, ogg_int64_t *granulerate_n, ogg_int64_t *granulerate_d)</td></tr> <tr class="memdesc:ga72a9a24e6f8483986859d7697fa611b6"><td class="mdescLeft"> </td><td class="mdescRight">Retrieve the granulerate of a logical bitstream. <a href="group__metric.html#ga72a9a24e6f8483986859d7697fa611b6">More...</a><br/></td></tr> <tr class="separator:ga72a9a24e6f8483986859d7697fa611b6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa2a86ec590161bc2295a2c8e91cefa49"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#gaa2a86ec590161bc2295a2c8e91cefa49">oggz_set_granulerate</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, ogg_int64_t granule_rate_numerator, ogg_int64_t granule_rate_denominator)</td></tr> <tr class="memdesc:gaa2a86ec590161bc2295a2c8e91cefa49"><td class="mdescLeft"> </td><td class="mdescRight">Specify the granulerate of a logical bitstream. <a href="group__metric.html#gaa2a86ec590161bc2295a2c8e91cefa49">More...</a><br/></td></tr> <tr class="separator:gaa2a86ec590161bc2295a2c8e91cefa49"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5a630e8dcd04e1dd6601d8f56f0af3f6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#ga5a630e8dcd04e1dd6601d8f56f0af3f6">oggz_set_metric</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, <a class="el" href="group__metric.html#ga8803bb406015a32f5172902e3e4e76e8">OggzMetric</a> metric, void *user_data)</td></tr> <tr class="memdesc:ga5a630e8dcd04e1dd6601d8f56f0af3f6"><td class="mdescLeft"> </td><td class="mdescRight">Set the OggzMetric to use for an OGGZ handle. <a href="group__metric.html#ga5a630e8dcd04e1dd6601d8f56f0af3f6">More...</a><br/></td></tr> <tr class="separator:ga5a630e8dcd04e1dd6601d8f56f0af3f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaaec9a54e9b231797d245042ce23b619a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#gaaec9a54e9b231797d245042ce23b619a">oggz_set_data_start</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, <a class="el" href="oggz__off__t__generated_8h.html#ae4d9c2528ce26af562d8ad958d738050">oggz_off_t</a> offset)</td></tr> <tr class="memdesc:gaaec9a54e9b231797d245042ce23b619a"><td class="mdescLeft"> </td><td class="mdescRight">Tell Oggz to remember the given offset as the start of data. <a href="group__metric.html#gaaec9a54e9b231797d245042ce23b619a">More...</a><br/></td></tr> <tr class="separator:gaaec9a54e9b231797d245042ce23b619a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a116cf4ae056573ab69b1161671ff6c59"><td class="memItemLeft" align="right" valign="top">ogg_int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="oggz__seek_8h.html#a116cf4ae056573ab69b1161671ff6c59">oggz_bounded_seek_set</a> (<a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, ogg_int64_t unit_target, ogg_int64_t offset_begin, ogg_int64_t offset_end)</td></tr> <tr class="memdesc:a116cf4ae056573ab69b1161671ff6c59"><td class="mdescLeft"> </td><td class="mdescRight">Seeks Oggz to time unit_target, but with the bounds of the offset range [offset_begin, offset_end]. <a href="#a116cf4ae056573ab69b1161671ff6c59">More...</a><br/></td></tr> <tr class="separator:a116cf4ae056573ab69b1161671ff6c59"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Seeking within files. </p> </div><h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="a116cf4ae056573ab69b1161671ff6c59"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ogg_int64_t oggz_bounded_seek_set </td> <td>(</td> <td class="paramtype"><a class="el" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee">OGGZ</a> * </td> <td class="paramname"><em>oggz</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ogg_int64_t </td> <td class="paramname"><em>unit_target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ogg_int64_t </td> <td class="paramname"><em>offset_begin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">ogg_int64_t </td> <td class="paramname"><em>offset_end</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Seeks Oggz to time unit_target, but with the bounds of the offset range [offset_begin, offset_end]. </p> <p>This is useful when seeking in network streams where only parts of a media are buffered, and retrieving unbuffered parts is expensive. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">oggz</td><td>An OGGZ handle previously opened for reading </td></tr> <tr><td class="paramname">unit_target</td><td>The seek target, in milliseconds, or custom units </td></tr> <tr><td class="paramname">offset_begin</td><td>Start of offset range to seek inside, in bytes </td></tr> <tr><td class="paramname">offset_end</td><td>End of offset range to seek inside, in bytes, pass -1 for end of media </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The new position, in milliseconds or custom units </dd></dl> <dl class="retval"><dt>Return values</dt><dd> <table class="retval"> <tr><td class="paramname">-1</td><td>on failure (unit_target is not within range) </td></tr> </table> </dd> </dl> </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.5 </small></address> </body> </html>