00001 /********** 00002 This library is free software; you can redistribute it and/or modify it under 00003 the terms of the GNU Lesser General Public License as published by the 00004 Free Software Foundation; either version 2.1 of the License, or (at your 00005 option) any later version. (See <http://www.gnu.org/copyleft/lesser.html>.) 00006 00007 This library is distributed in the hope that it will be useful, but WITHOUT 00008 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00009 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for 00010 more details. 00011 00012 You should have received a copy of the GNU Lesser General Public License 00013 along with this library; if not, write to the Free Software Foundation, Inc., 00014 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00015 **********/ 00016 // "liveMedia" 00017 // Copyright (c) 1996-2012 Live Networks, Inc. All rights reserved. 00018 // MP3 Transcoder 00019 // Implementation 00020 00021 #include "MP3Transcoder.hh" 00022 00023 MP3Transcoder::MP3Transcoder(UsageEnvironment& env, 00024 MP3ADUTranscoder* aduTranscoder) 00025 : MP3FromADUSource(env, aduTranscoder, False) { 00026 } 00027 00028 MP3Transcoder::~MP3Transcoder() { 00029 } 00030 00031 MP3Transcoder* MP3Transcoder::createNew(UsageEnvironment& env, 00032 unsigned outBitrate /* in kbps */, 00033 FramedSource* inputSource) { 00034 MP3Transcoder* newSource = NULL; 00035 00036 do { 00037 // Create the intermediate filters that help implement the transcoder: 00038 ADUFromMP3Source* aduFromMP3 00039 = ADUFromMP3Source::createNew(env, inputSource, False); 00040 // Note: This also checks that "inputSource" is an MP3 source 00041 if (aduFromMP3 == NULL) break; 00042 00043 MP3ADUTranscoder* aduTranscoder 00044 = MP3ADUTranscoder::createNew(env, outBitrate, aduFromMP3); 00045 if (aduTranscoder == NULL) break; 00046 00047 // Then create the transcoder itself: 00048 newSource = new MP3Transcoder(env, aduTranscoder); 00049 } while (0); 00050 00051 return newSource; 00052 }
1.5.2