00001 /* MuSE - Multiple Streaming Engine 00002 * Copyright (C) 2000-2002 Denis Rojo aka jaromil <jaromil@dyne.org> 00003 * 00004 * This source code is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Public License as published 00006 * by the Free Software Foundation; either version 2 of the License, 00007 * or (at your option) any later version. 00008 * 00009 * This source code is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 * Please refer to the GNU Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Public License along with 00015 * this source code; if not, write to: 00016 * Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00017 * 00018 * "$Id: out_lame.h,v 1.2 2004/01/24 17:22:52 jaromil Exp $" 00019 * 00020 */ 00021 00022 #ifndef __OUT_LAME_H__ 00023 #define __OUT_LAME_H__ 00024 00025 #include <outchannels.h> 00026 #include <config.h> 00027 #ifdef HAVE_LAME 00028 00029 extern "C" { 00030 #include <lame/lame.h> 00031 } 00032 00033 class OutLame : public OutChannel { 00034 00035 private: 00036 lame_global_flags *enc_flags; 00037 int16_t pcm[OUT_CHUNK<<5]; 00038 00039 00040 public: 00041 OutLame(); 00042 ~OutLame(); 00043 int encode(); 00044 bool init(); 00045 void flush(); 00046 bool apply_profile(); 00047 00048 }; 00049 00050 00051 #endif 00052 #endif