@@ -176,13 +176,17 @@ StreamTranscoder::StreamTranscoder(
176
176
OutputVideo* outputVideo = new OutputVideo ();
177
177
178
178
_outputEssence = outputVideo;
179
- VideoFrameDesc inputVideoFrameDesc = static_cast <DummyVideo*>( _inputEssence )->getVideoDesc ().getVideoFrameDesc ();
180
- outputVideo->setProfile ( profile, inputVideoFrameDesc );
179
+
180
+ VideoFrameDesc inputFrameDesc = static_cast <DummyVideo*>( _inputEssence )->getVideoDesc ().getVideoFrameDesc ();
181
+
182
+ VideoFrameDesc outputFrameDesc = inputFrameDesc;
183
+ outputFrameDesc.setParameters ( profile );
184
+ outputVideo->setProfile ( profile, outputFrameDesc );
181
185
182
186
_outputStream = &outputFile.addVideoStream ( outputVideo->getVideoDesc () );
183
- _sourceBuffer = new VideoFrame ( outputVideo-> getVideoDesc (). getVideoFrameDesc () );
184
- _frameBuffer = new VideoFrame ( outputVideo-> getVideoDesc (). getVideoFrameDesc () );
185
-
187
+ _sourceBuffer = new VideoFrame ( inputFrameDesc );
188
+ _frameBuffer = new VideoFrame ( outputFrameDesc );
189
+
186
190
_transform = new VideoEssenceTransform ();
187
191
188
192
_currentEssence = _inputEssence;
@@ -195,14 +199,16 @@ StreamTranscoder::StreamTranscoder(
195
199
OutputAudio* outputAudio = new OutputAudio ();
196
200
197
201
_outputEssence = outputAudio;
198
- AudioFrameDesc inputAudioFrameDesc = static_cast <DummyAudio*>( _inputEssence )->getAudioDesc ().getFrameDesc ();
199
- outputAudio->setProfile ( profile, inputAudioFrameDesc );
200
-
201
- static_cast <DummyAudio*>( _inputEssence )->setAudioDesc ( outputAudio->getAudioDesc () );
202
-
202
+
203
+ AudioFrameDesc inputFrameDesc = static_cast <DummyAudio*>( _inputEssence )->getAudioDesc ().getFrameDesc ();
204
+
205
+ AudioFrameDesc outputFrameDesc = inputFrameDesc;
206
+ outputFrameDesc.setParameters ( profile );
207
+ outputAudio->setProfile ( profile, outputFrameDesc );
208
+
203
209
_outputStream = &outputFile.addAudioStream ( outputAudio->getAudioDesc () );
204
- _sourceBuffer = new AudioFrame ( outputAudio-> getAudioDesc (). getFrameDesc () );
205
- _frameBuffer = new AudioFrame ( outputAudio-> getAudioDesc (). getFrameDesc () );
210
+ _sourceBuffer = new AudioFrame ( inputFrameDesc );
211
+ _frameBuffer = new AudioFrame ( outputFrameDesc );
206
212
207
213
_transform = new AudioEssenceTransform ();
208
214
@@ -292,7 +298,7 @@ bool StreamTranscoder::processTranscode()
292
298
if ( _verbose )
293
299
std::cout << " transcode a frame " << std::endl;
294
300
if ( _currentEssence->readNextFrame ( *_sourceBuffer ) )
295
- {
301
+ {
296
302
if ( _verbose )
297
303
std::cout << " convert " << _sourceBuffer->getSize () << std::endl;
298
304
_transform->convert ( *_sourceBuffer, *_frameBuffer );
0 commit comments