dynamic_ogg.h
author Sam Lantinga <slouken@libsdl.org>
Sun, 08 Nov 2009 18:40:07 +0000
changeset 474 a2c238c0c4b2
parent 470 5cebd6c5be2d
child 505 5b24d089d9f5
permissions -rw-r--r--
Don't break binary compatibility!
     1 /*
     2     SDL_mixer:  An audio mixer library based on the SDL library
     3     Copyright (C) 1997-2009 Sam Lantinga
     4 
     5     This library is free software; you can redistribute it and/or
     6     modify it under the terms of the GNU Library General Public
     7     License as published by the Free Software Foundation; either
     8     version 2 of the License, or (at your option) any later version.
     9 
    10     This library is distributed in the hope that it will be useful,
    11     but WITHOUT ANY WARRANTY; without even the implied warranty of
    12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13     Library General Public License for more details.
    14 
    15     You should have received a copy of the GNU Library General Public
    16     License along with this library; if not, write to the Free
    17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    18 
    19     Sam Lantinga
    20     slouken@libsdl.org
    21 */
    22 
    23 #ifdef OGG_MUSIC
    24 #ifdef OGG_USE_TREMOR
    25 #include <tremor/ivorbisfile.h>
    26 #else
    27 #include <vorbis/vorbisfile.h>
    28 #endif
    29 
    30 typedef struct {
    31 	int loaded;
    32 	void *handle;
    33 	int (*ov_clear)(OggVorbis_File *vf);
    34 	vorbis_info *(*ov_info)(OggVorbis_File *vf,int link);
    35 	int (*ov_open_callbacks)(void *datasource, OggVorbis_File *vf, char *initial, long ibytes, ov_callbacks callbacks);
    36 	ogg_int64_t (*ov_pcm_total)(OggVorbis_File *vf,int i);
    37 #ifdef OGG_USE_TREMOR
    38 	long (*ov_read)(OggVorbis_File *vf,char *buffer,int length, int *bitstream);
    39 #else
    40 	long (*ov_read)(OggVorbis_File *vf,char *buffer,int length, int bigendianp,int word,int sgned,int *bitstream);
    41 #endif
    42 	int (*ov_time_seek)(OggVorbis_File *vf,double pos);
    43 } vorbis_loader;
    44 
    45 extern vorbis_loader vorbis;
    46 
    47 #endif /* OGG_MUSIC */
    48 
    49 extern int Mix_InitOgg();
    50 extern void Mix_QuitOgg();