mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 11:10:47 +00:00
Clean up some file and directory structure.
* Renamed source/jaudiolib/third-party/mingw32 to source/jaudiolib/third-party/Windows. * Moved source/jaudiolib/third-party/Windows/include to source/jaudiolib/third-party/common/include to use both on Windows and Apple. * Deleted Apple/lib/include/{ogg,vorbis}/, see previous point. * Deleted Apple/lib/libvorbisenc.a, 6MB saved. * Moved Apple/lib/lib{ogg,vorbis,vorbisfile}.a to source/jaudiolib/third-party/Apple/lib, where they belong. * Moved source files in Apple/ to source/, where they belong. (SDLMain.[mh] stay.) * Deleted source/jaudiolib/third-party/{ogg,vorbis}.framework, not used any more. * Renamed "StartupWinController*" to "startosx*". git-svn-id: https://svn.eduke32.com/eduke32@3334 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
8e61bff6f1
commit
95dd57154e
54 changed files with 18 additions and 1775 deletions
|
@ -1,11 +0,0 @@
|
||||||
#ifndef __CONFIG_TYPES_H__
|
|
||||||
#define __CONFIG_TYPES_H__
|
|
||||||
|
|
||||||
/* these are filled in by configure */
|
|
||||||
typedef int16_t ogg_int16_t;
|
|
||||||
typedef u_int16_t ogg_uint16_t;
|
|
||||||
typedef int32_t ogg_int32_t;
|
|
||||||
typedef u_int32_t ogg_uint32_t;
|
|
||||||
typedef int64_t ogg_int64_t;
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,202 +0,0 @@
|
||||||
/********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
|
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
|
||||||
* *
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
function: toplevel libogg include
|
|
||||||
last mod: $Id: ogg.h 7188 2004-07-20 07:26:04Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
|
||||||
#ifndef _OGG_H
|
|
||||||
#define _OGG_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <ogg/os_types.h>
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
long endbyte;
|
|
||||||
int endbit;
|
|
||||||
|
|
||||||
unsigned char *buffer;
|
|
||||||
unsigned char *ptr;
|
|
||||||
long storage;
|
|
||||||
} oggpack_buffer;
|
|
||||||
|
|
||||||
/* ogg_page is used to encapsulate the data in one Ogg bitstream page *****/
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned char *header;
|
|
||||||
long header_len;
|
|
||||||
unsigned char *body;
|
|
||||||
long body_len;
|
|
||||||
} ogg_page;
|
|
||||||
|
|
||||||
/* ogg_stream_state contains the current encode/decode state of a logical
|
|
||||||
Ogg bitstream **********************************************************/
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned char *body_data; /* bytes from packet bodies */
|
|
||||||
long body_storage; /* storage elements allocated */
|
|
||||||
long body_fill; /* elements stored; fill mark */
|
|
||||||
long body_returned; /* elements of fill returned */
|
|
||||||
|
|
||||||
|
|
||||||
int *lacing_vals; /* The values that will go to the segment table */
|
|
||||||
ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact
|
|
||||||
this way, but it is simple coupled to the
|
|
||||||
lacing fifo */
|
|
||||||
long lacing_storage;
|
|
||||||
long lacing_fill;
|
|
||||||
long lacing_packet;
|
|
||||||
long lacing_returned;
|
|
||||||
|
|
||||||
unsigned char header[282]; /* working space for header encode */
|
|
||||||
int header_fill;
|
|
||||||
|
|
||||||
int e_o_s; /* set when we have buffered the last packet in the
|
|
||||||
logical bitstream */
|
|
||||||
int b_o_s; /* set after we've written the initial page
|
|
||||||
of a logical bitstream */
|
|
||||||
long serialno;
|
|
||||||
long pageno;
|
|
||||||
ogg_int64_t packetno; /* sequence number for decode; the framing
|
|
||||||
knows where there's a hole in the data,
|
|
||||||
but we need coupling so that the codec
|
|
||||||
(which is in a seperate abstraction
|
|
||||||
layer) also knows about the gap */
|
|
||||||
ogg_int64_t granulepos;
|
|
||||||
|
|
||||||
} ogg_stream_state;
|
|
||||||
|
|
||||||
/* ogg_packet is used to encapsulate the data and metadata belonging
|
|
||||||
to a single raw Ogg/Vorbis packet *************************************/
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned char *packet;
|
|
||||||
long bytes;
|
|
||||||
long b_o_s;
|
|
||||||
long e_o_s;
|
|
||||||
|
|
||||||
ogg_int64_t granulepos;
|
|
||||||
|
|
||||||
ogg_int64_t packetno; /* sequence number for decode; the framing
|
|
||||||
knows where there's a hole in the data,
|
|
||||||
but we need coupling so that the codec
|
|
||||||
(which is in a seperate abstraction
|
|
||||||
layer) also knows about the gap */
|
|
||||||
} ogg_packet;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned char *data;
|
|
||||||
int storage;
|
|
||||||
int fill;
|
|
||||||
int returned;
|
|
||||||
|
|
||||||
int unsynced;
|
|
||||||
int headerbytes;
|
|
||||||
int bodybytes;
|
|
||||||
} ogg_sync_state;
|
|
||||||
|
|
||||||
/* Ogg BITSTREAM PRIMITIVES: bitstream ************************/
|
|
||||||
|
|
||||||
extern void oggpack_writeinit(oggpack_buffer *b);
|
|
||||||
extern void oggpack_writetrunc(oggpack_buffer *b,long bits);
|
|
||||||
extern void oggpack_writealign(oggpack_buffer *b);
|
|
||||||
extern void oggpack_writecopy(oggpack_buffer *b,void *source,long bits);
|
|
||||||
extern void oggpack_reset(oggpack_buffer *b);
|
|
||||||
extern void oggpack_writeclear(oggpack_buffer *b);
|
|
||||||
extern void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
|
|
||||||
extern void oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
|
|
||||||
extern long oggpack_look(oggpack_buffer *b,int bits);
|
|
||||||
extern long oggpack_look1(oggpack_buffer *b);
|
|
||||||
extern void oggpack_adv(oggpack_buffer *b,int bits);
|
|
||||||
extern void oggpack_adv1(oggpack_buffer *b);
|
|
||||||
extern long oggpack_read(oggpack_buffer *b,int bits);
|
|
||||||
extern long oggpack_read1(oggpack_buffer *b);
|
|
||||||
extern long oggpack_bytes(oggpack_buffer *b);
|
|
||||||
extern long oggpack_bits(oggpack_buffer *b);
|
|
||||||
extern unsigned char *oggpack_get_buffer(oggpack_buffer *b);
|
|
||||||
|
|
||||||
extern void oggpackB_writeinit(oggpack_buffer *b);
|
|
||||||
extern void oggpackB_writetrunc(oggpack_buffer *b,long bits);
|
|
||||||
extern void oggpackB_writealign(oggpack_buffer *b);
|
|
||||||
extern void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits);
|
|
||||||
extern void oggpackB_reset(oggpack_buffer *b);
|
|
||||||
extern void oggpackB_writeclear(oggpack_buffer *b);
|
|
||||||
extern void oggpackB_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
|
|
||||||
extern void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits);
|
|
||||||
extern long oggpackB_look(oggpack_buffer *b,int bits);
|
|
||||||
extern long oggpackB_look1(oggpack_buffer *b);
|
|
||||||
extern void oggpackB_adv(oggpack_buffer *b,int bits);
|
|
||||||
extern void oggpackB_adv1(oggpack_buffer *b);
|
|
||||||
extern long oggpackB_read(oggpack_buffer *b,int bits);
|
|
||||||
extern long oggpackB_read1(oggpack_buffer *b);
|
|
||||||
extern long oggpackB_bytes(oggpack_buffer *b);
|
|
||||||
extern long oggpackB_bits(oggpack_buffer *b);
|
|
||||||
extern unsigned char *oggpackB_get_buffer(oggpack_buffer *b);
|
|
||||||
|
|
||||||
/* Ogg BITSTREAM PRIMITIVES: encoding **************************/
|
|
||||||
|
|
||||||
extern int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
|
|
||||||
extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
|
|
||||||
extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
|
|
||||||
|
|
||||||
/* Ogg BITSTREAM PRIMITIVES: decoding **************************/
|
|
||||||
|
|
||||||
extern int ogg_sync_init(ogg_sync_state *oy);
|
|
||||||
extern int ogg_sync_clear(ogg_sync_state *oy);
|
|
||||||
extern int ogg_sync_reset(ogg_sync_state *oy);
|
|
||||||
extern int ogg_sync_destroy(ogg_sync_state *oy);
|
|
||||||
|
|
||||||
extern char *ogg_sync_buffer(ogg_sync_state *oy, long size);
|
|
||||||
extern int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
|
|
||||||
extern long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og);
|
|
||||||
extern int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
|
|
||||||
extern int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og);
|
|
||||||
extern int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
|
|
||||||
extern int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);
|
|
||||||
|
|
||||||
/* Ogg BITSTREAM PRIMITIVES: general ***************************/
|
|
||||||
|
|
||||||
extern int ogg_stream_init(ogg_stream_state *os,int serialno);
|
|
||||||
extern int ogg_stream_clear(ogg_stream_state *os);
|
|
||||||
extern int ogg_stream_reset(ogg_stream_state *os);
|
|
||||||
extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno);
|
|
||||||
extern int ogg_stream_destroy(ogg_stream_state *os);
|
|
||||||
extern int ogg_stream_eos(ogg_stream_state *os);
|
|
||||||
|
|
||||||
extern void ogg_page_checksum_set(ogg_page *og);
|
|
||||||
|
|
||||||
extern int ogg_page_version(ogg_page *og);
|
|
||||||
extern int ogg_page_continued(ogg_page *og);
|
|
||||||
extern int ogg_page_bos(ogg_page *og);
|
|
||||||
extern int ogg_page_eos(ogg_page *og);
|
|
||||||
extern ogg_int64_t ogg_page_granulepos(ogg_page *og);
|
|
||||||
extern int ogg_page_serialno(ogg_page *og);
|
|
||||||
extern long ogg_page_pageno(ogg_page *og);
|
|
||||||
extern int ogg_page_packets(ogg_page *og);
|
|
||||||
|
|
||||||
extern void ogg_packet_clear(ogg_packet *op);
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _OGG_H */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,127 +0,0 @@
|
||||||
/********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
|
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
|
||||||
* *
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
function: #ifdef jail to whip a few platforms into the UNIX ideal.
|
|
||||||
last mod: $Id: os_types.h 7524 2004-08-11 04:20:36Z conrad $
|
|
||||||
|
|
||||||
********************************************************************/
|
|
||||||
#ifndef _OS_TYPES_H
|
|
||||||
#define _OS_TYPES_H
|
|
||||||
|
|
||||||
/* make it easy on the folks that want to compile the libs with a
|
|
||||||
different malloc than stdlib */
|
|
||||||
#define _ogg_malloc malloc
|
|
||||||
#define _ogg_calloc calloc
|
|
||||||
#define _ogg_realloc realloc
|
|
||||||
#define _ogg_free free
|
|
||||||
|
|
||||||
#if defined(_WIN32)
|
|
||||||
|
|
||||||
# if defined(__CYGWIN__)
|
|
||||||
# include <_G_config.h>
|
|
||||||
typedef _G_int64_t ogg_int64_t;
|
|
||||||
typedef _G_int32_t ogg_int32_t;
|
|
||||||
typedef _G_uint32_t ogg_uint32_t;
|
|
||||||
typedef _G_int16_t ogg_int16_t;
|
|
||||||
typedef _G_uint16_t ogg_uint16_t;
|
|
||||||
# elif defined(__MINGW32__)
|
|
||||||
typedef short ogg_int16_t;
|
|
||||||
typedef unsigned short ogg_uint16_t;
|
|
||||||
typedef int ogg_int32_t;
|
|
||||||
typedef unsigned int ogg_uint32_t;
|
|
||||||
typedef long long ogg_int64_t;
|
|
||||||
typedef unsigned long long ogg_uint64_t;
|
|
||||||
# elif defined(__MWERKS__)
|
|
||||||
typedef long long ogg_int64_t;
|
|
||||||
typedef int ogg_int32_t;
|
|
||||||
typedef unsigned int ogg_uint32_t;
|
|
||||||
typedef short ogg_int16_t;
|
|
||||||
typedef unsigned short ogg_uint16_t;
|
|
||||||
# else
|
|
||||||
/* MSVC/Borland */
|
|
||||||
typedef __int64 ogg_int64_t;
|
|
||||||
typedef __int32 ogg_int32_t;
|
|
||||||
typedef unsigned __int32 ogg_uint32_t;
|
|
||||||
typedef __int16 ogg_int16_t;
|
|
||||||
typedef unsigned __int16 ogg_uint16_t;
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#elif defined(__MACOS__)
|
|
||||||
|
|
||||||
# include <sys/types.h>
|
|
||||||
typedef SInt16 ogg_int16_t;
|
|
||||||
typedef UInt16 ogg_uint16_t;
|
|
||||||
typedef SInt32 ogg_int32_t;
|
|
||||||
typedef UInt32 ogg_uint32_t;
|
|
||||||
typedef SInt64 ogg_int64_t;
|
|
||||||
|
|
||||||
#elif defined(__MACOSX__) /* MacOS X Framework build */
|
|
||||||
|
|
||||||
# include <sys/types.h>
|
|
||||||
typedef int16_t ogg_int16_t;
|
|
||||||
typedef u_int16_t ogg_uint16_t;
|
|
||||||
typedef int32_t ogg_int32_t;
|
|
||||||
typedef u_int32_t ogg_uint32_t;
|
|
||||||
typedef int64_t ogg_int64_t;
|
|
||||||
|
|
||||||
#elif defined(__BEOS__)
|
|
||||||
|
|
||||||
/* Be */
|
|
||||||
# include <inttypes.h>
|
|
||||||
typedef int16_t ogg_int16_t;
|
|
||||||
typedef u_int16_t ogg_uint16_t;
|
|
||||||
typedef int32_t ogg_int32_t;
|
|
||||||
typedef u_int32_t ogg_uint32_t;
|
|
||||||
typedef int64_t ogg_int64_t;
|
|
||||||
|
|
||||||
#elif defined (__EMX__)
|
|
||||||
|
|
||||||
/* OS/2 GCC */
|
|
||||||
typedef short ogg_int16_t;
|
|
||||||
typedef unsigned short ogg_uint16_t;
|
|
||||||
typedef int ogg_int32_t;
|
|
||||||
typedef unsigned int ogg_uint32_t;
|
|
||||||
typedef long long ogg_int64_t;
|
|
||||||
|
|
||||||
#elif defined (DJGPP)
|
|
||||||
|
|
||||||
/* DJGPP */
|
|
||||||
typedef short ogg_int16_t;
|
|
||||||
typedef int ogg_int32_t;
|
|
||||||
typedef unsigned int ogg_uint32_t;
|
|
||||||
typedef long long ogg_int64_t;
|
|
||||||
|
|
||||||
#elif defined(R5900)
|
|
||||||
|
|
||||||
/* PS2 EE */
|
|
||||||
typedef long ogg_int64_t;
|
|
||||||
typedef int ogg_int32_t;
|
|
||||||
typedef unsigned ogg_uint32_t;
|
|
||||||
typedef short ogg_int16_t;
|
|
||||||
|
|
||||||
#elif defined(__SYMBIAN32__)
|
|
||||||
|
|
||||||
/* Symbian GCC */
|
|
||||||
typedef signed short ogg_int16_t;
|
|
||||||
typedef unsigned short ogg_uint16_t;
|
|
||||||
typedef signed int ogg_int32_t;
|
|
||||||
typedef unsigned int ogg_uint32_t;
|
|
||||||
typedef long long int ogg_int64_t;
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
# include <sys/types.h>
|
|
||||||
# include <ogg/config_types.h>
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _OS_TYPES_H */
|
|
|
@ -1,241 +0,0 @@
|
||||||
/********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
|
||||||
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
function: libvorbis codec headers
|
|
||||||
last mod: $Id: codec.h 13293 2007-07-24 00:09:47Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
|
||||||
|
|
||||||
#ifndef _vorbis_codec_h_
|
|
||||||
#define _vorbis_codec_h_
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#include <ogg/ogg.h>
|
|
||||||
|
|
||||||
typedef struct vorbis_info{
|
|
||||||
int version;
|
|
||||||
int channels;
|
|
||||||
long rate;
|
|
||||||
|
|
||||||
/* The below bitrate declarations are *hints*.
|
|
||||||
Combinations of the three values carry the following implications:
|
|
||||||
|
|
||||||
all three set to the same value:
|
|
||||||
implies a fixed rate bitstream
|
|
||||||
only nominal set:
|
|
||||||
implies a VBR stream that averages the nominal bitrate. No hard
|
|
||||||
upper/lower limit
|
|
||||||
upper and or lower set:
|
|
||||||
implies a VBR bitstream that obeys the bitrate limits. nominal
|
|
||||||
may also be set to give a nominal rate.
|
|
||||||
none set:
|
|
||||||
the coder does not care to speculate.
|
|
||||||
*/
|
|
||||||
|
|
||||||
long bitrate_upper;
|
|
||||||
long bitrate_nominal;
|
|
||||||
long bitrate_lower;
|
|
||||||
long bitrate_window;
|
|
||||||
|
|
||||||
void *codec_setup;
|
|
||||||
} vorbis_info;
|
|
||||||
|
|
||||||
/* vorbis_dsp_state buffers the current vorbis audio
|
|
||||||
analysis/synthesis state. The DSP state belongs to a specific
|
|
||||||
logical bitstream ****************************************************/
|
|
||||||
typedef struct vorbis_dsp_state{
|
|
||||||
int analysisp;
|
|
||||||
vorbis_info *vi;
|
|
||||||
|
|
||||||
float **pcm;
|
|
||||||
float **pcmret;
|
|
||||||
int pcm_storage;
|
|
||||||
int pcm_current;
|
|
||||||
int pcm_returned;
|
|
||||||
|
|
||||||
int preextrapolate;
|
|
||||||
int eofflag;
|
|
||||||
|
|
||||||
long lW;
|
|
||||||
long W;
|
|
||||||
long nW;
|
|
||||||
long centerW;
|
|
||||||
|
|
||||||
ogg_int64_t granulepos;
|
|
||||||
ogg_int64_t sequence;
|
|
||||||
|
|
||||||
ogg_int64_t glue_bits;
|
|
||||||
ogg_int64_t time_bits;
|
|
||||||
ogg_int64_t floor_bits;
|
|
||||||
ogg_int64_t res_bits;
|
|
||||||
|
|
||||||
void *backend_state;
|
|
||||||
} vorbis_dsp_state;
|
|
||||||
|
|
||||||
typedef struct vorbis_block{
|
|
||||||
/* necessary stream state for linking to the framing abstraction */
|
|
||||||
float **pcm; /* this is a pointer into local storage */
|
|
||||||
oggpack_buffer opb;
|
|
||||||
|
|
||||||
long lW;
|
|
||||||
long W;
|
|
||||||
long nW;
|
|
||||||
int pcmend;
|
|
||||||
int mode;
|
|
||||||
|
|
||||||
int eofflag;
|
|
||||||
ogg_int64_t granulepos;
|
|
||||||
ogg_int64_t sequence;
|
|
||||||
vorbis_dsp_state *vd; /* For read-only access of configuration */
|
|
||||||
|
|
||||||
/* local storage to avoid remallocing; it's up to the mapping to
|
|
||||||
structure it */
|
|
||||||
void *localstore;
|
|
||||||
long localtop;
|
|
||||||
long localalloc;
|
|
||||||
long totaluse;
|
|
||||||
struct alloc_chain *reap;
|
|
||||||
|
|
||||||
/* bitmetrics for the frame */
|
|
||||||
long glue_bits;
|
|
||||||
long time_bits;
|
|
||||||
long floor_bits;
|
|
||||||
long res_bits;
|
|
||||||
|
|
||||||
void *internal;
|
|
||||||
|
|
||||||
} vorbis_block;
|
|
||||||
|
|
||||||
/* vorbis_block is a single block of data to be processed as part of
|
|
||||||
the analysis/synthesis stream; it belongs to a specific logical
|
|
||||||
bitstream, but is independant from other vorbis_blocks belonging to
|
|
||||||
that logical bitstream. *************************************************/
|
|
||||||
|
|
||||||
struct alloc_chain{
|
|
||||||
void *ptr;
|
|
||||||
struct alloc_chain *next;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* vorbis_info contains all the setup information specific to the
|
|
||||||
specific compression/decompression mode in progress (eg,
|
|
||||||
psychoacoustic settings, channel setup, options, codebook
|
|
||||||
etc). vorbis_info and substructures are in backends.h.
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
/* the comments are not part of vorbis_info so that vorbis_info can be
|
|
||||||
static storage */
|
|
||||||
typedef struct vorbis_comment{
|
|
||||||
/* unlimited user comment fields. libvorbis writes 'libvorbis'
|
|
||||||
whatever vendor is set to in encode */
|
|
||||||
char **user_comments;
|
|
||||||
int *comment_lengths;
|
|
||||||
int comments;
|
|
||||||
char *vendor;
|
|
||||||
|
|
||||||
} vorbis_comment;
|
|
||||||
|
|
||||||
|
|
||||||
/* libvorbis encodes in two abstraction layers; first we perform DSP
|
|
||||||
and produce a packet (see docs/analysis.txt). The packet is then
|
|
||||||
coded into a framed OggSquish bitstream by the second layer (see
|
|
||||||
docs/framing.txt). Decode is the reverse process; we sync/frame
|
|
||||||
the bitstream and extract individual packets, then decode the
|
|
||||||
packet back into PCM audio.
|
|
||||||
|
|
||||||
The extra framing/packetizing is used in streaming formats, such as
|
|
||||||
files. Over the net (such as with UDP), the framing and
|
|
||||||
packetization aren't necessary as they're provided by the transport
|
|
||||||
and the streaming layer is not used */
|
|
||||||
|
|
||||||
/* Vorbis PRIMITIVES: general ***************************************/
|
|
||||||
|
|
||||||
extern void vorbis_info_init(vorbis_info *vi);
|
|
||||||
extern void vorbis_info_clear(vorbis_info *vi);
|
|
||||||
extern int vorbis_info_blocksize(vorbis_info *vi,int zo);
|
|
||||||
extern void vorbis_comment_init(vorbis_comment *vc);
|
|
||||||
extern void vorbis_comment_add(vorbis_comment *vc, char *comment);
|
|
||||||
extern void vorbis_comment_add_tag(vorbis_comment *vc,
|
|
||||||
char *tag, char *contents);
|
|
||||||
extern char *vorbis_comment_query(vorbis_comment *vc, char *tag, int count);
|
|
||||||
extern int vorbis_comment_query_count(vorbis_comment *vc, char *tag);
|
|
||||||
extern void vorbis_comment_clear(vorbis_comment *vc);
|
|
||||||
|
|
||||||
extern int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb);
|
|
||||||
extern int vorbis_block_clear(vorbis_block *vb);
|
|
||||||
extern void vorbis_dsp_clear(vorbis_dsp_state *v);
|
|
||||||
extern double vorbis_granule_time(vorbis_dsp_state *v,
|
|
||||||
ogg_int64_t granulepos);
|
|
||||||
|
|
||||||
/* Vorbis PRIMITIVES: analysis/DSP layer ****************************/
|
|
||||||
|
|
||||||
extern int vorbis_analysis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
|
||||||
extern int vorbis_commentheader_out(vorbis_comment *vc, ogg_packet *op);
|
|
||||||
extern int vorbis_analysis_headerout(vorbis_dsp_state *v,
|
|
||||||
vorbis_comment *vc,
|
|
||||||
ogg_packet *op,
|
|
||||||
ogg_packet *op_comm,
|
|
||||||
ogg_packet *op_code);
|
|
||||||
extern float **vorbis_analysis_buffer(vorbis_dsp_state *v,int vals);
|
|
||||||
extern int vorbis_analysis_wrote(vorbis_dsp_state *v,int vals);
|
|
||||||
extern int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb);
|
|
||||||
extern int vorbis_analysis(vorbis_block *vb,ogg_packet *op);
|
|
||||||
|
|
||||||
extern int vorbis_bitrate_addblock(vorbis_block *vb);
|
|
||||||
extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,
|
|
||||||
ogg_packet *op);
|
|
||||||
|
|
||||||
/* Vorbis PRIMITIVES: synthesis layer *******************************/
|
|
||||||
extern int vorbis_synthesis_idheader(ogg_packet *op);
|
|
||||||
extern int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,
|
|
||||||
ogg_packet *op);
|
|
||||||
|
|
||||||
extern int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
|
||||||
extern int vorbis_synthesis_restart(vorbis_dsp_state *v);
|
|
||||||
extern int vorbis_synthesis(vorbis_block *vb,ogg_packet *op);
|
|
||||||
extern int vorbis_synthesis_trackonly(vorbis_block *vb,ogg_packet *op);
|
|
||||||
extern int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb);
|
|
||||||
extern int vorbis_synthesis_pcmout(vorbis_dsp_state *v,float ***pcm);
|
|
||||||
extern int vorbis_synthesis_lapout(vorbis_dsp_state *v,float ***pcm);
|
|
||||||
extern int vorbis_synthesis_read(vorbis_dsp_state *v,int samples);
|
|
||||||
extern long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op);
|
|
||||||
|
|
||||||
extern int vorbis_synthesis_halfrate(vorbis_info *v,int flag);
|
|
||||||
extern int vorbis_synthesis_halfrate_p(vorbis_info *v);
|
|
||||||
|
|
||||||
/* Vorbis ERRORS and return codes ***********************************/
|
|
||||||
|
|
||||||
#define OV_FALSE -1
|
|
||||||
#define OV_EOF -2
|
|
||||||
#define OV_HOLE -3
|
|
||||||
|
|
||||||
#define OV_EREAD -128
|
|
||||||
#define OV_EFAULT -129
|
|
||||||
#define OV_EIMPL -130
|
|
||||||
#define OV_EINVAL -131
|
|
||||||
#define OV_ENOTVORBIS -132
|
|
||||||
#define OV_EBADHEADER -133
|
|
||||||
#define OV_EVERSION -134
|
|
||||||
#define OV_ENOTAUDIO -135
|
|
||||||
#define OV_EBADPACKET -136
|
|
||||||
#define OV_EBADLINK -137
|
|
||||||
#define OV_ENOSEEK -138
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,112 +0,0 @@
|
||||||
/********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
|
||||||
* *
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
function: vorbis encode-engine setup
|
|
||||||
last mod: $Id: vorbisenc.h 13293 2007-07-24 00:09:47Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
|
||||||
|
|
||||||
#ifndef _OV_ENC_H_
|
|
||||||
#define _OV_ENC_H_
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#include "codec.h"
|
|
||||||
|
|
||||||
extern int vorbis_encode_init(vorbis_info *vi,
|
|
||||||
long channels,
|
|
||||||
long rate,
|
|
||||||
|
|
||||||
long max_bitrate,
|
|
||||||
long nominal_bitrate,
|
|
||||||
long min_bitrate);
|
|
||||||
|
|
||||||
extern int vorbis_encode_setup_managed(vorbis_info *vi,
|
|
||||||
long channels,
|
|
||||||
long rate,
|
|
||||||
|
|
||||||
long max_bitrate,
|
|
||||||
long nominal_bitrate,
|
|
||||||
long min_bitrate);
|
|
||||||
|
|
||||||
extern int vorbis_encode_setup_vbr(vorbis_info *vi,
|
|
||||||
long channels,
|
|
||||||
long rate,
|
|
||||||
|
|
||||||
float quality /* quality level from 0. (lo) to 1. (hi) */
|
|
||||||
);
|
|
||||||
|
|
||||||
extern int vorbis_encode_init_vbr(vorbis_info *vi,
|
|
||||||
long channels,
|
|
||||||
long rate,
|
|
||||||
|
|
||||||
float base_quality /* quality level from 0. (lo) to 1. (hi) */
|
|
||||||
);
|
|
||||||
|
|
||||||
extern int vorbis_encode_setup_init(vorbis_info *vi);
|
|
||||||
|
|
||||||
extern int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg);
|
|
||||||
|
|
||||||
/* deprecated rate management supported only for compatability */
|
|
||||||
#define OV_ECTL_RATEMANAGE_GET 0x10
|
|
||||||
#define OV_ECTL_RATEMANAGE_SET 0x11
|
|
||||||
#define OV_ECTL_RATEMANAGE_AVG 0x12
|
|
||||||
#define OV_ECTL_RATEMANAGE_HARD 0x13
|
|
||||||
|
|
||||||
struct ovectl_ratemanage_arg {
|
|
||||||
int management_active;
|
|
||||||
|
|
||||||
long bitrate_hard_min;
|
|
||||||
long bitrate_hard_max;
|
|
||||||
double bitrate_hard_window;
|
|
||||||
|
|
||||||
long bitrate_av_lo;
|
|
||||||
long bitrate_av_hi;
|
|
||||||
double bitrate_av_window;
|
|
||||||
double bitrate_av_window_center;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* new rate setup */
|
|
||||||
#define OV_ECTL_RATEMANAGE2_GET 0x14
|
|
||||||
#define OV_ECTL_RATEMANAGE2_SET 0x15
|
|
||||||
|
|
||||||
struct ovectl_ratemanage2_arg {
|
|
||||||
int management_active;
|
|
||||||
|
|
||||||
long bitrate_limit_min_kbps;
|
|
||||||
long bitrate_limit_max_kbps;
|
|
||||||
long bitrate_limit_reservoir_bits;
|
|
||||||
double bitrate_limit_reservoir_bias;
|
|
||||||
|
|
||||||
long bitrate_average_kbps;
|
|
||||||
double bitrate_average_damping;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define OV_ECTL_LOWPASS_GET 0x20
|
|
||||||
#define OV_ECTL_LOWPASS_SET 0x21
|
|
||||||
|
|
||||||
#define OV_ECTL_IBLOCK_GET 0x30
|
|
||||||
#define OV_ECTL_IBLOCK_SET 0x31
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
|
@ -1,183 +0,0 @@
|
||||||
/********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
|
||||||
* *
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
function: stdio-based convenience library for opening/seeking/decoding
|
|
||||||
last mod: $Id: vorbisfile.h 13293 2007-07-24 00:09:47Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
|
||||||
|
|
||||||
#ifndef _OV_FILE_H_
|
|
||||||
#define _OV_FILE_H_
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "codec.h"
|
|
||||||
|
|
||||||
/* The function prototypes for the callbacks are basically the same as for
|
|
||||||
* the stdio functions fread, fseek, fclose, ftell.
|
|
||||||
* The one difference is that the FILE * arguments have been replaced with
|
|
||||||
* a void * - this is to be used as a pointer to whatever internal data these
|
|
||||||
* functions might need. In the stdio case, it's just a FILE * cast to a void *
|
|
||||||
*
|
|
||||||
* If you use other functions, check the docs for these functions and return
|
|
||||||
* the right values. For seek_func(), you *MUST* return -1 if the stream is
|
|
||||||
* unseekable
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
size_t (*read_func) (void *ptr, size_t size, size_t nmemb, void *datasource);
|
|
||||||
int (*seek_func) (void *datasource, ogg_int64_t offset, int whence);
|
|
||||||
int (*close_func) (void *datasource);
|
|
||||||
long (*tell_func) (void *datasource);
|
|
||||||
} ov_callbacks;
|
|
||||||
|
|
||||||
/* a few sets of convenient callbacks, especially for use under
|
|
||||||
* Windows where ov_open_callbacks() should always be used instead of
|
|
||||||
* ov_open() to avoid problems with incompatable crt.o version linking
|
|
||||||
* issues. */
|
|
||||||
|
|
||||||
static int _ov_header_fseek_wrap(FILE *f,ogg_int64_t off,int whence){
|
|
||||||
if(f==NULL)return(-1);
|
|
||||||
return fseek(f,off,whence);
|
|
||||||
}
|
|
||||||
|
|
||||||
static ov_callbacks OV_CALLBACKS_DEFAULT = {
|
|
||||||
(size_t (*)(void *, size_t, size_t, void *)) fread,
|
|
||||||
(int (*)(void *, ogg_int64_t, int)) _ov_header_fseek_wrap,
|
|
||||||
(int (*)(void *)) fclose,
|
|
||||||
(long (*)(void *)) ftell
|
|
||||||
};
|
|
||||||
|
|
||||||
static ov_callbacks OV_CALLBACKS_NOCLOSE = {
|
|
||||||
(size_t (*)(void *, size_t, size_t, void *)) fread,
|
|
||||||
(int (*)(void *, ogg_int64_t, int)) _ov_header_fseek_wrap,
|
|
||||||
(int (*)(void *)) NULL,
|
|
||||||
(long (*)(void *)) ftell
|
|
||||||
};
|
|
||||||
|
|
||||||
static ov_callbacks OV_CALLBACKS_STREAMONLY = {
|
|
||||||
(size_t (*)(void *, size_t, size_t, void *)) fread,
|
|
||||||
(int (*)(void *, ogg_int64_t, int)) NULL,
|
|
||||||
(int (*)(void *)) fclose,
|
|
||||||
(long (*)(void *)) NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
static ov_callbacks OV_CALLBACKS_STREAMONLY_NOCLOSE = {
|
|
||||||
(size_t (*)(void *, size_t, size_t, void *)) fread,
|
|
||||||
(int (*)(void *, ogg_int64_t, int)) NULL,
|
|
||||||
(int (*)(void *)) NULL,
|
|
||||||
(long (*)(void *)) NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
#define NOTOPEN 0
|
|
||||||
#define PARTOPEN 1
|
|
||||||
#define OPENED 2
|
|
||||||
#define STREAMSET 3
|
|
||||||
#define INITSET 4
|
|
||||||
|
|
||||||
typedef struct OggVorbis_File {
|
|
||||||
void *datasource; /* Pointer to a FILE *, etc. */
|
|
||||||
int seekable;
|
|
||||||
ogg_int64_t offset;
|
|
||||||
ogg_int64_t end;
|
|
||||||
ogg_sync_state oy;
|
|
||||||
|
|
||||||
/* If the FILE handle isn't seekable (eg, a pipe), only the current
|
|
||||||
stream appears */
|
|
||||||
int links;
|
|
||||||
ogg_int64_t *offsets;
|
|
||||||
ogg_int64_t *dataoffsets;
|
|
||||||
long *serialnos;
|
|
||||||
ogg_int64_t *pcmlengths; /* overloaded to maintain binary
|
|
||||||
compatability; x2 size, stores both
|
|
||||||
beginning and end values */
|
|
||||||
vorbis_info *vi;
|
|
||||||
vorbis_comment *vc;
|
|
||||||
|
|
||||||
/* Decoding working state local storage */
|
|
||||||
ogg_int64_t pcm_offset;
|
|
||||||
int ready_state;
|
|
||||||
long current_serialno;
|
|
||||||
int current_link;
|
|
||||||
|
|
||||||
double bittrack;
|
|
||||||
double samptrack;
|
|
||||||
|
|
||||||
ogg_stream_state os; /* take physical pages, weld into a logical
|
|
||||||
stream of packets */
|
|
||||||
vorbis_dsp_state vd; /* central working state for the packet->PCM decoder */
|
|
||||||
vorbis_block vb; /* local working space for packet->PCM decode */
|
|
||||||
|
|
||||||
ov_callbacks callbacks;
|
|
||||||
|
|
||||||
} OggVorbis_File;
|
|
||||||
|
|
||||||
|
|
||||||
extern int ov_clear(OggVorbis_File *vf);
|
|
||||||
extern int ov_fopen(char *path,OggVorbis_File *vf);
|
|
||||||
extern int ov_open(FILE *f,OggVorbis_File *vf,char *initial,long ibytes);
|
|
||||||
extern int ov_open_callbacks(void *datasource, OggVorbis_File *vf,
|
|
||||||
char *initial, long ibytes, ov_callbacks callbacks);
|
|
||||||
|
|
||||||
extern int ov_test(FILE *f,OggVorbis_File *vf,char *initial,long ibytes);
|
|
||||||
extern int ov_test_callbacks(void *datasource, OggVorbis_File *vf,
|
|
||||||
char *initial, long ibytes, ov_callbacks callbacks);
|
|
||||||
extern int ov_test_open(OggVorbis_File *vf);
|
|
||||||
|
|
||||||
extern long ov_bitrate(OggVorbis_File *vf,int i);
|
|
||||||
extern long ov_bitrate_instant(OggVorbis_File *vf);
|
|
||||||
extern long ov_streams(OggVorbis_File *vf);
|
|
||||||
extern long ov_seekable(OggVorbis_File *vf);
|
|
||||||
extern long ov_serialnumber(OggVorbis_File *vf,int i);
|
|
||||||
|
|
||||||
extern ogg_int64_t ov_raw_total(OggVorbis_File *vf,int i);
|
|
||||||
extern ogg_int64_t ov_pcm_total(OggVorbis_File *vf,int i);
|
|
||||||
extern double ov_time_total(OggVorbis_File *vf,int i);
|
|
||||||
|
|
||||||
extern int ov_raw_seek(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_pcm_seek(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_time_seek(OggVorbis_File *vf,double pos);
|
|
||||||
extern int ov_time_seek_page(OggVorbis_File *vf,double pos);
|
|
||||||
|
|
||||||
extern int ov_raw_seek_lap(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_pcm_seek_lap(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_pcm_seek_page_lap(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_time_seek_lap(OggVorbis_File *vf,double pos);
|
|
||||||
extern int ov_time_seek_page_lap(OggVorbis_File *vf,double pos);
|
|
||||||
|
|
||||||
extern ogg_int64_t ov_raw_tell(OggVorbis_File *vf);
|
|
||||||
extern ogg_int64_t ov_pcm_tell(OggVorbis_File *vf);
|
|
||||||
extern double ov_time_tell(OggVorbis_File *vf);
|
|
||||||
|
|
||||||
extern vorbis_info *ov_info(OggVorbis_File *vf,int link);
|
|
||||||
extern vorbis_comment *ov_comment(OggVorbis_File *vf,int link);
|
|
||||||
|
|
||||||
extern long ov_read_float(OggVorbis_File *vf,float ***pcm_channels,int samples,
|
|
||||||
int *bitstream);
|
|
||||||
extern long ov_read(OggVorbis_File *vf,char *buffer,int length,
|
|
||||||
int bigendianp,int word,int sgned,int *bitstream);
|
|
||||||
extern int ov_crosslap(OggVorbis_File *vf1,OggVorbis_File *vf2);
|
|
||||||
|
|
||||||
extern int ov_halfrate(OggVorbis_File *vf,int flag);
|
|
||||||
extern int ov_halfrate_p(OggVorbis_File *vf);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -199,6 +199,7 @@ endif
|
||||||
|
|
||||||
ifeq ($(PLATFORM),DARWIN)
|
ifeq ($(PLATFORM),DARWIN)
|
||||||
OURCOMMONFLAGS += -fno-pic
|
OURCOMMONFLAGS += -fno-pic
|
||||||
|
LIBDIRS += -L$(abspath $(JAUDIOLIBDIR)/third-party/Apple/lib)
|
||||||
|
|
||||||
ifneq ($(findstring x86_64,$(ARCH)),x86_64)
|
ifneq ($(findstring x86_64,$(ARCH)),x86_64)
|
||||||
ifeq (,$(ARCH))
|
ifeq (,$(ARCH))
|
||||||
|
@ -234,8 +235,7 @@ ifeq ($(PLATFORM),DARWIN)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (0,$(OSX_STARTUPWINDOW))
|
ifneq (0,$(OSX_STARTUPWINDOW))
|
||||||
# EDITOROBJS+=$(OBJ)/GrpFile.game.$o $(OBJ)/GameListSource.game.$o $(OBJ)/StartupWinController.game.$o
|
GAMEOBJS+=$(OBJ)/GrpFile.game.$o $(OBJ)/GameListSource.game.$o $(OBJ)/startosx.game.$o
|
||||||
GAMEOBJS+=$(OBJ)/GrpFile.game.$o $(OBJ)/GameListSource.game.$o $(OBJ)/StartupWinController.game.$o
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OURASFLAGS += -f macho
|
OURASFLAGS += -f macho
|
||||||
|
@ -245,7 +245,7 @@ ifeq ($(PLATFORM),WINDOWS)
|
||||||
OURCOMMONFLAGS += -fno-pic -DUNDERSCORES
|
OURCOMMONFLAGS += -fno-pic -DUNDERSCORES
|
||||||
OURASFLAGS+= -DUNDERSCORES -f win32
|
OURASFLAGS+= -DUNDERSCORES -f win32
|
||||||
LIBS += -lvorbisfile -lvorbis -logg
|
LIBS += -lvorbisfile -lvorbis -logg
|
||||||
LIBDIRS += -L$(abspath $(JAUDIOLIBDIR)/third-party/mingw32/lib$(WINLIB))
|
LIBDIRS += -L$(abspath $(JAUDIOLIBDIR)/third-party/Windows/lib$(WINLIB))
|
||||||
GAMEOBJS+= $(OBJ)/gameres.$o $(OBJ)/winbits.$o $(OBJ)/startwin.game.$o
|
GAMEOBJS+= $(OBJ)/gameres.$o $(OBJ)/winbits.$o $(OBJ)/startwin.game.$o
|
||||||
EDITOROBJS+= $(OBJ)/buildres.$o
|
EDITOROBJS+= $(OBJ)/buildres.$o
|
||||||
JAUDIOLIB=libjfaudiolib_win32.a
|
JAUDIOLIB=libjfaudiolib_win32.a
|
||||||
|
@ -471,6 +471,10 @@ $(OBJ)/%.$o: Apple/%.m
|
||||||
$(COMPILE_STATUS)
|
$(COMPILE_STATUS)
|
||||||
if $(COMPILER) $(OURCFLAGS) -c $< -o $@; then $(COMPILE_OK); else $(COMPILE_FAILED); fi
|
if $(COMPILER) $(OURCFLAGS) -c $< -o $@; then $(COMPILE_OK); else $(COMPILE_FAILED); fi
|
||||||
|
|
||||||
|
$(OBJ)/%.$o: $(SRC)/%.m
|
||||||
|
$(COMPILE_STATUS)
|
||||||
|
if $(COMPILER) $(OURCFLAGS) -c $< -o $@; then $(COMPILE_OK); else $(COMPILE_FAILED); fi
|
||||||
|
|
||||||
$(OBJ)/%.$o: $(SRC)/%.cc
|
$(OBJ)/%.$o: $(SRC)/%.cc
|
||||||
$(COMPILE_STATUS)
|
$(COMPILE_STATUS)
|
||||||
if $(CXX) $(OURCXXFLAGS) $(OURCFLAGS) -c $< -o $@; then $(COMPILE_OK); else $(COMPILE_FAILED); fi
|
if $(CXX) $(OURCXXFLAGS) $(OURCFLAGS) -c $< -o $@; then $(COMPILE_OK); else $(COMPILE_FAILED); fi
|
||||||
|
|
|
@ -226,6 +226,9 @@ ifeq ($(PLATFORM),DARWIN)
|
||||||
BASECOMMONFLAGS += $(F_NO_STACK_PROTECTOR)
|
BASECOMMONFLAGS += $(F_NO_STACK_PROTECTOR)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
ifneq (0,$(OSX_STARTUPWINDOW))
|
||||||
|
BASECOMMONFLAGS+= -DOSX_STARTUPWINDOW
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifndef OPTOPT
|
ifndef OPTOPT
|
||||||
|
@ -449,9 +452,6 @@ endif
|
||||||
ifneq (0,$(USE_LIBVPX))
|
ifneq (0,$(USE_LIBVPX))
|
||||||
BASECOMMONFLAGS+= -DUSE_LIBVPX
|
BASECOMMONFLAGS+= -DUSE_LIBVPX
|
||||||
endif
|
endif
|
||||||
ifneq (0,$(OSX_STARTUPWINDOW))
|
|
||||||
BASECOMMONFLAGS+= -DOSX_STARTUPWINDOW
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq (0,$(EFENCE))
|
ifneq (0,$(EFENCE))
|
||||||
BASELIBS+= -lefence
|
BASELIBS+= -lefence
|
||||||
|
|
|
@ -100,7 +100,7 @@ endif
|
||||||
ifeq ($(PLATFORM),DARWIN)
|
ifeq ($(PLATFORM),DARWIN)
|
||||||
ENGINEOBJS += $(OBJ)/osxbits.$o
|
ENGINEOBJS += $(OBJ)/osxbits.$o
|
||||||
ifneq (0,$(OSX_STARTUPWINDOW))
|
ifneq (0,$(OSX_STARTUPWINDOW))
|
||||||
ENGINEOBJS += $(OBJ)/StartupWinController.editor.$o
|
ENGINEOBJS += $(OBJ)/startosx.editor.$o
|
||||||
endif
|
endif
|
||||||
OURASFLAGS += -f macho -DUNDERSCORES
|
OURASFLAGS += -f macho -DUNDERSCORES
|
||||||
OURCOMMONFLAGS += -fno-pic -DUNDERSCORES
|
OURCOMMONFLAGS += -fno-pic -DUNDERSCORES
|
||||||
|
|
|
@ -4028,7 +4028,7 @@ int32_t A_InsertSprite(int32_t whatsect,int32_t s_x,int32_t s_y,int32_t s_z,int3
|
||||||
{
|
{
|
||||||
G_DumpDebugInfo();
|
G_DumpDebugInfo();
|
||||||
OSD_Printf_nowarn("Failed spawning pic %d spr from pic %d spr %d at x:%d,y:%d,z:%d,sect:%d\n",
|
OSD_Printf_nowarn("Failed spawning pic %d spr from pic %d spr %d at x:%d,y:%d,z:%d,sect:%d\n",
|
||||||
s_pn,TrackerCast(s_ow < 0 ? -1 : sprite[s_ow].picnum),s_ow,s_x,s_y,s_z,whatsect);
|
s_pn,s_ow < 0 ? -1 : TrackerCast(sprite[s_ow].picnum),s_ow,s_x,s_y,s_z,whatsect);
|
||||||
G_GameExit("Too many sprites spawned.");
|
G_GameExit("Too many sprites spawned.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,13 +45,17 @@ OBJECTS=$(OBJ)/drivers.o \
|
||||||
$(OBJ)/vorbis.o \
|
$(OBJ)/vorbis.o \
|
||||||
$(OBJ)/driver_nosound.o
|
$(OBJ)/driver_nosound.o
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),DARWIN)
|
||||||
|
OURCOMMONFLAGS+= -Ithird-party/common/include
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(PLATFORM),WINDOWS)
|
ifeq ($(PLATFORM),WINDOWS)
|
||||||
ifeq ($(RENDERTYPE),WIN)
|
ifeq ($(RENDERTYPE),WIN)
|
||||||
OURCOMMONFLAGS+= -DHAVE_DS -I$(DXROOT) -I$(DXROOT)/include
|
OURCOMMONFLAGS+= -DHAVE_DS -I$(DXROOT) -I$(DXROOT)/include
|
||||||
OBJECTS+= $(OBJ)/driver_directsound.o
|
OBJECTS+= $(OBJ)/driver_directsound.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OURCOMMONFLAGS+= -Ithird-party/mingw32/include
|
OURCOMMONFLAGS+= -Ithird-party/common/include
|
||||||
OBJNAME=libjfaudiolib_win32.a
|
OBJNAME=libjfaudiolib_win32.a
|
||||||
OBJ=obj_win
|
OBJ=obj_win
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
OS X frameworks compiled from the sources contained in the Max audio ripper
|
|
||||||
application by Stephen Booth.
|
|
||||||
|
|
||||||
http://svn.sbooth.org/max/trunk/Frameworks/ogg/
|
|
||||||
http://svn.sbooth.org/max/trunk/Frameworks/vorbis/
|
|
||||||
http://sbooth.org/Max/
|
|
||||||
|
|
||||||
|
|
||||||
MinGW binaries compiled from vanilla Xiph.org libogg-1.3.0 and libvorbis-1.3.3
|
|
||||||
on MinGW GCC 4.7
|
|
||||||
|
|
||||||
http://xiph.org/downloads/
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Versions/Current/Headers
|
|
|
@ -1 +0,0 @@
|
||||||
Versions/Current/Resources
|
|
|
@ -1,202 +0,0 @@
|
||||||
/********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
|
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
|
||||||
* *
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
function: toplevel libogg include
|
|
||||||
last mod: $Id: ogg.h 7188 2004-07-20 07:26:04Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
|
||||||
#ifndef _OGG_H
|
|
||||||
#define _OGG_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <ogg/os_types.h>
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
long endbyte;
|
|
||||||
int endbit;
|
|
||||||
|
|
||||||
unsigned char *buffer;
|
|
||||||
unsigned char *ptr;
|
|
||||||
long storage;
|
|
||||||
} oggpack_buffer;
|
|
||||||
|
|
||||||
/* ogg_page is used to encapsulate the data in one Ogg bitstream page *****/
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned char *header;
|
|
||||||
long header_len;
|
|
||||||
unsigned char *body;
|
|
||||||
long body_len;
|
|
||||||
} ogg_page;
|
|
||||||
|
|
||||||
/* ogg_stream_state contains the current encode/decode state of a logical
|
|
||||||
Ogg bitstream **********************************************************/
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned char *body_data; /* bytes from packet bodies */
|
|
||||||
long body_storage; /* storage elements allocated */
|
|
||||||
long body_fill; /* elements stored; fill mark */
|
|
||||||
long body_returned; /* elements of fill returned */
|
|
||||||
|
|
||||||
|
|
||||||
int *lacing_vals; /* The values that will go to the segment table */
|
|
||||||
ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact
|
|
||||||
this way, but it is simple coupled to the
|
|
||||||
lacing fifo */
|
|
||||||
long lacing_storage;
|
|
||||||
long lacing_fill;
|
|
||||||
long lacing_packet;
|
|
||||||
long lacing_returned;
|
|
||||||
|
|
||||||
unsigned char header[282]; /* working space for header encode */
|
|
||||||
int header_fill;
|
|
||||||
|
|
||||||
int e_o_s; /* set when we have buffered the last packet in the
|
|
||||||
logical bitstream */
|
|
||||||
int b_o_s; /* set after we've written the initial page
|
|
||||||
of a logical bitstream */
|
|
||||||
long serialno;
|
|
||||||
long pageno;
|
|
||||||
ogg_int64_t packetno; /* sequence number for decode; the framing
|
|
||||||
knows where there's a hole in the data,
|
|
||||||
but we need coupling so that the codec
|
|
||||||
(which is in a seperate abstraction
|
|
||||||
layer) also knows about the gap */
|
|
||||||
ogg_int64_t granulepos;
|
|
||||||
|
|
||||||
} ogg_stream_state;
|
|
||||||
|
|
||||||
/* ogg_packet is used to encapsulate the data and metadata belonging
|
|
||||||
to a single raw Ogg/Vorbis packet *************************************/
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned char *packet;
|
|
||||||
long bytes;
|
|
||||||
long b_o_s;
|
|
||||||
long e_o_s;
|
|
||||||
|
|
||||||
ogg_int64_t granulepos;
|
|
||||||
|
|
||||||
ogg_int64_t packetno; /* sequence number for decode; the framing
|
|
||||||
knows where there's a hole in the data,
|
|
||||||
but we need coupling so that the codec
|
|
||||||
(which is in a seperate abstraction
|
|
||||||
layer) also knows about the gap */
|
|
||||||
} ogg_packet;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
unsigned char *data;
|
|
||||||
int storage;
|
|
||||||
int fill;
|
|
||||||
int returned;
|
|
||||||
|
|
||||||
int unsynced;
|
|
||||||
int headerbytes;
|
|
||||||
int bodybytes;
|
|
||||||
} ogg_sync_state;
|
|
||||||
|
|
||||||
/* Ogg BITSTREAM PRIMITIVES: bitstream ************************/
|
|
||||||
|
|
||||||
extern void oggpack_writeinit(oggpack_buffer *b);
|
|
||||||
extern void oggpack_writetrunc(oggpack_buffer *b,long bits);
|
|
||||||
extern void oggpack_writealign(oggpack_buffer *b);
|
|
||||||
extern void oggpack_writecopy(oggpack_buffer *b,void *source,long bits);
|
|
||||||
extern void oggpack_reset(oggpack_buffer *b);
|
|
||||||
extern void oggpack_writeclear(oggpack_buffer *b);
|
|
||||||
extern void oggpack_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
|
|
||||||
extern void oggpack_write(oggpack_buffer *b,unsigned long value,int bits);
|
|
||||||
extern long oggpack_look(oggpack_buffer *b,int bits);
|
|
||||||
extern long oggpack_look1(oggpack_buffer *b);
|
|
||||||
extern void oggpack_adv(oggpack_buffer *b,int bits);
|
|
||||||
extern void oggpack_adv1(oggpack_buffer *b);
|
|
||||||
extern long oggpack_read(oggpack_buffer *b,int bits);
|
|
||||||
extern long oggpack_read1(oggpack_buffer *b);
|
|
||||||
extern long oggpack_bytes(oggpack_buffer *b);
|
|
||||||
extern long oggpack_bits(oggpack_buffer *b);
|
|
||||||
extern unsigned char *oggpack_get_buffer(oggpack_buffer *b);
|
|
||||||
|
|
||||||
extern void oggpackB_writeinit(oggpack_buffer *b);
|
|
||||||
extern void oggpackB_writetrunc(oggpack_buffer *b,long bits);
|
|
||||||
extern void oggpackB_writealign(oggpack_buffer *b);
|
|
||||||
extern void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits);
|
|
||||||
extern void oggpackB_reset(oggpack_buffer *b);
|
|
||||||
extern void oggpackB_writeclear(oggpack_buffer *b);
|
|
||||||
extern void oggpackB_readinit(oggpack_buffer *b,unsigned char *buf,int bytes);
|
|
||||||
extern void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits);
|
|
||||||
extern long oggpackB_look(oggpack_buffer *b,int bits);
|
|
||||||
extern long oggpackB_look1(oggpack_buffer *b);
|
|
||||||
extern void oggpackB_adv(oggpack_buffer *b,int bits);
|
|
||||||
extern void oggpackB_adv1(oggpack_buffer *b);
|
|
||||||
extern long oggpackB_read(oggpack_buffer *b,int bits);
|
|
||||||
extern long oggpackB_read1(oggpack_buffer *b);
|
|
||||||
extern long oggpackB_bytes(oggpack_buffer *b);
|
|
||||||
extern long oggpackB_bits(oggpack_buffer *b);
|
|
||||||
extern unsigned char *oggpackB_get_buffer(oggpack_buffer *b);
|
|
||||||
|
|
||||||
/* Ogg BITSTREAM PRIMITIVES: encoding **************************/
|
|
||||||
|
|
||||||
extern int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
|
|
||||||
extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
|
|
||||||
extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
|
|
||||||
|
|
||||||
/* Ogg BITSTREAM PRIMITIVES: decoding **************************/
|
|
||||||
|
|
||||||
extern int ogg_sync_init(ogg_sync_state *oy);
|
|
||||||
extern int ogg_sync_clear(ogg_sync_state *oy);
|
|
||||||
extern int ogg_sync_reset(ogg_sync_state *oy);
|
|
||||||
extern int ogg_sync_destroy(ogg_sync_state *oy);
|
|
||||||
|
|
||||||
extern char *ogg_sync_buffer(ogg_sync_state *oy, long size);
|
|
||||||
extern int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
|
|
||||||
extern long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og);
|
|
||||||
extern int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og);
|
|
||||||
extern int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og);
|
|
||||||
extern int ogg_stream_packetout(ogg_stream_state *os,ogg_packet *op);
|
|
||||||
extern int ogg_stream_packetpeek(ogg_stream_state *os,ogg_packet *op);
|
|
||||||
|
|
||||||
/* Ogg BITSTREAM PRIMITIVES: general ***************************/
|
|
||||||
|
|
||||||
extern int ogg_stream_init(ogg_stream_state *os,int serialno);
|
|
||||||
extern int ogg_stream_clear(ogg_stream_state *os);
|
|
||||||
extern int ogg_stream_reset(ogg_stream_state *os);
|
|
||||||
extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno);
|
|
||||||
extern int ogg_stream_destroy(ogg_stream_state *os);
|
|
||||||
extern int ogg_stream_eos(ogg_stream_state *os);
|
|
||||||
|
|
||||||
extern void ogg_page_checksum_set(ogg_page *og);
|
|
||||||
|
|
||||||
extern int ogg_page_version(ogg_page *og);
|
|
||||||
extern int ogg_page_continued(ogg_page *og);
|
|
||||||
extern int ogg_page_bos(ogg_page *og);
|
|
||||||
extern int ogg_page_eos(ogg_page *og);
|
|
||||||
extern ogg_int64_t ogg_page_granulepos(ogg_page *og);
|
|
||||||
extern int ogg_page_serialno(ogg_page *og);
|
|
||||||
extern long ogg_page_pageno(ogg_page *og);
|
|
||||||
extern int ogg_page_packets(ogg_page *og);
|
|
||||||
|
|
||||||
extern void ogg_packet_clear(ogg_packet *op);
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _OGG_H */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,127 +0,0 @@
|
||||||
/********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
|
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
|
||||||
* *
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
function: #ifdef jail to whip a few platforms into the UNIX ideal.
|
|
||||||
last mod: $Id: os_types.h 7524 2004-08-11 04:20:36Z conrad $
|
|
||||||
|
|
||||||
********************************************************************/
|
|
||||||
#ifndef _OS_TYPES_H
|
|
||||||
#define _OS_TYPES_H
|
|
||||||
|
|
||||||
/* make it easy on the folks that want to compile the libs with a
|
|
||||||
different malloc than stdlib */
|
|
||||||
#define _ogg_malloc malloc
|
|
||||||
#define _ogg_calloc calloc
|
|
||||||
#define _ogg_realloc realloc
|
|
||||||
#define _ogg_free free
|
|
||||||
|
|
||||||
#if defined(_WIN32)
|
|
||||||
|
|
||||||
# if defined(__CYGWIN__)
|
|
||||||
# include <_G_config.h>
|
|
||||||
typedef _G_int64_t ogg_int64_t;
|
|
||||||
typedef _G_int32_t ogg_int32_t;
|
|
||||||
typedef _G_uint32_t ogg_uint32_t;
|
|
||||||
typedef _G_int16_t ogg_int16_t;
|
|
||||||
typedef _G_uint16_t ogg_uint16_t;
|
|
||||||
# elif defined(__MINGW32__)
|
|
||||||
typedef short ogg_int16_t;
|
|
||||||
typedef unsigned short ogg_uint16_t;
|
|
||||||
typedef int ogg_int32_t;
|
|
||||||
typedef unsigned int ogg_uint32_t;
|
|
||||||
typedef long long ogg_int64_t;
|
|
||||||
typedef unsigned long long ogg_uint64_t;
|
|
||||||
# elif defined(__MWERKS__)
|
|
||||||
typedef long long ogg_int64_t;
|
|
||||||
typedef int ogg_int32_t;
|
|
||||||
typedef unsigned int ogg_uint32_t;
|
|
||||||
typedef short ogg_int16_t;
|
|
||||||
typedef unsigned short ogg_uint16_t;
|
|
||||||
# else
|
|
||||||
/* MSVC/Borland */
|
|
||||||
typedef __int64 ogg_int64_t;
|
|
||||||
typedef __int32 ogg_int32_t;
|
|
||||||
typedef unsigned __int32 ogg_uint32_t;
|
|
||||||
typedef __int16 ogg_int16_t;
|
|
||||||
typedef unsigned __int16 ogg_uint16_t;
|
|
||||||
# endif
|
|
||||||
|
|
||||||
#elif defined(__MACOS__)
|
|
||||||
|
|
||||||
# include <sys/types.h>
|
|
||||||
typedef SInt16 ogg_int16_t;
|
|
||||||
typedef UInt16 ogg_uint16_t;
|
|
||||||
typedef SInt32 ogg_int32_t;
|
|
||||||
typedef UInt32 ogg_uint32_t;
|
|
||||||
typedef SInt64 ogg_int64_t;
|
|
||||||
|
|
||||||
#elif defined(__MACOSX__) /* MacOS X Framework build */
|
|
||||||
|
|
||||||
# include <sys/types.h>
|
|
||||||
typedef int16_t ogg_int16_t;
|
|
||||||
typedef u_int16_t ogg_uint16_t;
|
|
||||||
typedef int32_t ogg_int32_t;
|
|
||||||
typedef u_int32_t ogg_uint32_t;
|
|
||||||
typedef int64_t ogg_int64_t;
|
|
||||||
|
|
||||||
#elif defined(__BEOS__)
|
|
||||||
|
|
||||||
/* Be */
|
|
||||||
# include <inttypes.h>
|
|
||||||
typedef int16_t ogg_int16_t;
|
|
||||||
typedef u_int16_t ogg_uint16_t;
|
|
||||||
typedef int32_t ogg_int32_t;
|
|
||||||
typedef u_int32_t ogg_uint32_t;
|
|
||||||
typedef int64_t ogg_int64_t;
|
|
||||||
|
|
||||||
#elif defined (__EMX__)
|
|
||||||
|
|
||||||
/* OS/2 GCC */
|
|
||||||
typedef short ogg_int16_t;
|
|
||||||
typedef unsigned short ogg_uint16_t;
|
|
||||||
typedef int ogg_int32_t;
|
|
||||||
typedef unsigned int ogg_uint32_t;
|
|
||||||
typedef long long ogg_int64_t;
|
|
||||||
|
|
||||||
#elif defined (DJGPP)
|
|
||||||
|
|
||||||
/* DJGPP */
|
|
||||||
typedef short ogg_int16_t;
|
|
||||||
typedef int ogg_int32_t;
|
|
||||||
typedef unsigned int ogg_uint32_t;
|
|
||||||
typedef long long ogg_int64_t;
|
|
||||||
|
|
||||||
#elif defined(R5900)
|
|
||||||
|
|
||||||
/* PS2 EE */
|
|
||||||
typedef long ogg_int64_t;
|
|
||||||
typedef int ogg_int32_t;
|
|
||||||
typedef unsigned ogg_uint32_t;
|
|
||||||
typedef short ogg_int16_t;
|
|
||||||
|
|
||||||
#elif defined(__SYMBIAN32__)
|
|
||||||
|
|
||||||
/* Symbian GCC */
|
|
||||||
typedef signed short ogg_int16_t;
|
|
||||||
typedef unsigned short ogg_uint16_t;
|
|
||||||
typedef signed int ogg_int32_t;
|
|
||||||
typedef unsigned int ogg_uint32_t;
|
|
||||||
typedef long long int ogg_int64_t;
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
# include <sys/types.h>
|
|
||||||
# include <ogg/config_types.h>
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _OS_TYPES_H */
|
|
Binary file not shown.
|
@ -1,22 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>English</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>ogg</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.yourcompany.yourcocoaframework</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>ogg</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
Binary file not shown.
|
@ -1 +0,0 @@
|
||||||
A
|
|
|
@ -1 +0,0 @@
|
||||||
Versions/Current/ogg
|
|
|
@ -1 +0,0 @@
|
||||||
Versions/Current/Headers
|
|
|
@ -1 +0,0 @@
|
||||||
Versions/Current/Resources
|
|
|
@ -1,240 +0,0 @@
|
||||||
/********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
|
||||||
* by the XIPHOPHORUS Company http://www.xiph.org/ *
|
|
||||||
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
function: libvorbis codec headers
|
|
||||||
last mod: $Id: codec.h 7485 2004-08-05 14:54:23Z thomasvs $
|
|
||||||
|
|
||||||
********************************************************************/
|
|
||||||
|
|
||||||
#ifndef _vorbis_codec_h_
|
|
||||||
#define _vorbis_codec_h_
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#include <ogg/ogg.h>
|
|
||||||
|
|
||||||
typedef struct vorbis_info{
|
|
||||||
int version;
|
|
||||||
int channels;
|
|
||||||
long rate;
|
|
||||||
|
|
||||||
/* The below bitrate declarations are *hints*.
|
|
||||||
Combinations of the three values carry the following implications:
|
|
||||||
|
|
||||||
all three set to the same value:
|
|
||||||
implies a fixed rate bitstream
|
|
||||||
only nominal set:
|
|
||||||
implies a VBR stream that averages the nominal bitrate. No hard
|
|
||||||
upper/lower limit
|
|
||||||
upper and or lower set:
|
|
||||||
implies a VBR bitstream that obeys the bitrate limits. nominal
|
|
||||||
may also be set to give a nominal rate.
|
|
||||||
none set:
|
|
||||||
the coder does not care to speculate.
|
|
||||||
*/
|
|
||||||
|
|
||||||
long bitrate_upper;
|
|
||||||
long bitrate_nominal;
|
|
||||||
long bitrate_lower;
|
|
||||||
long bitrate_window;
|
|
||||||
|
|
||||||
void *codec_setup;
|
|
||||||
} vorbis_info;
|
|
||||||
|
|
||||||
/* vorbis_dsp_state buffers the current vorbis audio
|
|
||||||
analysis/synthesis state. The DSP state belongs to a specific
|
|
||||||
logical bitstream ****************************************************/
|
|
||||||
typedef struct vorbis_dsp_state{
|
|
||||||
int analysisp;
|
|
||||||
vorbis_info *vi;
|
|
||||||
|
|
||||||
float **pcm;
|
|
||||||
float **pcmret;
|
|
||||||
int pcm_storage;
|
|
||||||
int pcm_current;
|
|
||||||
int pcm_returned;
|
|
||||||
|
|
||||||
int preextrapolate;
|
|
||||||
int eofflag;
|
|
||||||
|
|
||||||
long lW;
|
|
||||||
long W;
|
|
||||||
long nW;
|
|
||||||
long centerW;
|
|
||||||
|
|
||||||
ogg_int64_t granulepos;
|
|
||||||
ogg_int64_t sequence;
|
|
||||||
|
|
||||||
ogg_int64_t glue_bits;
|
|
||||||
ogg_int64_t time_bits;
|
|
||||||
ogg_int64_t floor_bits;
|
|
||||||
ogg_int64_t res_bits;
|
|
||||||
|
|
||||||
void *backend_state;
|
|
||||||
} vorbis_dsp_state;
|
|
||||||
|
|
||||||
typedef struct vorbis_block{
|
|
||||||
/* necessary stream state for linking to the framing abstraction */
|
|
||||||
float **pcm; /* this is a pointer into local storage */
|
|
||||||
oggpack_buffer opb;
|
|
||||||
|
|
||||||
long lW;
|
|
||||||
long W;
|
|
||||||
long nW;
|
|
||||||
int pcmend;
|
|
||||||
int mode;
|
|
||||||
|
|
||||||
int eofflag;
|
|
||||||
ogg_int64_t granulepos;
|
|
||||||
ogg_int64_t sequence;
|
|
||||||
vorbis_dsp_state *vd; /* For read-only access of configuration */
|
|
||||||
|
|
||||||
/* local storage to avoid remallocing; it's up to the mapping to
|
|
||||||
structure it */
|
|
||||||
void *localstore;
|
|
||||||
long localtop;
|
|
||||||
long localalloc;
|
|
||||||
long totaluse;
|
|
||||||
struct alloc_chain *reap;
|
|
||||||
|
|
||||||
/* bitmetrics for the frame */
|
|
||||||
long glue_bits;
|
|
||||||
long time_bits;
|
|
||||||
long floor_bits;
|
|
||||||
long res_bits;
|
|
||||||
|
|
||||||
void *internal;
|
|
||||||
|
|
||||||
} vorbis_block;
|
|
||||||
|
|
||||||
/* vorbis_block is a single block of data to be processed as part of
|
|
||||||
the analysis/synthesis stream; it belongs to a specific logical
|
|
||||||
bitstream, but is independant from other vorbis_blocks belonging to
|
|
||||||
that logical bitstream. *************************************************/
|
|
||||||
|
|
||||||
struct alloc_chain{
|
|
||||||
void *ptr;
|
|
||||||
struct alloc_chain *next;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* vorbis_info contains all the setup information specific to the
|
|
||||||
specific compression/decompression mode in progress (eg,
|
|
||||||
psychoacoustic settings, channel setup, options, codebook
|
|
||||||
etc). vorbis_info and substructures are in backends.h.
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
/* the comments are not part of vorbis_info so that vorbis_info can be
|
|
||||||
static storage */
|
|
||||||
typedef struct vorbis_comment{
|
|
||||||
/* unlimited user comment fields. libvorbis writes 'libvorbis'
|
|
||||||
whatever vendor is set to in encode */
|
|
||||||
char **user_comments;
|
|
||||||
int *comment_lengths;
|
|
||||||
int comments;
|
|
||||||
char *vendor;
|
|
||||||
|
|
||||||
} vorbis_comment;
|
|
||||||
|
|
||||||
|
|
||||||
/* libvorbis encodes in two abstraction layers; first we perform DSP
|
|
||||||
and produce a packet (see docs/analysis.txt). The packet is then
|
|
||||||
coded into a framed OggSquish bitstream by the second layer (see
|
|
||||||
docs/framing.txt). Decode is the reverse process; we sync/frame
|
|
||||||
the bitstream and extract individual packets, then decode the
|
|
||||||
packet back into PCM audio.
|
|
||||||
|
|
||||||
The extra framing/packetizing is used in streaming formats, such as
|
|
||||||
files. Over the net (such as with UDP), the framing and
|
|
||||||
packetization aren't necessary as they're provided by the transport
|
|
||||||
and the streaming layer is not used */
|
|
||||||
|
|
||||||
/* Vorbis PRIMITIVES: general ***************************************/
|
|
||||||
|
|
||||||
extern void vorbis_info_init(vorbis_info *vi);
|
|
||||||
extern void vorbis_info_clear(vorbis_info *vi);
|
|
||||||
extern int vorbis_info_blocksize(vorbis_info *vi,int zo);
|
|
||||||
extern void vorbis_comment_init(vorbis_comment *vc);
|
|
||||||
extern void vorbis_comment_add(vorbis_comment *vc, char *comment);
|
|
||||||
extern void vorbis_comment_add_tag(vorbis_comment *vc,
|
|
||||||
char *tag, char *contents);
|
|
||||||
extern char *vorbis_comment_query(vorbis_comment *vc, char *tag, int count);
|
|
||||||
extern int vorbis_comment_query_count(vorbis_comment *vc, char *tag);
|
|
||||||
extern void vorbis_comment_clear(vorbis_comment *vc);
|
|
||||||
|
|
||||||
extern int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb);
|
|
||||||
extern int vorbis_block_clear(vorbis_block *vb);
|
|
||||||
extern void vorbis_dsp_clear(vorbis_dsp_state *v);
|
|
||||||
extern double vorbis_granule_time(vorbis_dsp_state *v,
|
|
||||||
ogg_int64_t granulepos);
|
|
||||||
|
|
||||||
/* Vorbis PRIMITIVES: analysis/DSP layer ****************************/
|
|
||||||
|
|
||||||
extern int vorbis_analysis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
|
||||||
extern int vorbis_commentheader_out(vorbis_comment *vc, ogg_packet *op);
|
|
||||||
extern int vorbis_analysis_headerout(vorbis_dsp_state *v,
|
|
||||||
vorbis_comment *vc,
|
|
||||||
ogg_packet *op,
|
|
||||||
ogg_packet *op_comm,
|
|
||||||
ogg_packet *op_code);
|
|
||||||
extern float **vorbis_analysis_buffer(vorbis_dsp_state *v,int vals);
|
|
||||||
extern int vorbis_analysis_wrote(vorbis_dsp_state *v,int vals);
|
|
||||||
extern int vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb);
|
|
||||||
extern int vorbis_analysis(vorbis_block *vb,ogg_packet *op);
|
|
||||||
|
|
||||||
extern int vorbis_bitrate_addblock(vorbis_block *vb);
|
|
||||||
extern int vorbis_bitrate_flushpacket(vorbis_dsp_state *vd,
|
|
||||||
ogg_packet *op);
|
|
||||||
|
|
||||||
/* Vorbis PRIMITIVES: synthesis layer *******************************/
|
|
||||||
extern int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,
|
|
||||||
ogg_packet *op);
|
|
||||||
|
|
||||||
extern int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
|
||||||
extern int vorbis_synthesis_restart(vorbis_dsp_state *v);
|
|
||||||
extern int vorbis_synthesis(vorbis_block *vb,ogg_packet *op);
|
|
||||||
extern int vorbis_synthesis_trackonly(vorbis_block *vb,ogg_packet *op);
|
|
||||||
extern int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb);
|
|
||||||
extern int vorbis_synthesis_pcmout(vorbis_dsp_state *v,float ***pcm);
|
|
||||||
extern int vorbis_synthesis_lapout(vorbis_dsp_state *v,float ***pcm);
|
|
||||||
extern int vorbis_synthesis_read(vorbis_dsp_state *v,int samples);
|
|
||||||
extern long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op);
|
|
||||||
|
|
||||||
extern int vorbis_synthesis_halfrate(vorbis_info *v,int flag);
|
|
||||||
extern int vorbis_synthesis_halfrate_p(vorbis_info *v);
|
|
||||||
|
|
||||||
/* Vorbis ERRORS and return codes ***********************************/
|
|
||||||
|
|
||||||
#define OV_FALSE -1
|
|
||||||
#define OV_EOF -2
|
|
||||||
#define OV_HOLE -3
|
|
||||||
|
|
||||||
#define OV_EREAD -128
|
|
||||||
#define OV_EFAULT -129
|
|
||||||
#define OV_EIMPL -130
|
|
||||||
#define OV_EINVAL -131
|
|
||||||
#define OV_ENOTVORBIS -132
|
|
||||||
#define OV_EBADHEADER -133
|
|
||||||
#define OV_EVERSION -134
|
|
||||||
#define OV_ENOTAUDIO -135
|
|
||||||
#define OV_EBADPACKET -136
|
|
||||||
#define OV_EBADLINK -137
|
|
||||||
#define OV_ENOSEEK -138
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,112 +0,0 @@
|
||||||
/********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
|
||||||
* by the XIPHOPHORUS Company http://www.xiph.org/ *
|
|
||||||
* *
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
function: vorbis encode-engine setup
|
|
||||||
last mod: $Id: vorbisenc.h 7485 2004-08-05 14:54:23Z thomasvs $
|
|
||||||
|
|
||||||
********************************************************************/
|
|
||||||
|
|
||||||
#ifndef _OV_ENC_H_
|
|
||||||
#define _OV_ENC_H_
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#include "codec.h"
|
|
||||||
|
|
||||||
extern int vorbis_encode_init(vorbis_info *vi,
|
|
||||||
long channels,
|
|
||||||
long rate,
|
|
||||||
|
|
||||||
long max_bitrate,
|
|
||||||
long nominal_bitrate,
|
|
||||||
long min_bitrate);
|
|
||||||
|
|
||||||
extern int vorbis_encode_setup_managed(vorbis_info *vi,
|
|
||||||
long channels,
|
|
||||||
long rate,
|
|
||||||
|
|
||||||
long max_bitrate,
|
|
||||||
long nominal_bitrate,
|
|
||||||
long min_bitrate);
|
|
||||||
|
|
||||||
extern int vorbis_encode_setup_vbr(vorbis_info *vi,
|
|
||||||
long channels,
|
|
||||||
long rate,
|
|
||||||
|
|
||||||
float quality /* quality level from 0. (lo) to 1. (hi) */
|
|
||||||
);
|
|
||||||
|
|
||||||
extern int vorbis_encode_init_vbr(vorbis_info *vi,
|
|
||||||
long channels,
|
|
||||||
long rate,
|
|
||||||
|
|
||||||
float base_quality /* quality level from 0. (lo) to 1. (hi) */
|
|
||||||
);
|
|
||||||
|
|
||||||
extern int vorbis_encode_setup_init(vorbis_info *vi);
|
|
||||||
|
|
||||||
extern int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg);
|
|
||||||
|
|
||||||
/* deprecated rate management supported only for compatability */
|
|
||||||
#define OV_ECTL_RATEMANAGE_GET 0x10
|
|
||||||
#define OV_ECTL_RATEMANAGE_SET 0x11
|
|
||||||
#define OV_ECTL_RATEMANAGE_AVG 0x12
|
|
||||||
#define OV_ECTL_RATEMANAGE_HARD 0x13
|
|
||||||
|
|
||||||
struct ovectl_ratemanage_arg {
|
|
||||||
int management_active;
|
|
||||||
|
|
||||||
long bitrate_hard_min;
|
|
||||||
long bitrate_hard_max;
|
|
||||||
double bitrate_hard_window;
|
|
||||||
|
|
||||||
long bitrate_av_lo;
|
|
||||||
long bitrate_av_hi;
|
|
||||||
double bitrate_av_window;
|
|
||||||
double bitrate_av_window_center;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* new rate setup */
|
|
||||||
#define OV_ECTL_RATEMANAGE2_GET 0x14
|
|
||||||
#define OV_ECTL_RATEMANAGE2_SET 0x15
|
|
||||||
|
|
||||||
struct ovectl_ratemanage2_arg {
|
|
||||||
int management_active;
|
|
||||||
|
|
||||||
long bitrate_limit_min_kbps;
|
|
||||||
long bitrate_limit_max_kbps;
|
|
||||||
long bitrate_limit_reservoir_bits;
|
|
||||||
double bitrate_limit_reservoir_bias;
|
|
||||||
|
|
||||||
long bitrate_average_kbps;
|
|
||||||
double bitrate_average_damping;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define OV_ECTL_LOWPASS_GET 0x20
|
|
||||||
#define OV_ECTL_LOWPASS_SET 0x21
|
|
||||||
|
|
||||||
#define OV_ECTL_IBLOCK_GET 0x30
|
|
||||||
#define OV_ECTL_IBLOCK_SET 0x31
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
|
@ -1,143 +0,0 @@
|
||||||
/********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
|
||||||
* by the XIPHOPHORUS Company http://www.xiph.org/ *
|
|
||||||
* *
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
function: stdio-based convenience library for opening/seeking/decoding
|
|
||||||
last mod: $Id: vorbisfile.h 7485 2004-08-05 14:54:23Z thomasvs $
|
|
||||||
|
|
||||||
********************************************************************/
|
|
||||||
|
|
||||||
#ifndef _OV_FILE_H_
|
|
||||||
#define _OV_FILE_H_
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "codec.h"
|
|
||||||
|
|
||||||
/* The function prototypes for the callbacks are basically the same as for
|
|
||||||
* the stdio functions fread, fseek, fclose, ftell.
|
|
||||||
* The one difference is that the FILE * arguments have been replaced with
|
|
||||||
* a void * - this is to be used as a pointer to whatever internal data these
|
|
||||||
* functions might need. In the stdio case, it's just a FILE * cast to a void *
|
|
||||||
*
|
|
||||||
* If you use other functions, check the docs for these functions and return
|
|
||||||
* the right values. For seek_func(), you *MUST* return -1 if the stream is
|
|
||||||
* unseekable
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
size_t (*read_func) (void *ptr, size_t size, size_t nmemb, void *datasource);
|
|
||||||
int (*seek_func) (void *datasource, ogg_int64_t offset, int whence);
|
|
||||||
int (*close_func) (void *datasource);
|
|
||||||
long (*tell_func) (void *datasource);
|
|
||||||
} ov_callbacks;
|
|
||||||
|
|
||||||
#define NOTOPEN 0
|
|
||||||
#define PARTOPEN 1
|
|
||||||
#define OPENED 2
|
|
||||||
#define STREAMSET 3
|
|
||||||
#define INITSET 4
|
|
||||||
|
|
||||||
typedef struct OggVorbis_File {
|
|
||||||
void *datasource; /* Pointer to a FILE *, etc. */
|
|
||||||
int seekable;
|
|
||||||
ogg_int64_t offset;
|
|
||||||
ogg_int64_t end;
|
|
||||||
ogg_sync_state oy;
|
|
||||||
|
|
||||||
/* If the FILE handle isn't seekable (eg, a pipe), only the current
|
|
||||||
stream appears */
|
|
||||||
int links;
|
|
||||||
ogg_int64_t *offsets;
|
|
||||||
ogg_int64_t *dataoffsets;
|
|
||||||
long *serialnos;
|
|
||||||
ogg_int64_t *pcmlengths; /* overloaded to maintain binary
|
|
||||||
compatability; x2 size, stores both
|
|
||||||
beginning and end values */
|
|
||||||
vorbis_info *vi;
|
|
||||||
vorbis_comment *vc;
|
|
||||||
|
|
||||||
/* Decoding working state local storage */
|
|
||||||
ogg_int64_t pcm_offset;
|
|
||||||
int ready_state;
|
|
||||||
long current_serialno;
|
|
||||||
int current_link;
|
|
||||||
|
|
||||||
double bittrack;
|
|
||||||
double samptrack;
|
|
||||||
|
|
||||||
ogg_stream_state os; /* take physical pages, weld into a logical
|
|
||||||
stream of packets */
|
|
||||||
vorbis_dsp_state vd; /* central working state for the packet->PCM decoder */
|
|
||||||
vorbis_block vb; /* local working space for packet->PCM decode */
|
|
||||||
|
|
||||||
ov_callbacks callbacks;
|
|
||||||
|
|
||||||
} OggVorbis_File;
|
|
||||||
|
|
||||||
extern int ov_clear(OggVorbis_File *vf);
|
|
||||||
extern int ov_open(FILE *f,OggVorbis_File *vf,char *initial,long ibytes);
|
|
||||||
extern int ov_open_callbacks(void *datasource, OggVorbis_File *vf,
|
|
||||||
char *initial, long ibytes, ov_callbacks callbacks);
|
|
||||||
|
|
||||||
extern int ov_test(FILE *f,OggVorbis_File *vf,char *initial,long ibytes);
|
|
||||||
extern int ov_test_callbacks(void *datasource, OggVorbis_File *vf,
|
|
||||||
char *initial, long ibytes, ov_callbacks callbacks);
|
|
||||||
extern int ov_test_open(OggVorbis_File *vf);
|
|
||||||
|
|
||||||
extern long ov_bitrate(OggVorbis_File *vf,int i);
|
|
||||||
extern long ov_bitrate_instant(OggVorbis_File *vf);
|
|
||||||
extern long ov_streams(OggVorbis_File *vf);
|
|
||||||
extern long ov_seekable(OggVorbis_File *vf);
|
|
||||||
extern long ov_serialnumber(OggVorbis_File *vf,int i);
|
|
||||||
|
|
||||||
extern ogg_int64_t ov_raw_total(OggVorbis_File *vf,int i);
|
|
||||||
extern ogg_int64_t ov_pcm_total(OggVorbis_File *vf,int i);
|
|
||||||
extern double ov_time_total(OggVorbis_File *vf,int i);
|
|
||||||
|
|
||||||
extern int ov_raw_seek(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_pcm_seek(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_time_seek(OggVorbis_File *vf,double pos);
|
|
||||||
extern int ov_time_seek_page(OggVorbis_File *vf,double pos);
|
|
||||||
|
|
||||||
extern int ov_raw_seek_lap(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_pcm_seek_lap(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_pcm_seek_page_lap(OggVorbis_File *vf,ogg_int64_t pos);
|
|
||||||
extern int ov_time_seek_lap(OggVorbis_File *vf,double pos);
|
|
||||||
extern int ov_time_seek_page_lap(OggVorbis_File *vf,double pos);
|
|
||||||
|
|
||||||
extern ogg_int64_t ov_raw_tell(OggVorbis_File *vf);
|
|
||||||
extern ogg_int64_t ov_pcm_tell(OggVorbis_File *vf);
|
|
||||||
extern double ov_time_tell(OggVorbis_File *vf);
|
|
||||||
|
|
||||||
extern vorbis_info *ov_info(OggVorbis_File *vf,int link);
|
|
||||||
extern vorbis_comment *ov_comment(OggVorbis_File *vf,int link);
|
|
||||||
|
|
||||||
extern long ov_read_float(OggVorbis_File *vf,float ***pcm_channels,int samples,
|
|
||||||
int *bitstream);
|
|
||||||
extern long ov_read(OggVorbis_File *vf,char *buffer,int length,
|
|
||||||
int bigendianp,int word,int sgned,int *bitstream);
|
|
||||||
extern int ov_crosslap(OggVorbis_File *vf1,OggVorbis_File *vf2);
|
|
||||||
|
|
||||||
extern int ov_halfrate(OggVorbis_File *vf,int flag);
|
|
||||||
extern int ov_halfrate_p(OggVorbis_File *vf);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif /* __cplusplus */
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -1,22 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
||||||
<plist version="1.0">
|
|
||||||
<dict>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
|
||||||
<string>English</string>
|
|
||||||
<key>CFBundleExecutable</key>
|
|
||||||
<string>vorbis</string>
|
|
||||||
<key>CFBundleIdentifier</key>
|
|
||||||
<string>com.yourcompany.yourcocoaframework</string>
|
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
|
||||||
<string>6.0</string>
|
|
||||||
<key>CFBundleName</key>
|
|
||||||
<string>vorbis</string>
|
|
||||||
<key>CFBundlePackageType</key>
|
|
||||||
<string>FMWK</string>
|
|
||||||
<key>CFBundleSignature</key>
|
|
||||||
<string>????</string>
|
|
||||||
<key>CFBundleVersion</key>
|
|
||||||
<string>1.0</string>
|
|
||||||
</dict>
|
|
||||||
</plist>
|
|
Binary file not shown.
|
@ -1 +0,0 @@
|
||||||
A
|
|
|
@ -1 +0,0 @@
|
||||||
Versions/Current/vorbis
|
|
|
@ -11,7 +11,7 @@ clean=veryclean
|
||||||
# the following file paths are relative to $source
|
# the following file paths are relative to $source
|
||||||
targets=( eduke32.exe mapster32.exe )
|
targets=( eduke32.exe mapster32.exe )
|
||||||
package=package
|
package=package
|
||||||
not_src_packaged=( psd source/jaudiolib/third-party/vorbis.framework/Versions/A/vorbis Apple/lib $package/ebacktrace1.dll $package/ebacktrace1-64.dll )
|
not_src_packaged=( psd $package/ebacktrace1.dll $package/ebacktrace1-64.dll )
|
||||||
|
|
||||||
# group that owns the resulting packages
|
# group that owns the resulting packages
|
||||||
group=dukeworld
|
group=dukeworld
|
||||||
|
|
Loading…
Reference in a new issue