diff --git a/src/AvTranscoder/DatasStructures/AudioDesc.cpp b/src/AvTranscoder/DatasStructures/AudioDesc.cpp index 8cc5e63c..59199ea5 100644 --- a/src/AvTranscoder/DatasStructures/AudioDesc.cpp +++ b/src/AvTranscoder/DatasStructures/AudioDesc.cpp @@ -49,7 +49,7 @@ void AudioDesc::setAudioCodec( const AVCodecID codecId ) initCodecContext(); } -void AudioDesc::setAudioParameters( const size_t sampleRate, const size_t channels, const AVSampleFormat& sampleFormat ) +void AudioDesc::setAudioParameters( const size_t sampleRate, const size_t channels, const AVSampleFormat sampleFormat ) { m_codecContext->sample_rate = sampleRate; m_codecContext->channels = channels; @@ -193,4 +193,21 @@ AVCodecID AudioDesc::getAudioCodecId() const return m_codecContext->codec_id; } + +const size_t AudioDesc::getSampleRate() const +{ + return m_codecContext->sample_rate; +} + +const size_t AudioDesc::getChannels() const +{ + return m_codecContext->channels; +} + +const AVSampleFormat AudioDesc::getSampleFormat() const +{ + return m_codecContext->sample_fmt; +} + + } diff --git a/src/AvTranscoder/DatasStructures/AudioDesc.hpp b/src/AvTranscoder/DatasStructures/AudioDesc.hpp index 98a04041..d06f25cc 100644 --- a/src/AvTranscoder/DatasStructures/AudioDesc.hpp +++ b/src/AvTranscoder/DatasStructures/AudioDesc.hpp @@ -27,7 +27,7 @@ class AvExport AudioDesc void setAudioCodec( const std::string& codecName ); void setAudioCodec( const AVCodecID codecId ); - void setAudioParameters( const size_t sampleRate, const size_t channels, const AVSampleFormat& sampleFormat ); + void setAudioParameters( const size_t sampleRate, const size_t channels, const AVSampleFormat sampleFormat ); void set( const std::string& key, const std::string& flag, const bool enable ); void set( const std::string& key, const bool value ); @@ -38,6 +38,10 @@ class AvExport AudioDesc std::string getAudioCodec() const; AVCodecID getAudioCodecId() const; + + const size_t getSampleRate() const; + const size_t getChannels() const; + const AVSampleFormat getSampleFormat() const; #ifndef SWIG AVCodec* getCodec() const { return m_codec; } diff --git a/src/AvTranscoder/InputStreamAudio.cpp b/src/AvTranscoder/InputStreamAudio.cpp index 3e27d4b5..5919a8ce 100644 --- a/src/AvTranscoder/InputStreamAudio.cpp +++ b/src/AvTranscoder/InputStreamAudio.cpp @@ -39,6 +39,8 @@ InputStreamAudio::InputStreamAudio( const InputStream& inputStream ) { throw std::runtime_error( "unable to find context for codec" ); } + + m_codecContext->channels = m_inputStream->getAudioDesc().getChannels(); std::cout << "Audio codec Id : " << m_codecContext->codec_id << std::endl; std::cout << "Audio codec Id : " << m_codec->long_name << std::endl;