diff options
Diffstat (limited to 'apps/codecs/Tremor/ivorbisfile_example.c')
-rw-r--r-- | apps/codecs/Tremor/ivorbisfile_example.c | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/apps/codecs/Tremor/ivorbisfile_example.c b/apps/codecs/Tremor/ivorbisfile_example.c deleted file mode 100644 index 3c34b25f79..0000000000 --- a/apps/codecs/Tremor/ivorbisfile_example.c +++ /dev/null | |||
@@ -1,86 +0,0 @@ | |||
1 | /******************************************************************** | ||
2 | * * | ||
3 | * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * | ||
4 | * * | ||
5 | * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * | ||
6 | * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * | ||
7 | * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * | ||
8 | * * | ||
9 | * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * | ||
10 | * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * | ||
11 | * * | ||
12 | ******************************************************************** | ||
13 | |||
14 | function: simple example decoder using vorbisidec | ||
15 | |||
16 | ********************************************************************/ | ||
17 | |||
18 | /* Takes a vorbis bitstream from stdin and writes raw stereo PCM to | ||
19 | stdout using vorbisfile. Using vorbisfile is much simpler than | ||
20 | dealing with libvorbis. */ | ||
21 | |||
22 | #include "config-tremor.h" | ||
23 | #include <stdio.h> | ||
24 | #include <vorbis/ivorbiscodec.h> | ||
25 | #include <vorbis/ivorbisfile.h> | ||
26 | |||
27 | #ifdef _WIN32 /* We need the following two to set stdin/stdout to binary */ | ||
28 | #include <io.h> | ||
29 | #include <fcntl.h> | ||
30 | #endif | ||
31 | |||
32 | char pcmout[4096]; /* take 4k out of the data segment, not the stack */ | ||
33 | |||
34 | int main(){ | ||
35 | OggVorbis_File vf; | ||
36 | int eof=0; | ||
37 | int current_section; | ||
38 | |||
39 | #ifdef _WIN32 /* We need to set stdin/stdout to binary mode. Damn windows. */ | ||
40 | /* Beware the evil ifdef. We avoid these where we can, but this one we | ||
41 | cannot. Don't add any more, you'll probably go to hell if you do. */ | ||
42 | _setmode( _fileno( stdin ), _O_BINARY ); | ||
43 | _setmode( _fileno( stdout ), _O_BINARY ); | ||
44 | #endif | ||
45 | |||
46 | if(ov_open(stdin, &vf, NULL, 0) < 0) { | ||
47 | fprintf(stderr,"Input does not appear to be an Ogg bitstream.\n"); | ||
48 | exit(1); | ||
49 | } | ||
50 | |||
51 | /* Throw the comments plus a few lines about the bitstream we're | ||
52 | decoding */ | ||
53 | { | ||
54 | char **ptr=ov_comment(&vf,-1)->user_comments; | ||
55 | vorbis_info *vi=ov_info(&vf,-1); | ||
56 | while(*ptr){ | ||
57 | fprintf(stderr,"%s\n",*ptr); | ||
58 | ++ptr; | ||
59 | } | ||
60 | fprintf(stderr,"\nBitstream is %d channel, %ldHz\n",vi->channels,vi->rate); | ||
61 | fprintf(stderr,"\nDecoded length: %ld samples\n", | ||
62 | (long)ov_pcm_total(&vf,-1)); | ||
63 | fprintf(stderr,"Encoded by: %s\n\n",ov_comment(&vf,-1)->vendor); | ||
64 | } | ||
65 | |||
66 | while(!eof){ | ||
67 | long ret=ov_read(&vf,pcmout,sizeof(pcmout),¤t_section); | ||
68 | if (ret == 0) { | ||
69 | /* EOF */ | ||
70 | eof=1; | ||
71 | } else if (ret < 0) { | ||
72 | /* error in the stream. Not a problem, just reporting it in | ||
73 | case we (the app) cares. In this case, we don't. */ | ||
74 | } else { | ||
75 | /* we don't bother dealing with sample rate changes, etc, but | ||
76 | you'll have to*/ | ||
77 | fwrite(pcmout,1,ret,stdout); | ||
78 | } | ||
79 | } | ||
80 | |||
81 | /* cleanup */ | ||
82 | ov_clear(&vf); | ||
83 | |||
84 | fprintf(stderr,"Done.\n"); | ||
85 | return(0); | ||
86 | } | ||