Skip to content

Commit 7c3539f

Browse files
author
Clement Champetier
committed
StreamTranscoder: clean switch decoder methods
1 parent b3b4a5b commit 7c3539f

File tree

2 files changed

+21
-17
lines changed

2 files changed

+21
-17
lines changed

src/AvTranscoder/transcoder/StreamTranscoder.cpp

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,9 @@ StreamTranscoder::StreamTranscoder(
114114
VideoGenerator* generatorVideo = new VideoGenerator();
115115
generatorVideo->setVideoFrameDesc( outputVideo->getVideoCodec().getVideoFrameDesc() );
116116
_generator = generatorVideo;
117-
117+
118+
_currentDecoder = _inputDecoder;
119+
118120
break;
119121
}
120122
case AVMEDIA_TYPE_AUDIO :
@@ -150,6 +152,8 @@ StreamTranscoder::StreamTranscoder(
150152
generatorAudio->setAudioFrameDesc( outputAudio->getAudioCodec().getAudioFrameDesc() );
151153
_generator = generatorAudio;
152154

155+
_currentDecoder = _inputDecoder;
156+
153157
break;
154158
}
155159
default:
@@ -158,7 +162,8 @@ StreamTranscoder::StreamTranscoder(
158162
break;
159163
}
160164
}
161-
switchEssence( offset != 0 );
165+
if( offset )
166+
switchToGeneratorDecoder();
162167
}
163168

164169
StreamTranscoder::StreamTranscoder(
@@ -333,7 +338,7 @@ bool StreamTranscoder::processTranscode( const int subStreamIndex )
333338
! _offsetPassed &&
334339
_takeFromGenerator )
335340
{
336-
switchToInputEssence();
341+
switchToInputDecoder();
337342
_offsetPassed = true;
338343
}
339344

@@ -360,7 +365,7 @@ bool StreamTranscoder::processTranscode( const int subStreamIndex )
360365
{
361366
if( _infinityStream )
362367
{
363-
switchToGeneratorEssence();
368+
switchToGeneratorDecoder();
364369
return processTranscode();
365370
}
366371
return false;
@@ -385,21 +390,18 @@ bool StreamTranscoder::processTranscode( const int subStreamIndex )
385390
return true;
386391
}
387392

388-
void StreamTranscoder::switchEssence( bool swithToGenerator )
393+
void StreamTranscoder::switchToGeneratorDecoder()
389394
{
390-
_takeFromGenerator = swithToGenerator;
391-
_currentDecoder = swithToGenerator ? _generator : _inputDecoder;
395+
_takeFromGenerator = true;
396+
_currentDecoder = _generator;
392397
assert( _currentDecoder != NULL );
393398
}
394399

395-
void StreamTranscoder::switchToGeneratorEssence()
400+
void StreamTranscoder::switchToInputDecoder()
396401
{
397-
switchEssence( true );
398-
}
399-
400-
void StreamTranscoder::switchToInputEssence()
401-
{
402-
switchEssence( false );
402+
_takeFromGenerator = false;
403+
_currentDecoder = _inputDecoder;
404+
assert( _currentDecoder != NULL );
403405
}
404406

405407
double StreamTranscoder::getDuration() const

src/AvTranscoder/transcoder/StreamTranscoder.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,11 @@ class AvExport StreamTranscoder
5353
*/
5454
bool processFrame();
5555

56-
void switchEssence( bool swithToGenerator = true );
57-
void switchToGeneratorEssence();
58-
void switchToInputEssence();
56+
//@{
57+
/** Switch decoder */
58+
void switchToGeneratorDecoder();
59+
void switchToInputDecoder();
60+
//@}
5961

6062
/**
6163
* @brief Get the duration of the stream.

0 commit comments

Comments
 (0)