Skip to content

Commit ee4c3ac

Browse files
adding processFrame on Transcoder
1 parent 68abcf6 commit ee4c3ac

File tree

2 files changed

+27
-15
lines changed

2 files changed

+27
-15
lines changed

src/AvTranscoder/Transcoder.cpp

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,30 @@ void Transcoder::add( const InputStreamsDesc& streamDefs )
110110
throw std::runtime_error( "_inputStreams and _streamTranscoders must have the same number of streams" );
111111
}
112112

113+
114+
void Transcoder::processFrame()
115+
{
116+
for( size_t streamIndex = 0; streamIndex < _inputStreams.size(); ++streamIndex )
117+
{
118+
if( ( _streamTranscoders.size() > streamIndex ) &&
119+
! _streamTranscoders.at( streamIndex )->processFrame() )
120+
{
121+
//_inputStreams.erase( _inputStreams.begin() + streamIndex );
122+
_inputStreams.clear();
123+
}
124+
}
125+
126+
if( _inputStreams.size() == 0 )
127+
{
128+
break;
129+
}
130+
for( size_t i = 0; i < _streamTranscoders.size(); ++i )
131+
{
132+
_streamTranscoders.at( i )->processFrame();
133+
}
134+
}
135+
136+
113137
void Transcoder::process( ProgressListener& progress )
114138
{
115139
size_t frame = 0;
@@ -134,21 +158,7 @@ void Transcoder::process( ProgressListener& progress )
134158
break;
135159
}
136160

137-
138-
for( size_t streamIndex = 0; streamIndex < _inputStreams.size(); ++streamIndex )
139-
{
140-
if( ( _streamTranscoders.size() > streamIndex ) &&
141-
! _streamTranscoders.at( streamIndex )->processFrame() )
142-
{
143-
//_inputStreams.erase( _inputStreams.begin() + streamIndex );
144-
_inputStreams.clear();
145-
}
146-
}
147-
148-
if( _inputStreams.size() == 0 )
149-
{
150-
break;
151-
}
161+
processFrame();
152162

153163
++frame;
154164
}

src/AvTranscoder/Transcoder.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ class Transcoder
4141
void add( const std::string& filename, const size_t streamIndex, const std::string& profile );
4242
void add( const InputStreamsDesc& streamDefs );
4343

44+
void processFrame();
45+
4446
void process( ProgressListener& progress );
4547

4648
private:

0 commit comments

Comments
 (0)