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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy