@@ -114,7 +114,9 @@ StreamTranscoder::StreamTranscoder(
114
114
VideoGenerator* generatorVideo = new VideoGenerator ();
115
115
generatorVideo->setVideoFrameDesc ( outputVideo->getVideoCodec ().getVideoFrameDesc () );
116
116
_generator = generatorVideo;
117
-
117
+
118
+ _currentDecoder = _inputDecoder;
119
+
118
120
break ;
119
121
}
120
122
case AVMEDIA_TYPE_AUDIO :
@@ -150,6 +152,8 @@ StreamTranscoder::StreamTranscoder(
150
152
generatorAudio->setAudioFrameDesc ( outputAudio->getAudioCodec ().getAudioFrameDesc () );
151
153
_generator = generatorAudio;
152
154
155
+ _currentDecoder = _inputDecoder;
156
+
153
157
break ;
154
158
}
155
159
default :
@@ -158,7 +162,8 @@ StreamTranscoder::StreamTranscoder(
158
162
break ;
159
163
}
160
164
}
161
- switchEssence ( offset != 0 );
165
+ if ( offset )
166
+ switchToGeneratorDecoder ();
162
167
}
163
168
164
169
StreamTranscoder::StreamTranscoder (
@@ -333,7 +338,7 @@ bool StreamTranscoder::processTranscode( const int subStreamIndex )
333
338
! _offsetPassed &&
334
339
_takeFromGenerator )
335
340
{
336
- switchToInputEssence ();
341
+ switchToInputDecoder ();
337
342
_offsetPassed = true ;
338
343
}
339
344
@@ -360,7 +365,7 @@ bool StreamTranscoder::processTranscode( const int subStreamIndex )
360
365
{
361
366
if ( _infinityStream )
362
367
{
363
- switchToGeneratorEssence ();
368
+ switchToGeneratorDecoder ();
364
369
return processTranscode ();
365
370
}
366
371
return false ;
@@ -385,21 +390,18 @@ bool StreamTranscoder::processTranscode( const int subStreamIndex )
385
390
return true ;
386
391
}
387
392
388
- void StreamTranscoder::switchEssence ( bool swithToGenerator )
393
+ void StreamTranscoder::switchToGeneratorDecoder ( )
389
394
{
390
- _takeFromGenerator = swithToGenerator ;
391
- _currentDecoder = swithToGenerator ? _generator : _inputDecoder ;
395
+ _takeFromGenerator = true ;
396
+ _currentDecoder = _generator;
392
397
assert ( _currentDecoder != NULL );
393
398
}
394
399
395
- void StreamTranscoder::switchToGeneratorEssence ()
400
+ void StreamTranscoder::switchToInputDecoder ()
396
401
{
397
- switchEssence ( true );
398
- }
399
-
400
- void StreamTranscoder::switchToInputEssence ()
401
- {
402
- switchEssence ( false );
402
+ _takeFromGenerator = false ;
403
+ _currentDecoder = _inputDecoder;
404
+ assert ( _currentDecoder != NULL );
403
405
}
404
406
405
407
double StreamTranscoder::getDuration () const
0 commit comments