diff --git a/src/AvTranscoder/DatasStructures/AudioDesc.cpp b/src/AvTranscoder/DatasStructures/AudioDesc.cpp index bd85fd6a..03869813 100644 --- a/src/AvTranscoder/DatasStructures/AudioDesc.cpp +++ b/src/AvTranscoder/DatasStructures/AudioDesc.cpp @@ -37,13 +37,6 @@ AudioDesc::AudioDesc( const AVCodecID codecId ) setAudioCodec( codecId ); } -AudioDesc::AudioDesc( const AudioDesc& audioDesc ) - : m_codec( NULL ) - , m_codecContext( NULL ) -{ - setAudioCodec( audioDesc.getAudioCodecId() ); -} - void AudioDesc::setAudioCodec( const std::string& codecName ) { avcodec_register_all(); // Warning: should be called only once diff --git a/src/AvTranscoder/DatasStructures/AudioDesc.hpp b/src/AvTranscoder/DatasStructures/AudioDesc.hpp index f67da23c..d8f28abc 100644 --- a/src/AvTranscoder/DatasStructures/AudioDesc.hpp +++ b/src/AvTranscoder/DatasStructures/AudioDesc.hpp @@ -26,8 +26,6 @@ class AvExport AudioDesc AudioDesc( const std::string& codecName = "" ); AudioDesc( const AVCodecID codecId ); - AudioDesc( const AudioDesc& audioDesc ); - void setAudioCodec( const std::string& codecName ); void setAudioCodec( const AVCodecID codecId ); diff --git a/src/AvTranscoder/Transcoder/StreamTranscoder.cpp b/src/AvTranscoder/Transcoder/StreamTranscoder.cpp index 53fbf7bf..e9aba161 100644 --- a/src/AvTranscoder/Transcoder/StreamTranscoder.cpp +++ b/src/AvTranscoder/Transcoder/StreamTranscoder.cpp @@ -26,6 +26,7 @@ StreamTranscoder::StreamTranscoder( , _outputEssence( NULL ) , _transform( NULL ) , _transcodeStream( false ) + , _dummyStream( false ) { // create a re-wrapping case switch( _inputStream->getStreamType() ) @@ -58,6 +59,7 @@ StreamTranscoder::StreamTranscoder( , _outputEssence( NULL ) , _transform( NULL ) , _transcodeStream( true ) + , _dummyStream( false ) { // create a transcode case switch( _inputStream->getStreamType() ) @@ -121,7 +123,9 @@ StreamTranscoder::StreamTranscoder( , _outputEssence( NULL ) , _transform( NULL ) , _transcodeStream( true ) + , _dummyStream( true ) { + // create a dummy case if( ! profile.count( Profile::avProfileType ) ) throw std::runtime_error( "unable to found stream type (audio, video, etc.)" ); @@ -168,7 +172,9 @@ StreamTranscoder::~StreamTranscoder() { if( _frameBuffer ) delete _frameBuffer; - if( _inputEssence ) + if( _sourceBuffer ) + delete _sourceBuffer; + if( _inputEssence && ! _dummyStream ) delete _inputEssence; if( _outputEssence ) delete _outputEssence; diff --git a/src/AvTranscoder/Transcoder/StreamTranscoder.hpp b/src/AvTranscoder/Transcoder/StreamTranscoder.hpp index 10257307..b1b46b49 100644 --- a/src/AvTranscoder/Transcoder/StreamTranscoder.hpp +++ b/src/AvTranscoder/Transcoder/StreamTranscoder.hpp @@ -63,8 +63,7 @@ class StreamTranscoder EssenceTransform* _transform; bool _transcodeStream; - - + bool _dummyStream; }; }