Skip to content

Commit 6e50bca

Browse files
author
Clement Champetier
committed
StreamTranscoder: clean constructors
1 parent 3e81855 commit 6e50bca

File tree

1 file changed

+36
-30
lines changed

1 file changed

+36
-30
lines changed

src/AvTranscoder/transcoder/StreamTranscoder.cpp

Lines changed: 36 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -87,41 +87,47 @@ StreamTranscoder::StreamTranscoder(
8787
{
8888
case AVMEDIA_TYPE_VIDEO :
8989
{
90+
// input decoder
9091
_inputDecoder = new VideoDecoder( *static_cast<InputStream*>( _inputStream ) );
9192
_inputDecoder->setup();
93+
_currentDecoder = _inputDecoder;
9294

95+
// output encoder
9396
VideoEncoder* outputVideo = new VideoEncoder( profile.at( constants::avProfileCodec ) );
94-
9597
_outputEncoder = outputVideo;
9698

9799
VideoFrameDesc outputFrameDesc = _inputStream->getVideoCodec().getVideoFrameDesc();
98100
outputFrameDesc.setParameters( profile );
99101
outputVideo->setProfile( profile, outputFrameDesc );
100-
102+
103+
// output stream
101104
_outputStream = &outputFile.addVideoStream( outputVideo->getVideoCodec() );
102105

106+
// buffers to process
103107
_sourceBuffer = new VideoFrame( _inputStream->getVideoCodec().getVideoFrameDesc() );
104108
_frameBuffer = new VideoFrame( outputVideo->getVideoCodec().getVideoFrameDesc() );
105-
109+
110+
// transform
106111
_transform = new VideoTransform();
107112

113+
// generator decoder
108114
VideoGenerator* generatorVideo = new VideoGenerator();
109115
generatorVideo->setVideoFrameDesc( outputVideo->getVideoCodec().getVideoFrameDesc() );
110116
_generator = generatorVideo;
111117

112-
_currentDecoder = _inputDecoder;
113-
114118
break;
115119
}
116120
case AVMEDIA_TYPE_AUDIO :
117121
{
122+
// input decoder
118123
_inputDecoder = new AudioDecoder( *static_cast<InputStream*>( _inputStream ) );
119124
_inputDecoder->setup();
120-
121-
AudioEncoder* outputAudio = new AudioEncoder( profile.at( constants::avProfileCodec ) );
125+
_currentDecoder = _inputDecoder;
122126

127+
// output encoder
128+
AudioEncoder* outputAudio = new AudioEncoder( profile.at( constants::avProfileCodec ) );
123129
_outputEncoder = outputAudio;
124-
130+
125131
AudioFrameDesc outputFrameDesc( _inputStream->getAudioCodec().getAudioFrameDesc() );
126132
outputFrameDesc.setParameters( profile );
127133
if( subStreamIndex > -1 )
@@ -131,23 +137,25 @@ StreamTranscoder::StreamTranscoder(
131137
}
132138
outputAudio->setProfile( profile, outputFrameDesc );
133139

140+
// output stream
134141
_outputStream = &outputFile.addAudioStream( outputAudio->getAudioCodec() );
135142

143+
// buffers to process
136144
AudioFrameDesc inputFrameDesc( _inputStream->getAudioCodec().getAudioFrameDesc() );
137145
if( subStreamIndex > -1 )
138146
inputFrameDesc.setChannels( 1 );
139-
147+
140148
_sourceBuffer = new AudioFrame( inputFrameDesc );
141149
_frameBuffer = new AudioFrame( outputAudio->getAudioCodec().getAudioFrameDesc() );
142-
150+
151+
// transform
143152
_transform = new AudioTransform();
144153

154+
// generator decoder
145155
AudioGenerator* generatorAudio = new AudioGenerator();
146156
generatorAudio->setAudioFrameDesc( outputAudio->getAudioCodec().getAudioFrameDesc() );
147157
_generator = generatorAudio;
148158

149-
_currentDecoder = _inputDecoder;
150-
151159
break;
152160
}
153161
default:
@@ -181,57 +189,55 @@ StreamTranscoder::StreamTranscoder(
181189
{
182190
if( profile.find( constants::avProfileType )->second == constants::avProfileTypeVideo )
183191
{
184-
// Create input essence based on a given input VideoCodec
192+
// generator decoder
185193
VideoGenerator* generatorVideo = new VideoGenerator();
186194
const VideoCodec& inputVideoCodec = static_cast<const VideoCodec&>( inputCodec );
187195
generatorVideo->setVideoFrameDesc( inputVideoCodec.getVideoFrameDesc() );
188-
_inputDecoder = generatorVideo;
196+
_currentDecoder = generatorVideo;
189197

190-
// Create inputFrame, and outputFrame which is based on a given profile
198+
// buffers to process
191199
VideoFrameDesc inputFrameDesc = inputVideoCodec.getVideoFrameDesc();
192200
VideoFrameDesc outputFrameDesc = inputFrameDesc;
193201
outputFrameDesc.setParameters( profile );
194202
_sourceBuffer = new VideoFrame( inputFrameDesc );
195203
_frameBuffer = new VideoFrame( outputFrameDesc );
196204

197-
// Create output essence
205+
// transform
206+
_transform = new VideoTransform();
207+
208+
// output encoder
198209
VideoEncoder* outputVideo = new VideoEncoder( profile.at( constants::avProfileCodec ) );
199210
outputVideo->setProfile( profile, outputFrameDesc );
200211
_outputEncoder = outputVideo;
201212

202-
// Create a video stream in the output file
213+
// output stream
203214
_outputStream = &outputFile.addVideoStream( outputVideo->getVideoCodec() );
204-
205-
_transform = new VideoTransform();
206-
207-
_currentDecoder = _inputDecoder;
208215
}
209216
else if( profile.find( constants::avProfileType )->second == constants::avProfileTypeAudio )
210217
{
211-
// Create input essence based on a given input AudioCodec
218+
// generator decoder
212219
AudioGenerator* generatorAudio = new AudioGenerator();
213220
const AudioCodec& inputAudioCodec = static_cast<const AudioCodec&>( inputCodec );
214221
generatorAudio->setAudioFrameDesc( inputAudioCodec.getAudioFrameDesc() );
215-
_inputDecoder = generatorAudio;
222+
_currentDecoder = generatorAudio;
216223

217-
// Create inputFrame, and outputFrame which is based on a given profile
224+
// buffers to process
218225
AudioFrameDesc inputFrameDesc = inputAudioCodec.getAudioFrameDesc();
219226
AudioFrameDesc outputFrameDesc = inputFrameDesc;
220227
outputFrameDesc.setParameters( profile );
221228
_sourceBuffer = new AudioFrame( inputFrameDesc );
222229
_frameBuffer = new AudioFrame( outputFrameDesc );
223230

224-
// Create output essence
231+
// transform
232+
_transform = new AudioTransform();
233+
234+
// output encoder
225235
AudioEncoder* outputAudio = new AudioEncoder( profile.at( constants::avProfileCodec ) );
226236
outputAudio->setProfile( profile, outputFrameDesc );
227237
_outputEncoder = outputAudio;
228238

229-
// Create an audio stream in the output file
239+
// output stream
230240
_outputStream = &outputFile.addAudioStream( outputAudio->getAudioCodec() );
231-
232-
_transform = new AudioTransform();
233-
234-
_currentDecoder = _inputDecoder;
235241
}
236242
else
237243
{

0 commit comments

Comments
 (0)