OpenShot Library | libopenshot 0.3.3
Loading...
Searching...
No Matches
openshot::ReaderBase Class Referenceabstract

This abstract class is the base class, used by all readers in libopenshot. More...

#include <ReaderBase.h>

Inheritance diagram for openshot::ReaderBase:
[legend]
Collaboration diagram for openshot::ReaderBase:
[legend]

Public Member Functions

virtual void Close ()=0
 Close the reader (and any resources it was consuming)
 
void DisplayInfo (std::ostream *out=&std::cout)
 Display file information in the standard output stream (stdout)
 
virtual openshot::CacheBaseGetCache ()=0
 Get the cache object used by this reader (note: not all readers use cache)
 
virtual std::shared_ptr< openshot::FrameGetFrame (int64_t number)=0
 
virtual bool IsOpen ()=0
 Determine if reader is open or closed.
 
virtual std::string Json () const =0
 Generate JSON string of this object.
 
virtual Json::Value JsonValue () const =0
 Generate Json::Value for this object.
 
virtual std::string Name ()=0
 Return the type name of the class.
 
virtual void Open ()=0
 Open the reader (and start consuming resources, such as images or video files)
 
openshot::ClipBaseParentClip ()
 Parent clip object of this reader (which can be unparented and NULL)
 
void ParentClip (openshot::ClipBase *new_clip)
 Set parent clip object of this reader.
 
 ReaderBase ()
 Constructor for the base reader, where many things are initialized.
 
virtual void SetJson (const std::string value)=0
 Load JSON string into this object.
 
virtual void SetJsonValue (const Json::Value root)=0
 Load Json::Value into this object.
 
virtual ~ReaderBase ()=default
 

Public Attributes

openshot::ReaderInfo info
 Information about the current media file.
 

Protected Attributes

openshot::ClipBaseclip
 Pointer to the parent clip instance (if any)
 
std::recursive_mutex getFrameMutex
 Mutex for multiple threads.
 

Detailed Description

This abstract class is the base class, used by all readers in libopenshot.

Readers are types of classes that read video, audio, and image files, and return openshot::Frame objects. The only requirements for a 'reader', are to derive from this base class, implement the GetFrame method, and populate ReaderInfo.

Definition at line 75 of file ReaderBase.h.

Constructor & Destructor Documentation

◆ ReaderBase()

ReaderBase::ReaderBase ( )

Constructor for the base reader, where many things are initialized.

Definition at line 27 of file ReaderBase.cpp.

◆ ~ReaderBase()

virtual openshot::ReaderBase::~ReaderBase ( )
virtualdefault

Member Function Documentation

◆ Close()

◆ DisplayInfo()

void ReaderBase::DisplayInfo ( std::ostream * out = &std::cout)

Display file information in the standard output stream (stdout)

Definition at line 61 of file ReaderBase.cpp.

Referenced by openshot::QtPlayer::SetSource(), and openshot::QtPlayer::SetTimelineSource().

◆ GetCache()

◆ GetFrame()

virtual std::shared_ptr< openshot::Frame > openshot::ReaderBase::GetFrame ( int64_t number)
pure virtual

◆ IsOpen()

◆ Json()

◆ JsonValue()

◆ Name()

◆ Open()

◆ ParentClip() [1/2]

openshot::ClipBase * ReaderBase::ParentClip ( )

Parent clip object of this reader (which can be unparented and NULL)

Definition at line 245 of file ReaderBase.cpp.

Referenced by openshot::Clip::Clip(), openshot::Clip::Clip(), openshot::FrameMapper::GetFrame(), openshot::ObjectDetection::GetFrame(), openshot::Clip::Reader(), and openshot::Clip::SetJsonValue().

◆ ParentClip() [2/2]

void ReaderBase::ParentClip ( openshot::ClipBase * new_clip)

Set parent clip object of this reader.

Definition at line 250 of file ReaderBase.cpp.

◆ SetJson()

virtual void openshot::ReaderBase::SetJson ( const std::string value)
pure virtual

◆ SetJsonValue()

Member Data Documentation

◆ clip

◆ getFrameMutex

◆ info

openshot::ReaderInfo openshot::ReaderBase::info

Information about the current media file.

Definition at line 88 of file ReaderBase.h.

Referenced by openshot::Timeline::apply_effects(), openshot::FrameMapper::ChangeMapping(), openshot::Clip::Clip(), openshot::Clip::Clip(), openshot::FFmpegReader::Close(), openshot::QtHtmlReader::Close(), openshot::QtImageReader::Close(), openshot::QtTextReader::Close(), openshot::WriterBase::CopyReaderInfo(), DisplayInfo(), openshot::Clip::End(), openshot::AudioWaveformer::ExtractSamples(), openshot::FFmpegReader::FFmpegReader(), openshot::FrameMapper::FrameMapper(), openshot::FFmpegReader::GetFrame(), openshot::FrameMapper::GetFrame(), openshot::Mask::GetFrame(), openshot::QtHtmlReader::GetFrame(), openshot::QtImageReader::GetFrame(), openshot::QtTextReader::GetFrame(), openshot::Timeline::GetFrame(), openshot::FrameMapper::GetMappedFrame(), openshot::Timeline::GetMaxFrame(), openshot::AudioReaderSource::getTotalLength(), openshot::Clip::init_reader_rotation(), openshot::Clip::init_reader_settings(), JsonValue(), openshot::Clip::Open(), openshot::DummyReader::Open(), openshot::FFmpegReader::Open(), openshot::ImageReader::Open(), openshot::QtHtmlReader::Open(), openshot::QtImageReader::Open(), openshot::QtTextReader::Open(), openshot::TextReader::Open(), openshot::Clip::PropertiesJSON(), ReaderBase(), openshot::FrameMapper::ResampleMappedAudio(), openshot::VideoCacheThread::run(), SetJsonValue(), openshot::Timeline::SetJsonValue(), openshot::Timeline::SetMaxSize(), openshot::QtPlayer::SetSource(), openshot::QtPlayer::Speed(), openshot::Timeline::Timeline(), and openshot::Timeline::Timeline().


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