[16] | 1 | <html> |
---|
| 2 | |
---|
| 3 | <head> |
---|
| 4 | <title>Vorbisfile - function - ov_crosslap</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>ov_crosslap()</h1> |
---|
| 17 | |
---|
| 18 | <p><i>declared in "vorbis/vorbisfile.h";</i></p> |
---|
| 19 | |
---|
| 20 | <p>ov_crosslap overlaps and blends the boundary at a transition |
---|
| 21 | between two separate streams represented by separate <a |
---|
| 22 | href="OggVorbis_File.html">OggVorbis_File</a> structures. For lapping |
---|
| 23 | transitions due to seeking within a single stream represented by a |
---|
| 24 | single <a href="OggVorbis_File.html">OggVorbis_File</a> structure, |
---|
| 25 | consider using the lapping versions of the <a |
---|
| 26 | href="seeking.html">vorbisfile seeking functions</a> instead. |
---|
| 27 | |
---|
| 28 | <p>ov_crosslap is used between the last (usually ov_read) call on |
---|
| 29 | the old stream and the first ov_read from the new stream. Any |
---|
| 30 | desired positioning of the new stream must occur before the call to |
---|
| 31 | ov_crosslap() as a seek dumps all prior lapping information from a |
---|
| 32 | stream's decode state. Crosslapping does not introduce or remove any |
---|
| 33 | extraneous samples; positioning works exactly as if ov_crosslap was not |
---|
| 34 | called. |
---|
| 35 | |
---|
| 36 | <p>ov_crosslap will lap between streams of differing numbers of |
---|
| 37 | channels. Any extra channels from the old stream are ignored; playback |
---|
| 38 | of these channels simply ends. Extra channels in the new stream are |
---|
| 39 | lapped from silence. ov_crosslap will also lap between streams links |
---|
| 40 | of differing sample rates. In this case, the sample rates are ignored |
---|
| 41 | (no implicit resampling is done to match playback). It is up to the |
---|
| 42 | application developer to decide if this behavior makes any sense in a |
---|
| 43 | given context; in practical use, these default behaviors perform |
---|
| 44 | sensibly. |
---|
| 45 | |
---|
| 46 | <br><br> |
---|
| 47 | <table border=0 color=black cellspacing=0 cellpadding=7> |
---|
| 48 | <tr bgcolor=#cccccc> |
---|
| 49 | <td> |
---|
| 50 | <pre><b> |
---|
| 51 | long ov_crosslap(<a href="OggVorbis_File.html">OggVorbis_File</a> *old, <a href="OggVorbis_File.html">OggVorbis_File</a> *new); |
---|
| 52 | |
---|
| 53 | </b></pre> |
---|
| 54 | </td> |
---|
| 55 | </tr> |
---|
| 56 | </table> |
---|
| 57 | |
---|
| 58 | <h3>Parameters</h3> |
---|
| 59 | <dl> |
---|
| 60 | <dt><i>old</i></dt> |
---|
| 61 | <dd>A pointer to the OggVorbis_File structure representing the origin stream from which to transition playback.</dd> |
---|
| 62 | |
---|
| 63 | <dt><i>new</i></dt> |
---|
| 64 | <dd>A pointer to the OggVorbis_File structure representing the stream with which playback continues.</dd> |
---|
| 65 | </dl> |
---|
| 66 | |
---|
| 67 | |
---|
| 68 | <h3>Return Values</h3> |
---|
| 69 | <blockquote> |
---|
| 70 | <dl> |
---|
| 71 | <dt>OV_EINVAL</dt> |
---|
| 72 | <dd>crosslap called with an OggVorbis_File structure that isn't open.</dd> |
---|
| 73 | <dt>OV_EFAULT</dt> |
---|
| 74 | <dd>internal error; implies a library bug or external heap corruption.</dd> |
---|
| 75 | <dt>OV_EREAD</dt> |
---|
| 76 | <dd> A read from media returned an error.</dd> |
---|
| 77 | <dt>OV_EOF</dt> |
---|
| 78 | <dd>indicates stream <tt>vf2</tt> is at end of file, or that <tt>vf1</tt> is at end of file immediately after a seek (making crosslap impossible as there's no preceding decode state to crosslap).</dd> |
---|
| 79 | <dt><i>0</i></dt> |
---|
| 80 | <dd>success.</dd> |
---|
| 81 | </dl> |
---|
| 82 | </blockquote> |
---|
| 83 | |
---|
| 84 | |
---|
| 85 | |
---|
| 86 | <br><br> |
---|
| 87 | <hr noshade> |
---|
| 88 | <table border=0 width=100%> |
---|
| 89 | <tr valign=top> |
---|
| 90 | <td><p class=tiny>copyright © 2007 Xiph.org</p></td> |
---|
| 91 | <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a></p></td> |
---|
| 92 | </tr><tr> |
---|
| 93 | <td><p class=tiny>Vorbisfile documentation</p></td> |
---|
| 94 | <td align=right><p class=tiny>vorbisfile version 1.2.0 - 20070723</p></td> |
---|
| 95 | </tr> |
---|
| 96 | </table> |
---|
| 97 | |
---|
| 98 | </body> |
---|
| 99 | |
---|
| 100 | </html> |
---|