Skip to content

Commit 76010a7

Browse files
author
Clement Champetier
committed
clean code for dummy encoding using transform
1 parent 4195029 commit 76010a7

File tree

2 files changed

+27
-25
lines changed

2 files changed

+27
-25
lines changed

src/AvTranscoder/Transcoder/StreamTranscoder.cpp

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33

44
#include <AvTranscoder/CodedStream/AvInputStream.hpp>
55

6+
#include <AvTranscoder/EssenceStream/DummyVideo.hpp>
7+
#include <AvTranscoder/EssenceStream/DummyAudio.hpp>
8+
69
#include <AvTranscoder/EssenceTransform/AudioEssenceTransform.hpp>
710
#include <AvTranscoder/EssenceTransform/VideoEssenceTransform.hpp>
811

@@ -19,8 +22,6 @@ StreamTranscoder::StreamTranscoder(
1922
, _outputStream( NULL )
2023
, _sourceBuffer( NULL )
2124
, _frameBuffer( NULL )
22-
, _videoFrameBuffer( NULL )
23-
, _audioFrameBuffer( NULL )
2425
, _inputEssence( NULL )
2526
, _outputEssence( NULL )
2627
, _transform( NULL )
@@ -53,8 +54,6 @@ StreamTranscoder::StreamTranscoder(
5354
, _outputStream( NULL )
5455
, _sourceBuffer( NULL )
5556
, _frameBuffer( NULL )
56-
, _videoFrameBuffer( NULL )
57-
, _audioFrameBuffer( NULL )
5857
, _inputEssence( NULL )
5958
, _outputEssence( NULL )
6059
, _transform( NULL )
@@ -76,8 +75,7 @@ StreamTranscoder::StreamTranscoder(
7675
_outputStream = &outputFile.addVideoStream( outputVideo->getVideoDesc() );
7776

7877
_sourceBuffer = new Image( _inputStream->getVideoDesc().getImageDesc() );
79-
_videoFrameBuffer = new Image( outputVideo->getVideoDesc().getImageDesc() );
80-
_frameBuffer = _videoFrameBuffer;
78+
_frameBuffer = new Image( outputVideo->getVideoDesc().getImageDesc() );
8179

8280
_transform = new VideoEssenceTransform();
8381

@@ -96,8 +94,7 @@ StreamTranscoder::StreamTranscoder(
9694
_outputStream = &outputFile.addAudioStream( outputAudio->getAudioDesc() );
9795

9896
_sourceBuffer = new AudioFrame( _inputStream->getAudioDesc().getFrameDesc() );
99-
_audioFrameBuffer = new AudioFrame( outputAudio->getAudioDesc().getFrameDesc() );
100-
_frameBuffer = _audioFrameBuffer;
97+
_frameBuffer = new AudioFrame( outputAudio->getAudioDesc().getFrameDesc() );
10198

10299
_transform = new AudioEssenceTransform();
103100

@@ -120,8 +117,6 @@ StreamTranscoder::StreamTranscoder(
120117
, _outputStream( NULL )
121118
, _sourceBuffer( NULL )
122119
, _frameBuffer( NULL )
123-
, _videoFrameBuffer( NULL )
124-
, _audioFrameBuffer( NULL )
125120
, _inputEssence( &inputEssence )
126121
, _outputEssence( NULL )
127122
, _transform( NULL )
@@ -135,24 +130,37 @@ StreamTranscoder::StreamTranscoder(
135130
OutputAudio* outputAudio = new OutputAudio();
136131

137132
_outputEssence = outputAudio;
138-
outputAudio->setProfile( profile, outputAudio->getAudioDesc().getFrameDesc() );
139-
133+
AudioFrameDesc srcAudioFrameDesc; // @todo better solution ?
134+
outputAudio->setProfile( profile, srcAudioFrameDesc );
135+
136+
std::cout << outputAudio->getAudioDesc().getSampleRate() << std::endl;
137+
std::cout << outputAudio->getAudioDesc().getSampleFormat() << std::endl;
138+
139+
static_cast<DummyAudio*>( _inputEssence )->setAudioDesc( outputAudio->getAudioDesc() );
140+
140141
_outputStream = &outputFile.addAudioStream( outputAudio->getAudioDesc() );
141-
_audioFrameBuffer = new AudioFrame( outputAudio->getAudioDesc().getFrameDesc() );
142-
_frameBuffer = _audioFrameBuffer;
142+
_sourceBuffer = new AudioFrame( outputAudio->getAudioDesc().getFrameDesc() );
143+
_frameBuffer = new AudioFrame( outputAudio->getAudioDesc().getFrameDesc() );
144+
145+
_transform = new AudioEssenceTransform();
146+
143147
return;
144148
}
145149

146150
if( profile.find( Profile::avProfileType )->second == Profile::avProfileTypeVideo )
147151
{
148152
OutputVideo* outputVideo = new OutputVideo();
149-
153+
150154
_outputEssence = outputVideo;
151-
outputVideo->setProfile( profile, outputVideo->getVideoDesc().getImageDesc() );
155+
ImageDesc srcImageDesc; // @todo better solution ?
156+
outputVideo->setProfile( profile, srcImageDesc );
152157

153158
_outputStream = &outputFile.addVideoStream( outputVideo->getVideoDesc() );
154-
_videoFrameBuffer = new Image( outputVideo->getVideoDesc().getImageDesc() );
155-
_frameBuffer = _videoFrameBuffer;
159+
_sourceBuffer = new Image( outputVideo->getVideoDesc().getImageDesc() );
160+
_frameBuffer = new Image( outputVideo->getVideoDesc().getImageDesc() );
161+
162+
_transform = new VideoEssenceTransform();
163+
156164
return;
157165
}
158166

@@ -199,24 +207,20 @@ bool StreamTranscoder::processTranscode()
199207
assert( _sourceBuffer != NULL );
200208
assert( _frameBuffer != NULL );
201209

202-
std::cout << "transcode" << std::endl;
203-
204210
DataStream dataStream;
205211
if( _inputEssence->readNextFrame( *_sourceBuffer ) )
206-
{
212+
{
207213
_transform->convert( *_sourceBuffer, *_frameBuffer );
208214
_outputEssence->encodeFrame( *_frameBuffer, dataStream );
209215
}
210216
else
211217
{
212-
std::cout << "encode last frame" << std::endl;
213218
if( ! _outputEssence->encodeFrame( dataStream ) )
214219
{
215220
return false;
216221
}
217222
}
218223

219-
std::cout << "wrap" << std::endl;
220224
_outputStream->wrap( dataStream );
221225
return true;
222226
}

src/AvTranscoder/Transcoder/StreamTranscoder.hpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,6 @@ class StreamTranscoder
5656

5757
Frame* _sourceBuffer;
5858
Frame* _frameBuffer;
59-
Image* _videoFrameBuffer;
60-
AudioFrame* _audioFrameBuffer;
6159

6260
InputEssence* _inputEssence;
6361
OutputEssence* _outputEssence;

0 commit comments

Comments
 (0)