Skip to content

Commit 792021a

Browse files
Merge pull request #30 from cchampet/dev_DummyAudioSetFrame
DummyAudio: add setFrame
2 parents 3a1ee11 + d939ae1 commit 792021a

File tree

4 files changed

+29
-12
lines changed

4 files changed

+29
-12
lines changed

src/AvTranscoder/EssenceStream/DummyAudio.cpp

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ namespace avtranscoder
55

66
DummyAudio::DummyAudio( )
77
: InputEssence( )
8+
, _inputFrame( NULL )
89
{
910
}
1011

@@ -27,21 +28,33 @@ AudioDesc DummyAudio::getAudioDesc() const
2728
return _audioDesc;
2829
}
2930

31+
void DummyAudio::setFrame( Frame& inputFrame )
32+
{
33+
_inputFrame = &inputFrame;
34+
}
35+
3036
bool DummyAudio::readNextFrame( Frame& frameBuffer )
3137
{
3238
frameBuffer.getBuffer().resize( _frameDesc.getDataSize() );
3339

34-
AudioFrame& audioFrameBuffer = static_cast<AudioFrame&>( frameBuffer );
35-
audioFrameBuffer.setNbSamples( 1.0 * _frameDesc.getSampleRate() / _frameDesc.getFps() );
40+
if( ! _inputFrame )
41+
{
42+
AudioFrame& audioFrameBuffer = static_cast<AudioFrame&>( frameBuffer );
43+
audioFrameBuffer.setNbSamples( 1.0 * _frameDesc.getSampleRate() / _frameDesc.getFps() );
3644

37-
//av_samples_set_silence( data.getPtr(), offset, nb_samples, nb_channels, sample_fmt );
38-
int fill_char = (
39-
_frameDesc.getSampleFormat() == AV_SAMPLE_FMT_U8 ||
40-
_frameDesc.getSampleFormat() == AV_SAMPLE_FMT_U8P
41-
) ? 0x80 : 0x00;
42-
43-
memset( frameBuffer.getPtr(), fill_char, frameBuffer.getSize() );
45+
//av_samples_set_silence( data.getPtr(), offset, nb_samples, nb_channels, sample_fmt );
46+
int fill_char = (
47+
_frameDesc.getSampleFormat() == AV_SAMPLE_FMT_U8 ||
48+
_frameDesc.getSampleFormat() == AV_SAMPLE_FMT_U8P
49+
) ? 0x80 : 0x00;
4450

51+
memset( frameBuffer.getPtr(), fill_char, frameBuffer.getSize() );
52+
return true;
53+
}
54+
55+
if( frameBuffer.getSize() != _inputFrame->getSize() )
56+
frameBuffer.getBuffer().resize( _inputFrame->getSize() );
57+
std::memcpy( frameBuffer.getPtr(), _inputFrame->getPtr(), _inputFrame->getSize() );
4558
return true;
4659
}
4760

src/AvTranscoder/EssenceStream/DummyAudio.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,17 @@ class AvExport DummyAudio : public InputEssence
2323
AudioDesc getAudioDesc() const;
2424

2525
void setup() {}
26+
27+
void setFrame( Frame& inputFrame );
2628

2729
bool readNextFrame( Frame& frameBuffer );
2830
bool readNextFrame( Frame& frameBuffer, const size_t subStreamIndex );
2931

3032
private:
3133
AudioDesc _audioDesc;
3234
AudioFrameDesc _frameDesc;
35+
36+
Frame* _inputFrame;
3337
};
3438

3539
}

src/AvTranscoder/EssenceStream/DummyVideo.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ DummyVideo::~DummyVideo( )
1717
void DummyVideo::setVideoDesc( const VideoDesc& videoDesc )
1818
{
1919
_videoDesc = videoDesc;
20-
_VideoFrameDesc = _videoDesc.getVideoFrameDesc();
20+
_videoFrameDesc = _videoDesc.getVideoFrameDesc();
2121
}
2222

2323
VideoDesc DummyVideo::getVideoDesc() const
@@ -32,7 +32,7 @@ void DummyVideo::setFrame( Frame& inputFrame )
3232

3333
bool DummyVideo::readNextFrame( Frame& frameBuffer )
3434
{
35-
frameBuffer.getBuffer().resize( _VideoFrameDesc.getDataSize() );
35+
frameBuffer.getBuffer().resize( _videoFrameDesc.getDataSize() );
3636

3737
if( ! _inputFrame )
3838
{

src/AvTranscoder/EssenceStream/DummyVideo.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class AvExport DummyVideo : public InputEssence
3232
private:
3333
Frame* _inputFrame;
3434
VideoDesc _videoDesc;
35-
VideoFrameDesc _VideoFrameDesc;
35+
VideoFrameDesc _videoFrameDesc;
3636

3737
size_t _numberOfView;
3838
};

0 commit comments

Comments
 (0)