From 9ee65cb5daf009104fe1e6516787e1bc45fd39e2 Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Tue, 5 Aug 2014 10:49:10 +0200 Subject: [PATCH 1/2] StreamTranscoder: update constructor from dummy stream * Call setParameters with the profile, on the outputFrameDesc. * Add temporary varaibles (inputFrameDesc and outputFrameDesc). --- .../Transcoder/StreamTranscoder.cpp | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/AvTranscoder/Transcoder/StreamTranscoder.cpp b/src/AvTranscoder/Transcoder/StreamTranscoder.cpp index 2a10ff2e..7ecce69f 100644 --- a/src/AvTranscoder/Transcoder/StreamTranscoder.cpp +++ b/src/AvTranscoder/Transcoder/StreamTranscoder.cpp @@ -176,13 +176,17 @@ StreamTranscoder::StreamTranscoder( OutputVideo* outputVideo = new OutputVideo(); _outputEssence = outputVideo; - VideoFrameDesc inputVideoFrameDesc = static_cast( _inputEssence )->getVideoDesc().getVideoFrameDesc(); - outputVideo->setProfile( profile, inputVideoFrameDesc ); + + VideoFrameDesc inputFrameDesc = static_cast( _inputEssence )->getVideoDesc().getVideoFrameDesc(); + + VideoFrameDesc outputFrameDesc = inputFrameDesc; + outputFrameDesc.setParameters( profile ); + outputVideo->setProfile( profile, outputFrameDesc ); _outputStream = &outputFile.addVideoStream( outputVideo->getVideoDesc() ); - _sourceBuffer = new VideoFrame( outputVideo->getVideoDesc().getVideoFrameDesc() ); - _frameBuffer = new VideoFrame( outputVideo->getVideoDesc().getVideoFrameDesc() ); - + _sourceBuffer = new VideoFrame( inputFrameDesc ); + _frameBuffer = new VideoFrame( outputFrameDesc ); + _transform = new VideoEssenceTransform(); _currentEssence = _inputEssence; @@ -195,14 +199,16 @@ StreamTranscoder::StreamTranscoder( OutputAudio* outputAudio = new OutputAudio(); _outputEssence = outputAudio; - AudioFrameDesc inputAudioFrameDesc = static_cast( _inputEssence )->getAudioDesc().getFrameDesc(); - outputAudio->setProfile( profile, inputAudioFrameDesc ); - - static_cast( _inputEssence )->setAudioDesc( outputAudio->getAudioDesc() ); - + + AudioFrameDesc inputFrameDesc = static_cast( _inputEssence )->getAudioDesc().getFrameDesc(); + + AudioFrameDesc outputFrameDesc = inputFrameDesc; + outputFrameDesc.setParameters( profile ); + outputAudio->setProfile( profile, outputFrameDesc ); + _outputStream = &outputFile.addAudioStream( outputAudio->getAudioDesc() ); - _sourceBuffer = new AudioFrame( outputAudio->getAudioDesc().getFrameDesc() ); - _frameBuffer = new AudioFrame( outputAudio->getAudioDesc().getFrameDesc() ); + _sourceBuffer = new AudioFrame( inputFrameDesc ); + _frameBuffer = new AudioFrame( outputFrameDesc ); _transform = new AudioEssenceTransform(); From 99e7b347f77e83e6890cc6502ccb93e599cf440d Mon Sep 17 00:00:00 2001 From: Clement Champetier Date: Tue, 5 Aug 2014 10:49:29 +0200 Subject: [PATCH 2/2] StreamTranscoder: clean --- src/AvTranscoder/Transcoder/StreamTranscoder.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AvTranscoder/Transcoder/StreamTranscoder.cpp b/src/AvTranscoder/Transcoder/StreamTranscoder.cpp index 7ecce69f..12e8a04b 100644 --- a/src/AvTranscoder/Transcoder/StreamTranscoder.cpp +++ b/src/AvTranscoder/Transcoder/StreamTranscoder.cpp @@ -298,7 +298,7 @@ bool StreamTranscoder::processTranscode() if( _verbose ) std::cout << "transcode a frame " << std::endl; if( _currentEssence->readNextFrame( *_sourceBuffer ) ) - { + { if( _verbose ) std::cout << "convert " << _sourceBuffer->getSize() << std::endl; _transform->convert( *_sourceBuffer, *_frameBuffer );