Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 2946d6d651bbdb069ce8220554506190 > files > 61

liboggz-devel-1.0.0-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>liboggz: oggz_seek.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>oggz_seek.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Seeking within files. 
<p>

<p>

<p>
<a href="oggz__seek_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ogg_int64_t(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#g8803bb406015a32f5172902e3e4e76e8">OggzMetric</a> )(<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, ogg_int64_t granulepos, void *user_data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the signature of a function to correlate Ogg streams.  <a href="group__metric.html#g8803bb406015a32f5172902e3e4e76e8"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ogg_int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seek__api.html#g2ec088fc5541ce9749ce63ccc162761f">oggz_tell_units</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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#g2ec088fc5541ce9749ce63ccc162761f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ogg_int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seek__api.html#g60bac88ef3695629efacec43a21927e5">oggz_seek_units</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, ogg_int64_t units, int whence)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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#g60bac88ef3695629efacec43a21927e5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ogg_int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seek__api.html#g29181fb4e8f4e3629cb84810614acd30">oggz_tell_granulepos</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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#g29181fb4e8f4e3629cb84810614acd30"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oggz_off_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seek__api.html#g553fabfa03553669f79e37b28eb07ec6">oggz_tell</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the file offset in bytes corresponding to the data read.  <a href="group__seek__api.html#g553fabfa03553669f79e37b28eb07ec6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">oggz_off_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__seek__api.html#geef4b261d443701207954e5a636d6817">oggz_seek</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, oggz_off_t offset, int whence)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seek to a specific byte offset.  <a href="group__seek__api.html#geef4b261d443701207954e5a636d6817"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#gb411ab113d5f0f67bf77506724c25633">oggz_get_preroll</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the preroll of a logical bitstream.  <a href="group__metric.html#gb411ab113d5f0f67bf77506724c25633"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#ga2b4ab5be298a11b5b91147b76996c83">oggz_set_preroll</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, int preroll)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify the preroll of a logical bitstream.  <a href="group__metric.html#ga2b4ab5be298a11b5b91147b76996c83"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#gd9b55e525a6e0b994a133314fd78e2c0">oggz_get_granuleshift</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the granuleshift of a logical bitstream.  <a href="group__metric.html#gd9b55e525a6e0b994a133314fd78e2c0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#g7ca67e0344580bf1541b9fbde39d481b">oggz_set_granuleshift</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, int granuleshift)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify the granuleshift of a logical bitstream.  <a href="group__metric.html#g7ca67e0344580bf1541b9fbde39d481b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#g72a9a24e6f8483986859d7697fa611b6">oggz_get_granulerate</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, ogg_int64_t *granulerate_n, ogg_int64_t *granulerate_d)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the granulerate of a logical bitstream.  <a href="group__metric.html#g72a9a24e6f8483986859d7697fa611b6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#ga2a86ec590161bc2295a2c8e91cefa49">oggz_set_granulerate</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, ogg_int64_t granule_rate_numerator, ogg_int64_t granule_rate_denominator)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Specify the granulerate of a logical bitstream.  <a href="group__metric.html#ga2a86ec590161bc2295a2c8e91cefa49"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#g5a630e8dcd04e1dd6601d8f56f0af3f6">oggz_set_metric</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, long serialno, <a class="el" href="group__metric.html#g8803bb406015a32f5172902e3e4e76e8">OggzMetric</a> metric, void *user_data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the OggzMetric to use for an OGGZ handle.  <a href="group__metric.html#g5a630e8dcd04e1dd6601d8f56f0af3f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__metric.html#gaec9a54e9b231797d245042ce23b619a">oggz_set_data_start</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, oggz_off_t offset)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell Oggz to remember the given offset as the start of data.  <a href="group__metric.html#gaec9a54e9b231797d245042ce23b619a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">ogg_int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="oggz__seek_8h.html#116cf4ae056573ab69b1161671ff6c59">oggz_bounded_seek_set</a> (<a class="el" href="oggz_8h.html#672d218df13da45a4b41d5366211bfee">OGGZ</a> *oggz, ogg_int64_t unit_target, ogg_int64_t offset_begin, ogg_int64_t offset_end)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seeks Oggz to time unit_target, but with the bounds of the offset range [offset_begin, offset_end].  <a href="#116cf4ae056573ab69b1161671ff6c59"></a><br></td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="116cf4ae056573ab69b1161671ff6c59"></a><!-- doxytag: member="oggz_seek.h::oggz_bounded_seek_set" ref="116cf4ae056573ab69b1161671ff6c59" args="(OGGZ *oggz, ogg_int64_t unit_target, ogg_int64_t offset_begin, ogg_int64_t offset_end)" -->
<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#672d218df13da45a4b41d5366211bfee">OGGZ</a> *&nbsp;</td>
          <td class="paramname"> <em>oggz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ogg_int64_t&nbsp;</td>
          <td class="paramname"> <em>unit_target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ogg_int64_t&nbsp;</td>
          <td class="paramname"> <em>offset_begin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">ogg_int64_t&nbsp;</td>
          <td class="paramname"> <em>offset_end</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <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>
This is useful when seeking in network streams where only parts of a media are buffered, and retrieving unbuffered parts is expensive. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>oggz</em>&nbsp;</td><td>An OGGZ handle previously opened for reading </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>unit_target</em>&nbsp;</td><td>The seek target, in milliseconds, or custom units </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>offset_begin</em>&nbsp;</td><td>Start of offset range to seek inside, in bytes </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>offset_end</em>&nbsp;</td><td>End of offset range to seek inside, in bytes, pass -1 for end of media </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new position, in milliseconds or custom units </dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>-1</em>&nbsp;</td><td>on failure (unit_target is not within range) </td></tr>
  </table>
</dl>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Sep 15 08:06:11 2009 for liboggz by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>