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