81 lines
2.9 KiB
C
81 lines
2.9 KiB
C
/**
|
|
* @file VorbisFramework.h
|
|
* @author Dave Camp
|
|
* @date Fri Oct 10 2003
|
|
* @brief For the Macview project
|
|
*
|
|
* $LicenseInfo:firstyear=2003&license=viewerlgpl$
|
|
* Second Life Viewer Source Code
|
|
* Copyright (C) 2010, Linden Research, Inc.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation;
|
|
* version 2.1 of the License only.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*
|
|
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
|
* $/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
|