Home | History | Annotate | Download | only in vorbisfile
      1 <html>
      2 
      3 <head>
      4 <title>Vorbisfile - Seeking</title>
      5 <link rel=stylesheet href="style.css" type="text/css">
      6 </head>
      7 
      8 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
      9 <table border=0 width=100%>
     10 <tr>
     11 <td><p class=tiny>Vorbisfile documentation</p></td>
     12 <td align=right><p class=tiny>vorbisfile version 1.2.0 - 20070723</p></td>
     13 </tr>
     14 </table>
     15 
     16 <h1>Seeking</h1>
     17 <p>Seeking functions allow you to specify a specific point in the stream to begin or continue decoding.
     18 <p>
     19 All libvorbisfile seeking routines are declared in "vorbis/vorbisfile.h".
     20 
     21 <p>Certain seeking functions are best suited to different situations.
     22 When speed is important and exact positioning isn't required,
     23 page-level seeking should be used.  Note also that Vorbis files do not
     24 necessarily start at a sample number or time offset of zero.  Do not
     25 be surprised if a file begins at a positive offset of several minutes
     26 or hours, such as would happen if a large stream (such as a concert
     27 recording) is chopped into multiple separate files.  Requesting to
     28 seek to a position before the beginning of such a file will seek to
     29 the position where audio begins.
     30 
     31 <p>As of vorbisfile version 1.68, seeking also optionally provides
     32 automatic crosslapping to eliminate clicks and other discontinuity
     33 artifacts at seeking boundaries.  This fetaure is of particular
     34 interest to player and game developers implementing dynamic music and
     35 audio engines, or others looking for smooth transitions within a
     36 single sample or across multiple samples.<p>
     37 
     38 <p>Naturally, seeking is available only within a seekable file or
     39 stream.  Seeking functions will return <tt>OV_ENOSEEK</tt> on
     40 nonseekable files and streams.
     41 
     42 </ul>
     43 
     44 <table border=1 color=black width=50% cellspacing=0 cellpadding=7>
     45 <tr bgcolor=#cccccc>
     46 	<td><b>function</b></td>
     47 	<td><b>purpose</b></td>
     48 </tr>
     49 <tr valign=top>
     50 	<td><a href="ov_raw_seek.html">ov_raw_seek</a></td>
     51 	<td>This function seeks to a position specified in the compressed bitstream, specified in bytes.</td>
     52 </tr>
     53 <tr valign=top>
     54 	<td><a href="ov_pcm_seek.html">ov_pcm_seek</a></td>
     55 	<td>This function seeks to a specific audio sample number, specified in pcm samples.</td>
     56 </tr>
     57 <tr valign=top>
     58 	<td><a href="ov_pcm_seek_page.html">ov_pcm_seek_page</a></td>
     59 	<td>This function seeks to the closest page preceding the specified audio sample number, specified in pcm samples.</td>
     60 </tr>
     61 <tr valign=top>
     62 	<td><a href="ov_time_seek.html">ov_time_seek</a></td>
     63 	<td>This function seeks to the specific time location in the bitstream, specified in seconds </td>
     64 </tr>
     65 <tr valign=top>
     66 	<td><a href="ov_time_seek_page.html">ov_time_seek_page</a></td>
     67 	<td>This function seeks to the closest page preceding the specified time position in the bitstream</td>
     68 </tr>
     69 
     70 </tr>
     71 <tr valign=top>
     72 	<td><a href="ov_raw_seek_lap.html">ov_raw_seek_lap</a></td>
     73 	<td>This function seeks to a position specified in the compressed bitstream, specified in bytes.  The boundary between the old and new playback positions is crosslapped to eliminate discontinuities. </td>
     74 </tr>
     75 <tr valign=top>
     76 	<td><a href="ov_pcm_seek_lap.html">ov_pcm_seek_lap</a></td>
     77 	<td>This function seeks to a specific audio sample number, specified in pcm samples.  The boundary between the old and new playback positions is crosslapped to eliminate discontinuities.</td>
     78 </tr>
     79 <tr valign=top>
     80 	<td><a href="ov_pcm_seek_page_lap.html">ov_pcm_seek_page_lap</a></td>
     81 	<td>This function seeks to the closest page preceding the specified audio sample number, specified in pcm samples.  The boundary between the old and new playback positions is crosslapped to eliminate discontinuities.</td>
     82 </tr>
     83 <tr valign=top>
     84 	<td><a href="ov_time_seek_lap.html">ov_time_seek_lap</a></td>
     85 	<td>This function seeks to the specific time location in the bitstream, specified in seconds.  The boundary between the old and new playback positions is crosslapped to eliminate discontinuities. </td>
     86 </tr>
     87 <tr valign=top>
     88 	<td><a href="ov_time_seek_page_lap.html">ov_time_seek_page_lap</a></td>
     89 	<td>This function seeks to the closest page preceding the specified time position in the bitstream.  The boundary between the old and new playback positions is crosslapped to eliminate discontinuities.</td>
     90 </tr>
     91 </table>
     92 
     93 <br><br>
     94 <hr noshade>
     95 <table border=0 width=100%>
     96 <tr valign=top>
     97 <td><p class=tiny>copyright &copy; 2007 Xiph.org</p></td>
     98 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td>
     99 </tr><tr>
    100 <td><p class=tiny>Vorbisfile documentation</p></td>
    101 <td align=right><p class=tiny>vorbisfile version 1.2.0 - 20070723</p></td>
    102 </tr>
    103 </table>
    104 
    105 </body>
    106 
    107 </html>
    108