OpenShot Library | libopenshot  0.2.7
Public Member Functions | List of all members
openshot::DecklinkReader Class Reference

This class uses the Blackmagic Decklink libraries, to open video streams on Blackmagic devices. More...

#include <DecklinkReader.h>

Inheritance diagram for openshot::DecklinkReader:
openshot::ReaderBase

Public Member Functions

void Close ()
 Destructor. More...
 
 DecklinkReader (int device, int video_mode, int pixel_format, int channels, int sample_depth)
 
CacheMemoryGetCache ()
 Get the cache object used by this reader (always returns NULL for this reader) More...
 
unsigned long GetCurrentFrameNumber ()
 
std::shared_ptr< FrameGetFrame (int64_t requested_frame)
 
bool IsOpen ()
 Determine if reader is open or closed. More...
 
std::string Json () const override
 Generate JSON string of this object. More...
 
Json::Value JsonValue () const
 Generate Json::Value for this object. More...
 
std::string Name ()
 Return the type name of the class. More...
 
void Open ()
 Open device and video stream - which is called by the constructor automatically. More...
 
void SetJson (const std::string value)
 Load JSON string into this object. More...
 
void SetJsonValue (const Json::Value root)
 Load Json::Value into this object. More...
 
 ~DecklinkReader ()
 
- Public Member Functions inherited from openshot::ReaderBase
void DisplayInfo (std::ostream *out=&std::cout)
 Display file information in the standard output stream (stdout) More...
 
openshot::ClipBaseParentClip ()
 Parent clip object of this reader (which can be unparented and NULL) More...
 
void ParentClip (openshot::ClipBase *new_clip)
 Set parent clip object of this reader. More...
 
 ReaderBase ()
 Constructor for the base reader, where many things are initialized. More...
 
virtual ~ReaderBase ()=default
 

Additional Inherited Members

- Public Attributes inherited from openshot::ReaderBase
openshot::ReaderInfo info
 Information about the current media file. More...
 
- Protected Attributes inherited from openshot::ReaderBase
openshot::ClipBaseclip
 Pointer to the parent clip instance (if any) More...
 
juce::CriticalSection getFrameCriticalSection
 Section lock for multiple threads. More...
 
juce::CriticalSection processingCriticalSection
 

Detailed Description

This class uses the Blackmagic Decklink libraries, to open video streams on Blackmagic devices.

This requires special hardware manufactured by Blackmagic Designs. Once the device is acquired and connected, this reader returns openshot::Frame objects containing the image and audio data.

Definition at line 43 of file DecklinkReader.h.

Constructor & Destructor Documentation

◆ DecklinkReader()

DecklinkReader::DecklinkReader ( int  device,
int  video_mode,
int  pixel_format,
int  channels,
int  sample_depth 
)

Constructor for DecklinkReader. This automatically opens the device and loads the first second of video, or it throws one of the following exceptions.

Definition at line 18 of file DecklinkReader.cpp.

◆ ~DecklinkReader()

DecklinkReader::~DecklinkReader ( )

Definition at line 130 of file DecklinkReader.cpp.

Member Function Documentation

◆ Close()

void DecklinkReader::Close ( )
virtual

Destructor.

Close the device and video stream

Implements openshot::ReaderBase.

Definition at line 198 of file DecklinkReader.cpp.

Referenced by SetJsonValue().

◆ GetCache()

CacheMemory* openshot::DecklinkReader::GetCache ( )
inlinevirtual

Get the cache object used by this reader (always returns NULL for this reader)

Implements openshot::ReaderBase.

Definition at line 85 of file DecklinkReader.h.

◆ GetCurrentFrameNumber()

unsigned long DecklinkReader::GetCurrentFrameNumber ( )

Definition at line 214 of file DecklinkReader.cpp.

Referenced by GetCache().

◆ GetFrame()

std::shared_ptr< Frame > DecklinkReader::GetFrame ( int64_t  requested_frame)
virtual

Get an openshot::Frame object for a specific frame number of this reader. Frame number is ignored, since it always gets the latest LIVE frame.

Returns
The requested frame (containing the image)
Parameters
requested_frameThe frame number that is requested.

Implements openshot::ReaderBase.

Definition at line 220 of file DecklinkReader.cpp.

Referenced by GetCache().

◆ IsOpen()

bool openshot::DecklinkReader::IsOpen ( )
inlinevirtual

Determine if reader is open or closed.

Implements openshot::ReaderBase.

Definition at line 96 of file DecklinkReader.h.

◆ Json()

std::string DecklinkReader::Json ( ) const
overridevirtual

Generate JSON string of this object.

Implements openshot::ReaderBase.

Definition at line 232 of file DecklinkReader.cpp.

Referenced by Name().

◆ JsonValue()

Json::Value DecklinkReader::JsonValue ( ) const
virtual

Generate Json::Value for this object.

Implements openshot::ReaderBase.

Definition at line 239 of file DecklinkReader.cpp.

Referenced by Json(), and Name().

◆ Name()

std::string openshot::DecklinkReader::Name ( )
inlinevirtual

Return the type name of the class.

Implements openshot::ReaderBase.

Definition at line 99 of file DecklinkReader.h.

◆ Open()

void DecklinkReader::Open ( )
virtual

Open device and video stream - which is called by the constructor automatically.

Implements openshot::ReaderBase.

Definition at line 155 of file DecklinkReader.cpp.

Referenced by Name(), and SetJsonValue().

◆ SetJson()

void DecklinkReader::SetJson ( const std::string  value)
virtual

Load JSON string into this object.

Implements openshot::ReaderBase.

Definition at line 250 of file DecklinkReader.cpp.

Referenced by Name().

◆ SetJsonValue()

void DecklinkReader::SetJsonValue ( const Json::Value  root)
virtual

Load Json::Value into this object.

Implements openshot::ReaderBase.

Definition at line 267 of file DecklinkReader.cpp.

Referenced by Name(), and SetJson().


The documentation for this class was generated from the following files: