87 lines
3.2 KiB
C
87 lines
3.2 KiB
C
/**
|
|
* @file VorbisFramework.h
|
|
* @author Dave Camp
|
|
* @date Fri Oct 10 2003
|
|
* @brief For the Macview project
|
|
*
|
|
* $LicenseInfo:firstyear=2003&license=viewergpl$
|
|
*
|
|
* Copyright (c) 2003-2009, Linden Research, Inc.
|
|
*
|
|
* Second Life Viewer Source Code
|
|
* The source code in this file ("Source Code") is provided by Linden Lab
|
|
* to you under the terms of the GNU General Public License, version 2.0
|
|
* ("GPL"), unless you have obtained a separate licensing agreement
|
|
* ("Other License"), formally executed by you and Linden Lab. Terms of
|
|
* the GPL can be found in doc/GPL-license.txt in this distribution, or
|
|
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
|
|
*
|
|
* There are special exceptions to the terms and conditions of the GPL as
|
|
* it is applied to this Source Code. View the full text of the exception
|
|
* in the file doc/FLOSS-exception.txt in this software distribution, or
|
|
* online at
|
|
* http://secondlifegrid.net/programs/open_source/licensing/flossexception
|
|
*
|
|
* By copying, modifying or distributing this software, you acknowledge
|
|
* that you have read and understood your obligations described above,
|
|
* and agree to abide by those obligations.
|
|
*
|
|
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
|
|
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
|
|
* COMPLETENESS OR PERFORMANCE.
|
|
* $/LicenseInfo$
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "ogg/ogg.h"
|
|
#include "vorbis/codec.h"
|
|
#include "vorbis/vorbisenc.h"
|
|
|
|
extern int mac_vorbis_analysis(vorbis_block *vb,ogg_packet *op);
|
|
|
|
extern int mac_vorbis_analysis_headerout(vorbis_dsp_state *v,
|
|
vorbis_comment *vc,
|
|
ogg_packet *op,
|
|
ogg_packet *op_comm,
|
|
ogg_packet *op_code);
|
|
|
|
extern int mac_vorbis_analysis_init(vorbis_dsp_state *v,vorbis_info *vi);
|
|
|
|
extern int mac_vorbis_encode_ctl(vorbis_info *vi,int number,void *arg);
|
|
|
|
extern int mac_vorbis_encode_setup_init(vorbis_info *vi);
|
|
|
|
extern int mac_vorbis_encode_setup_managed(vorbis_info *vi,
|
|
long channels,
|
|
long rate,
|
|
|
|
long max_bitrate,
|
|
long nominal_bitrate,
|
|
long min_bitrate);
|
|
|
|
extern void mac_vorbis_info_init(vorbis_info *vi);
|
|
extern void mac_vorbis_info_clear(vorbis_info *vi);
|
|
extern void mac_vorbis_comment_init(vorbis_comment *vc);
|
|
extern void mac_vorbis_comment_clear(vorbis_comment *vc);
|
|
extern int mac_vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb);
|
|
extern int mac_vorbis_block_clear(vorbis_block *vb);
|
|
extern void mac_vorbis_dsp_clear(vorbis_dsp_state *v);
|
|
extern float **mac_vorbis_analysis_buffer(vorbis_dsp_state *v,int vals);
|
|
extern int mac_vorbis_analysis_wrote(vorbis_dsp_state *v,int vals);
|
|
extern int mac_vorbis_analysis_blockout(vorbis_dsp_state *v,vorbis_block *vb);
|
|
|
|
extern int mac_ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
|
|
extern int mac_ogg_stream_init(ogg_stream_state *os,int serialno);
|
|
extern int mac_ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
|
|
extern int mac_ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
|
|
extern int mac_ogg_page_eos(ogg_page *og);
|
|
extern int mac_ogg_stream_clear(ogg_stream_state *os);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|