Blob Blame History Raw
<!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"/>
<title>liboggz: oggz_seek.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<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 class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<h1>oggz_seek.h</h1><a href="oggz__seek_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">   Copyright (C) 2003 Commonwealth Scientific and Industrial Research</span>
<a name="l00003"></a>00003 <span class="comment">   Organisation (CSIRO) Australia</span>
<a name="l00004"></a>00004 <span class="comment"></span>
<a name="l00005"></a>00005 <span class="comment">   Redistribution and use in source and binary forms, with or without</span>
<a name="l00006"></a>00006 <span class="comment">   modification, are permitted provided that the following conditions</span>
<a name="l00007"></a>00007 <span class="comment">   are met:</span>
<a name="l00008"></a>00008 <span class="comment"></span>
<a name="l00009"></a>00009 <span class="comment">   - Redistributions of source code must retain the above copyright</span>
<a name="l00010"></a>00010 <span class="comment">   notice, this list of conditions and the following disclaimer.</span>
<a name="l00011"></a>00011 <span class="comment"></span>
<a name="l00012"></a>00012 <span class="comment">   - Redistributions in binary form must reproduce the above copyright</span>
<a name="l00013"></a>00013 <span class="comment">   notice, this list of conditions and the following disclaimer in the</span>
<a name="l00014"></a>00014 <span class="comment">   documentation and/or other materials provided with the distribution.</span>
<a name="l00015"></a>00015 <span class="comment"></span>
<a name="l00016"></a>00016 <span class="comment">   - Neither the name of CSIRO Australia nor the names of its</span>
<a name="l00017"></a>00017 <span class="comment">   contributors may be used to endorse or promote products derived from</span>
<a name="l00018"></a>00018 <span class="comment">   this software without specific prior written permission.</span>
<a name="l00019"></a>00019 <span class="comment"></span>
<a name="l00020"></a>00020 <span class="comment">   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span>
<a name="l00021"></a>00021 <span class="comment">   ``AS IS&#39;&#39; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span>
<a name="l00022"></a>00022 <span class="comment">   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A</span>
<a name="l00023"></a>00023 <span class="comment">   PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR</span>
<a name="l00024"></a>00024 <span class="comment">   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,</span>
<a name="l00025"></a>00025 <span class="comment">   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</span>
<a name="l00026"></a>00026 <span class="comment">   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</span>
<a name="l00027"></a>00027 <span class="comment">   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF</span>
<a name="l00028"></a>00028 <span class="comment">   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING</span>
<a name="l00029"></a>00029 <span class="comment">   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span>
<a name="l00030"></a>00030 <span class="comment">   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span>
<a name="l00031"></a>00031 <span class="comment">*/</span>
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 <span class="preprocessor">#ifndef __OGGZ_SEEK_H__</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define __OGGZ_SEEK_H__</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span>
<a name="l00099"></a>00099 ogg_int64_t <a class="code" href="group__seek__api.html#ga2ec088fc5541ce9749ce63ccc162761f" title="Query the current offset in milliseconds, or custom units as specified by a Metric...">oggz_tell_units</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz);
<a name="l00100"></a>00100 
<a name="l00109"></a>00109 ogg_int64_t <a class="code" href="group__seek__api.html#ga60bac88ef3695629efacec43a21927e5" title="Seek to an offset in milliseconds, or custom units as specified by a Metric function...">oggz_seek_units</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, ogg_int64_t units, <span class="keywordtype">int</span> whence);
<a name="l00110"></a>00110 
<a name="l00119"></a>00119 ogg_int64_t
<a name="l00120"></a>00120 <a class="code" href="group__seek__api.html#ga29181fb4e8f4e3629cb84810614acd30" title="Provide the exact stored granulepos (from the page header) if relevant to the current...">oggz_tell_granulepos</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz);
<a name="l00121"></a>00121 
<a name="l00134"></a>00134 oggz_off_t <a class="code" href="group__seek__api.html#ga553fabfa03553669f79e37b28eb07ec6" title="Query the file offset in bytes corresponding to the data read.">oggz_tell</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz);
<a name="l00135"></a>00135 
<a name="l00143"></a>00143 oggz_off_t <a class="code" href="group__seek__api.html#gaeef4b261d443701207954e5a636d6817" title="Seek to a specific byte offset.">oggz_seek</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, oggz_off_t offset, <span class="keywordtype">int</span> whence);
<a name="l00144"></a>00144 
<a name="l00145"></a>00145 <span class="preprocessor">#ifdef _UNIMPLEMENTED</span>
<a name="l00146"></a>00146 <span class="preprocessor"></span><span class="keywordtype">long</span> oggz_seek_packets (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">long</span> serialno, <span class="keywordtype">long</span> packets, <span class="keywordtype">int</span> whence);
<a name="l00147"></a>00147 <span class="preprocessor">#endif</span>
<a name="l00148"></a>00148 <span class="preprocessor"></span>
<a name="l00270"></a>00270 <span class="keywordtype">int</span> <a class="code" href="group__metric.html#gab411ab113d5f0f67bf77506724c25633" title="Retrieve the preroll of a logical bitstream.">oggz_get_preroll</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">long</span> serialno);
<a name="l00271"></a>00271 
<a name="l00283"></a>00283 <span class="keywordtype">int</span> <a class="code" href="group__metric.html#gaa2b4ab5be298a11b5b91147b76996c83" title="Specify the preroll of a logical bitstream.">oggz_set_preroll</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">long</span> serialno, <span class="keywordtype">int</span> preroll);
<a name="l00284"></a>00284 
<a name="l00294"></a>00294 <span class="keywordtype">int</span> <a class="code" href="group__metric.html#gad9b55e525a6e0b994a133314fd78e2c0" title="Retrieve the granuleshift of a logical bitstream.">oggz_get_granuleshift</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">long</span> serialno);
<a name="l00295"></a>00295 
<a name="l00308"></a>00308 <span class="keywordtype">int</span> <a class="code" href="group__metric.html#ga7ca67e0344580bf1541b9fbde39d481b" title="Specify the granuleshift of a logical bitstream.">oggz_set_granuleshift</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">long</span> serialno, <span class="keywordtype">int</span> granuleshift);
<a name="l00309"></a>00309 
<a name="l00322"></a>00322 <span class="keywordtype">int</span> <a class="code" href="group__metric.html#ga72a9a24e6f8483986859d7697fa611b6" title="Retrieve the granulerate of a logical bitstream.">oggz_get_granulerate</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">long</span> serialno,
<a name="l00323"></a>00323                           ogg_int64_t * granulerate_n,
<a name="l00324"></a>00324                           ogg_int64_t * granulerate_d);
<a name="l00325"></a>00325 
<a name="l00339"></a>00339 <span class="keywordtype">int</span> <a class="code" href="group__metric.html#gaa2a86ec590161bc2295a2c8e91cefa49" title="Specify the granulerate of a logical bitstream.">oggz_set_granulerate</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">long</span> serialno,
<a name="l00340"></a>00340                           ogg_int64_t granule_rate_numerator,
<a name="l00341"></a>00341                           ogg_int64_t granule_rate_denominator);
<a name="l00342"></a>00342 
<a name="l00360"></a><a class="code" href="group__metric.html#ga8803bb406015a32f5172902e3e4e76e8">00360</a> <span class="keyword">typedef</span> ogg_int64_t (*<a class="code" href="group__metric.html#ga8803bb406015a32f5172902e3e4e76e8" title="This is the signature of a function to correlate Ogg streams.">OggzMetric</a>) (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">long</span> serialno,
<a name="l00361"></a>00361                                    ogg_int64_t granulepos, <span class="keywordtype">void</span> * user_data);
<a name="l00362"></a>00362 
<a name="l00385"></a>00385 <span class="keywordtype">int</span> <a class="code" href="group__metric.html#ga5a630e8dcd04e1dd6601d8f56f0af3f6" title="Set the OggzMetric to use for an OGGZ handle.">oggz_set_metric</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">long</span> serialno, <a class="code" href="group__metric.html#ga8803bb406015a32f5172902e3e4e76e8" title="This is the signature of a function to correlate Ogg streams.">OggzMetric</a> metric,
<a name="l00386"></a>00386                      <span class="keywordtype">void</span> * user_data);
<a name="l00387"></a>00387 
<a name="l00388"></a>00388 <span class="preprocessor">#ifdef _UNIMPLEMENTED</span>
<a name="l00389"></a>00389 <span class="preprocessor"></span>
<a name="l00445"></a>00445 <span class="keyword">typedef</span> int (*OggzOrder) (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, ogg_packet * op, <span class="keywordtype">void</span> * target,
<a name="l00446"></a>00446                          <span class="keywordtype">void</span> * user_data);
<a name="l00454"></a>00454 <span class="keywordtype">int</span> oggz_set_order (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">long</span> serialno, OggzOrder order,
<a name="l00455"></a>00455                     <span class="keywordtype">void</span> * user_data);
<a name="l00456"></a>00456 
<a name="l00457"></a>00457 <span class="keywordtype">long</span> oggz_seek_byorder (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, <span class="keywordtype">void</span> * target);
<a name="l00458"></a>00458 
<a name="l00459"></a>00459 <span class="preprocessor">#endif </span><span class="comment">/* _UNIMPLEMENTED */</span>
<a name="l00460"></a>00460 
<a name="l00474"></a>00474 <span class="keywordtype">int</span> <a class="code" href="group__metric.html#gaaec9a54e9b231797d245042ce23b619a" title="Tell Oggz to remember the given offset as the start of data.">oggz_set_data_start</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz, oggz_off_t offset);
<a name="l00491"></a>00491 ogg_int64_t
<a name="l00492"></a>00492 <a class="code" href="oggz__seek_8h.html#a116cf4ae056573ab69b1161671ff6c59" title="Seeks Oggz to time unit_target, but with the bounds of the offset range [offset_begin...">oggz_bounded_seek_set</a> (<a class="code" href="oggz_8h.html#a672d218df13da45a4b41d5366211bfee" title="An opaque handle to an Ogg file.">OGGZ</a> * oggz,
<a name="l00493"></a>00493                        ogg_int64_t unit_target,
<a name="l00494"></a>00494                        ogg_int64_t offset_begin,
<a name="l00495"></a>00495                        ogg_int64_t offset_end);
<a name="l00496"></a>00496 
<a name="l00497"></a>00497 <span class="preprocessor">#endif </span><span class="comment">/* __OGGZ_SEEK_H__ */</span>
</pre></div></div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Apr 24 09:13:55 2010 for liboggz by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>