@@ -16,22 +16,6 @@ Transcoder::Transcoder( OutputFile& outputFile )
16
16
17
17
Transcoder::~Transcoder ()
18
18
{
19
- for ( std::vector< InputFile* >::iterator it = _inputFiles.begin (); it != _inputFiles.end (); ++it )
20
- {
21
- delete (*it);
22
- }
23
- for ( std::vector< DummyAudio* >::iterator it = _dummyAudio.begin (); it != _dummyAudio.end (); ++it )
24
- {
25
- delete (*it);
26
- }
27
- for ( std::vector< DummyVideo* >::iterator it = _dummyVideo.begin (); it != _dummyVideo.end (); ++it )
28
- {
29
- delete (*it);
30
- }
31
- for ( std::vector< StreamTranscoder* >::iterator it = _streamTranscoders.begin (); it != _streamTranscoders.end (); ++it )
32
- {
33
- delete (*it);
34
- }
35
19
}
36
20
37
21
void Transcoder::add ( const std::string& filename, const size_t streamIndex, const std::string& profileName )
@@ -70,7 +54,7 @@ bool Transcoder::processFrame()
70
54
std::cout << " process frame" << std::endl;
71
55
for ( size_t streamIndex = 0 ; streamIndex < _streamTranscoders.size (); ++streamIndex )
72
56
{
73
- if ( ! _streamTranscoders.at ( streamIndex )-> processFrame () )
57
+ if ( ! _streamTranscoders.at ( streamIndex ). processFrame () )
74
58
{
75
59
_streamTranscoders.clear ();
76
60
}
@@ -133,8 +117,7 @@ void Transcoder::addRewrapStream( const std::string& filename, const size_t stre
133
117
{
134
118
InputFile* referenceFile = addInputFile ( filename, streamIndex );
135
119
136
- StreamTranscoder* streamTranscoder = new StreamTranscoder ( referenceFile->getStream ( streamIndex ), _outputFile );
137
- _streamTranscoders.push_back ( streamTranscoder );
120
+ _streamTranscoders.push_back ( StreamTranscoder ( referenceFile->getStream ( streamIndex ), _outputFile ) );
138
121
_inputStreams.push_back ( &referenceFile->getStream ( streamIndex ) );
139
122
}
140
123
@@ -146,15 +129,13 @@ void Transcoder::addTranscodeStream( const std::string& filename, const size_t s
146
129
{
147
130
case AVMEDIA_TYPE_VIDEO:
148
131
{
149
- StreamTranscoder* streamTranscoder = new StreamTranscoder ( referenceFile->getStream ( streamIndex ), _outputFile, profile );
150
- _streamTranscoders.push_back ( streamTranscoder );
132
+ _streamTranscoders.push_back ( StreamTranscoder ( referenceFile->getStream ( streamIndex ), _outputFile, profile ) );
151
133
_inputStreams.push_back ( &referenceFile->getStream ( streamIndex ) );
152
134
break ;
153
135
}
154
136
case AVMEDIA_TYPE_AUDIO:
155
137
{
156
- StreamTranscoder* streamTranscoder = new StreamTranscoder ( referenceFile->getStream ( streamIndex ), _outputFile, profile );
157
- _streamTranscoders.push_back ( streamTranscoder );
138
+ _streamTranscoders.push_back ( StreamTranscoder ( referenceFile->getStream ( streamIndex ), _outputFile, profile ) );
158
139
_inputStreams.push_back ( &referenceFile->getStream ( streamIndex ) );
159
140
break ;
160
141
}
@@ -175,28 +156,26 @@ void Transcoder::addDummyStream( Profile::ProfileDesc& profile )
175
156
176
157
if ( profile.find ( Profile::avProfileType )->second == Profile::avProfileTypeAudio )
177
158
{
178
- _dummyAudio.push_back ( new DummyAudio () );
179
- StreamTranscoder* streamTranscoder = new StreamTranscoder ( *_dummyAudio.back (), _outputFile, profile );
180
- _streamTranscoders.push_back ( streamTranscoder );
159
+ _dummyAudio.push_back ( DummyAudio () );
160
+ _streamTranscoders.push_back ( StreamTranscoder ( _dummyAudio.back (), _outputFile, profile ) );
181
161
}
182
162
183
163
if ( profile.find ( Profile::avProfileType )->second == Profile::avProfileTypeVideo )
184
164
{
185
- _dummyVideo.push_back ( new DummyVideo () );
186
- StreamTranscoder* streamTranscoder = new StreamTranscoder ( *_dummyVideo.back (), _outputFile, profile );
187
- _streamTranscoders.push_back ( streamTranscoder );
165
+ _dummyVideo.push_back ( DummyVideo () );
166
+ _streamTranscoders.push_back ( StreamTranscoder ( _dummyVideo.back (), _outputFile, profile ) );
188
167
}
189
168
}
190
169
191
170
InputFile* Transcoder::addInputFile ( const std::string& filename, const size_t streamIndex )
192
171
{
193
172
InputFile* referenceFile = NULL ;
194
173
195
- for ( std::vector< InputFile* >::iterator it = _inputFiles.begin (); it != _inputFiles.end (); ++it )
174
+ for ( std::vector< InputFile >::iterator it = _inputFiles.begin (); it != _inputFiles.end (); ++it )
196
175
{
197
- if ( (*it)-> getFilename () == filename )
176
+ if ( (*it). getFilename () == filename )
198
177
{
199
- referenceFile = (*it);
178
+ referenceFile = & (*it);
200
179
break ;
201
180
}
202
181
}
@@ -205,8 +184,8 @@ InputFile* Transcoder::addInputFile( const std::string& filename, const size_t s
205
184
{
206
185
if ( _verbose )
207
186
std::cout << " new InputFile for " << filename << std::endl;
208
- _inputFiles.push_back ( new InputFile ( filename ) );
209
- referenceFile = _inputFiles.back ();
187
+ _inputFiles.push_back ( InputFile ( filename ) );
188
+ referenceFile = & _inputFiles.back ();
210
189
}
211
190
212
191
referenceFile->readStream ( streamIndex );
0 commit comments