diff --git a/src/AvTranscoder/DatasStructures/VideoDesc.hpp b/src/AvTranscoder/DatasStructures/VideoDesc.hpp index 29ed08bb..0843998f 100644 --- a/src/AvTranscoder/DatasStructures/VideoDesc.hpp +++ b/src/AvTranscoder/DatasStructures/VideoDesc.hpp @@ -22,7 +22,7 @@ namespace avtranscoder class AvExport VideoDesc { public: - VideoDesc( const std::string& codecName = "" ); + VideoDesc( const std::string& codecName ); VideoDesc( const AVCodecID codecId ); void setVideoCodec( const std::string& codecName ); diff --git a/src/AvTranscoder/InputStream.hpp b/src/AvTranscoder/InputStream.hpp index 185d6d16..dd029e5e 100644 --- a/src/AvTranscoder/InputStream.hpp +++ b/src/AvTranscoder/InputStream.hpp @@ -42,6 +42,8 @@ class AvExport InputStream double getDuration() const; double getPacketDuration() const; + AVCodecID getVideoCodecId() const { return m_formatContext->streams[m_streamIndex]->codec->codec_id; } + // protected: bool readNextPacket( AVPacket& packet ) const; diff --git a/src/AvTranscoder/InputStreamVideo.cpp b/src/AvTranscoder/InputStreamVideo.cpp index bc6a4107..b573a575 100644 --- a/src/AvTranscoder/InputStreamVideo.cpp +++ b/src/AvTranscoder/InputStreamVideo.cpp @@ -25,8 +25,8 @@ InputStreamVideo::InputStreamVideo( const InputStream& inputStream ) , m_selectedStream( -1 ) { av_register_all(); - - m_codec = avcodec_find_decoder( m_inputStream.getVideoDesc().getVideoCodecId() ); + m_codec = avcodec_find_decoder( inputStream.getVideoCodecId() ); + if( m_codec == NULL ) { throw std::runtime_error( "codec not supported" );