Skip to content

Commit 672eea8

Browse files
author
Clement Champetier
committed
DummyVideo: add setFrame
* Can create a dummyVideo, and set its Frame. * When read the next frame of the object, read silent(black) if no specific Frame was set, or read the data of the Frame specified.
1 parent 1bc5582 commit 672eea8

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

src/AvTranscoder/EssenceStream/DummyVideo.cpp

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ namespace avtranscoder
88

99
DummyVideo::DummyVideo( )
1010
: InputEssence( )
11+
, _inputFrame( NULL )
1112
, _numberOfView( 1 )
1213
{
1314
}
@@ -27,13 +28,25 @@ VideoDesc DummyVideo::getVideoDesc() const
2728
return _videoDesc;
2829
}
2930

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

34-
int fillChar = 0; // fill images with black
35-
memset( frameBuffer.getPtr(), fillChar, frameBuffer.getSize() );
36-
40+
if( ! _inputFrame )
41+
{
42+
int fillChar = 0; // fill images with black
43+
memset( frameBuffer.getPtr(), fillChar, frameBuffer.getSize() );
44+
return true;
45+
}
46+
47+
if( frameBuffer.getSize() != _inputFrame->getSize() )
48+
frameBuffer.getBuffer().resize( _inputFrame->getSize() );
49+
std::memcpy( frameBuffer.getPtr(), _inputFrame->getPtr(), _inputFrame->getSize() );
3750
return true;
3851
}
3952

src/AvTranscoder/EssenceStream/DummyVideo.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,13 @@ class AvExport DummyVideo : public InputEssence
2323

2424
void setup() {}
2525

26+
void setFrame( Frame& inputFrame );
27+
2628
bool readNextFrame( Frame& frameBuffer );
2729
bool readNextFrame( Frame& frameBuffer, const size_t subStreamIndex );
2830

2931
private:
32+
Frame* _inputFrame;
3033
VideoDesc _videoDesc;
3134
ImageDesc _imageDesc;
3235

0 commit comments

Comments
 (0)