ImFusion SDK 4.3
SeekableStream< T, StreamType > Class Template Referenceabstract
+ Inheritance diagram for SeekableStream< T, StreamType >:

Public Member Functions

 SeekableStream (const Seekable< T > &s, const std::string &name="", bool busyMode=false)
 
 SeekableStream (std::unique_ptr< Seekable< T > > s, const std::string &name="", bool busyMode=false)
 
std::string uuid () override
 
const Seekable< T > * source () const
 
void setSource (const Seekable< T > &source)
 Set the seekable source of the stream.
 
bool openImpl () override
 
bool startImpl () override
 
bool stopImpl () override
 Stop stream After stopping the stream updateListenersStopped must be called.
 
bool closeImpl () override
 Close stream.
 
bool supportsPausing () const override
 
bool pauseImpl () override
 Pause stream (not required to be supported)
 
bool resumeImpl () override
 Resume stream from pause.
 
bool reset () override
 
std::optional< Stream::WorkContinuationdoWork () override
 
void setFps (double fps)
 Set the frame rate at which the seekable elements are displayed.
 
double getFps () const
 Get the frame rate at which the seekable elements are displayed. Returns the mean frame rate for seekables with timestamps.
 
void setUseFps (bool in)
 Set the value of m_useFps. if m_useFps is true then the streams plays at the requested frame rate.
 
bool getUseFps () const
 Get whether the stream plays the elements of its seekable at a given frame rate or at the timestamps of the seekable.
 
double sizeInSeconds () const
 
std::size_t getLostFrames () const
 

Protected Attributes

double m_firstTimestamp = 0
 
std::optional< std::chrono::time_point< std::chrono::system_clock > > m_timeAtStart
 
int m_indexAtStart = -1
 
std::unique_ptr< Seekable< T > > m_ownedSource = nullptr
 
const Seekable< T > * m_source = nullptr
 
double m_fps = 30.0
 
bool m_busyMode = true
 
bool m_useFps = false
 Reduces the chance of dropping frames at the cost of higher CPU usage.
 
std::size_t m_lostFrames = 0
 

Member Function Documentation

◆ uuid()

template<typename T, typename StreamType>
std::string uuid ( )
inlineoverride

Reimplemented in SeekableTrackingStream.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close