summaryrefslogtreecommitdiffhomepage
path: root/doc/vorbisfile/seeking_test_c.html
blob: eb10a98f0c0a8b0bbd1f38e8b57afda4fe333d4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<html>

<head>
<title>vorbisfile - seeking_test.c</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>

<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
<table border=0 width=100%>
<tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
</tr>
</table>

<h1>seeking_test.c</h1>

<p>
The example program source:

<br><br>
<table border=0 width=100% color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
	<td>
<pre><b>

#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include "vorbis/codec.h"
#include "vorbis/vorbisfile.h"

int main(){
  OggVorbis_File ov;
  int i;

#ifdef _WIN32 /* We need to set stdin to binary mode under Windows */
  _setmode( _fileno( stdin ), _O_BINARY );
#endif

  /* open the file/pipe on stdin */
  if(ov_open_callbacks(stdin,&amp;ov,NULL,-1,OV_CALLBACKS_NOCLOSE)==-1){
    printf("Could not open input as an OggVorbis file.\n\n");
    exit(1);
  }
  
  /* print details about each logical bitstream in the input */
  if(ov_seekable(&amp;ov)){
    double length=ov_time_total(&amp;ov,-1);
    printf("testing seeking to random places in %g seconds....\n",length);
    for(i=0;i&lt;100;i++){
      double val=(double)rand()/RAND_MAX*length;
      ov_time_seek(&amp;ov,val);
      printf("\r\t%d [%gs]...     ",i,val);
      fflush(stdout);
    }
    
    printf("\r                                   \nOK.\n\n");
  }else{
    printf("Standard input was not seekable.\n");
  }

  ov_clear(&amp;ov);
  return 0;
}

</b></pre>
	</td>
</tr>
</table>


<br><br>
<hr noshade>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright &copy; 2000-2010 Xiph.Org</p></td>
<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>Vorbisfile documentation</p></td>
<td align=right><p class=tiny>vorbisfile version 1.3.2 - 20101101</p></td>
</tr>
</table>

</body>

</html>