mf
Media Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
mf::flow::node Class Referenceabstract

Node in flow graph, base class. More...

#include <node.h>

Inheritance diagram for mf::flow::node:
mf::flow::filter_node mf::flow::async_node mf::flow::sink_node mf::flow::sync_node

Public Member Functions

virtual ~node ()
 
graphthis_graph () noexcept
 
void define_source_stream_properties (bool seekable, time_unit stream_duration=-1)
 
void set_prefetch_duration (time_unit)
 
const auto & inputs () noexcept
 
const auto & outputs () noexcept
 
bool is_source () const noexcept
 
bool is_sink () const noexcept
 
virtual void internal_setup ()=0
 Called by propagate_setup_. More...
 
virtual void launch ()=0
 Called by graph for all nodes, before any frame is pulled from sink. More...
 
virtual void stop ()=0
 Called by graph for all node, before destruction of any node. More...
 
virtual bool process_next_frame ()=0
 
time_unit end_time () const noexcept
 
bool reached_end () const noexcept
 
bool was_setup () const noexcept
 
time_unit prefetch_duration () const noexcept
 
time_unit offset () const noexcept
 
bool stream_duration_is_defined () const noexcept
 
time_unit stream_duration () const noexcept
 
bool is_seekable () const noexcept
 
bool is_bounded () const
 
bool is_active () const noexcept
 
void update_activation ()
 Called by output, propagates to preceding nodes. More...
 
time_unit current_time () const noexcept
 

Public Attributes

std::string name
 

Protected Member Functions

 node (graph &gr)
 
 node (const node &)=delete
 
nodeoperator= (const node &)=delete
 
void setup_sink ()
 Called by sink node, runs set up procedure for all node in graph. More...
 
void set_current_time (time_unit t) noexcept
 
void mark_end ()
 
node_job make_job ()
 
void cancel_job (node_job &)
 
template<typename Input >
Input & add_input_ (time_unit past_window, time_unit future_window)
 
template<typename Output >
Output & add_output_ (const frame_format &format)
 

Detailed Description

Node in flow graph, base class.

Constructor & Destructor Documentation

mf::flow::node::node ( graph gr)
inlineexplicitprotected
mf::flow::node::node ( const node )
protecteddelete
virtual mf::flow::node::~node ( )
inlinevirtual

Member Function Documentation

template<typename Input >
Input& mf::flow::node::add_input_ ( time_unit  past_window,
time_unit  future_window 
)
inlineprotected
template<typename Output >
Output& mf::flow::node::add_output_ ( const frame_format format)
inlineprotected
void mf::flow::node::cancel_job ( node_job job)
protected
time_unit mf::flow::node::current_time ( ) const
inlinenoexcept
void mf::flow::node::define_source_stream_properties ( bool  seekable,
time_unit  stream_duration = -1 
)
time_unit mf::flow::node::end_time ( ) const
inlinenoexcept
const auto& mf::flow::node::inputs ( )
inlinenoexcept
virtual void mf::flow::node::internal_setup ( )
pure virtual

Called by propagate_setup_.

Implemented in mf::flow::async_node, mf::flow::sync_node, and mf::flow::sink_node.

bool mf::flow::node::is_active ( ) const
inlinenoexcept
bool mf::flow::node::is_bounded ( ) const
bool mf::flow::node::is_seekable ( ) const
inlinenoexcept
bool mf::flow::node::is_sink ( ) const
inlinenoexcept
bool mf::flow::node::is_source ( ) const
inlinenoexcept
virtual void mf::flow::node::launch ( )
pure virtual

Called by graph for all nodes, before any frame is pulled from sink.

Implemented in mf::flow::async_node, mf::flow::sync_node, and mf::flow::sink_node.

node_job mf::flow::node::make_job ( )
protected
void mf::flow::node::mark_end ( )
inlineprotected
time_unit mf::flow::node::offset ( ) const
inlinenoexcept
node& mf::flow::node::operator= ( const node )
protecteddelete
const auto& mf::flow::node::outputs ( )
inlinenoexcept
time_unit mf::flow::node::prefetch_duration ( ) const
inlinenoexcept
virtual bool mf::flow::node::process_next_frame ( )
pure virtual
bool mf::flow::node::reached_end ( ) const
noexcept
void mf::flow::node::set_current_time ( time_unit  t)
inlineprotectednoexcept
void mf::flow::node::set_prefetch_duration ( time_unit  prefetch)
void mf::flow::node::setup_sink ( )
protected

Called by sink node, runs set up procedure for all node in graph.

virtual void mf::flow::node::stop ( )
pure virtual

Called by graph for all node, before destruction of any node.

Implemented in mf::flow::async_node, mf::flow::sync_node, and mf::flow::sink_node.

time_unit mf::flow::node::stream_duration ( ) const
inlinenoexcept
bool mf::flow::node::stream_duration_is_defined ( ) const
inlinenoexcept
graph& mf::flow::node::this_graph ( )
inlinenoexcept
void mf::flow::node::update_activation ( )

Called by output, propagates to preceding nodes.

bool mf::flow::node::was_setup ( ) const
inlinenoexcept

Member Data Documentation

std::string mf::flow::node::name

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