Skip to content

Class mediapipe::OutputStreamHandler

ClassList > mediapipe > OutputStreamHandler

Inherited by the following classes: mediapipe::InOrderOutputStreamHandler

Public Types

Type Name
typedef internal::Collection< OutputStreamManager * > OutputStreamManagerSet
typedef std::unordered_map< std::string, std::unordered_set< int > > OutputStreamToSourcesMap

Public Functions

Type Name
void Close (OutputStreamShardSet * output_shards)
std::string FirstStreamName () const
absl::Status InitializeOutputStreamManagers (OutputStreamManager * flat_output_stream_managers)
int NumOutputStreams () const
void Open (OutputStreamShardSet * output_shards)
const MediaPipeOptions & Options () const
OutputStreamHandler (std::shared_ptr< tool::TagMap > tag_map, CalculatorContextManager * calculator_context_manager, const MediaPipeOptions & options, bool calculator_run_in_parallel)
const OutputStreamManagerSet & OutputStreams ()
const std::shared_ptr< tool::TagMap > & OutputTagMap () const
void PostProcess (Timestamp input_timestamp)
void PrepareForRun (const std::function< void(absl::Status)> & error_callback)
void PrepareOutputs (Timestamp input_timestamp, OutputStreamShardSet * output_shards)
absl::Status SetupOutputShards (OutputStreamShardSet * output_shards)
void UpdateTaskTimestampBound (Timestamp timestamp)
virtual ~OutputStreamHandler () = default

Protected Types

Type Name
enum PropagationState

Protected Attributes

Type Name
CalculatorContextManager *const calculator_context_manager_
const bool calculator_run_in_parallel_
MediaPipeOptions options_
OutputStreamManagerSet output_stream_managers_
absl::Mutex timestamp_mutex_

Protected Functions

Type Name
std::set< Timestamp > completed_input_timestamps_ ABSL_GUARDED_BY (timestamp_mutex_)
Timestamp task_timestamp_bound_ ABSL_GUARDED_BY (timestamp_mutex_)
PropagationState propagation_state_ ABSL_GUARDED_BY (timestamp_mutex_)
void PropagateOutputPackets (Timestamp input_timestamp, OutputStreamShardSet * output_shards)
virtual void PropagationLoop () = 0
void TryPropagateTimestampBound (Timestamp input_bound)

Public Types Documentation

typedef OutputStreamManagerSet

typedef internal::Collection<OutputStreamManager*> mediapipe::OutputStreamHandler::OutputStreamManagerSet;

typedef OutputStreamToSourcesMap

typedef std::unordered_map<std::string, std::unordered_set<int> > mediapipe::OutputStreamHandler::OutputStreamToSourcesMap;

Public Functions Documentation

function Close

void mediapipe::OutputStreamHandler::Close (
    OutputStreamShardSet * output_shards
) 

function FirstStreamName

std::string mediapipe::OutputStreamHandler::FirstStreamName () const

function InitializeOutputStreamManagers

absl::Status mediapipe::OutputStreamHandler::InitializeOutputStreamManagers (
    OutputStreamManager * flat_output_stream_managers
) 

function NumOutputStreams

inline int mediapipe::OutputStreamHandler::NumOutputStreams () const

function Open

void mediapipe::OutputStreamHandler::Open (
    OutputStreamShardSet * output_shards
) 

function Options

inline const MediaPipeOptions & mediapipe::OutputStreamHandler::Options () const

function OutputStreamHandler

inline mediapipe::OutputStreamHandler::OutputStreamHandler (
    std::shared_ptr< tool::TagMap > tag_map,
    CalculatorContextManager * calculator_context_manager,
    const MediaPipeOptions & options,
    bool calculator_run_in_parallel
) 

function OutputStreams

inline const OutputStreamManagerSet & mediapipe::OutputStreamHandler::OutputStreams () 

function OutputTagMap

inline const std::shared_ptr< tool::TagMap > & mediapipe::OutputStreamHandler::OutputTagMap () const

function PostProcess

void mediapipe::OutputStreamHandler::PostProcess (
    Timestamp input_timestamp
) 

function PrepareForRun

void mediapipe::OutputStreamHandler::PrepareForRun (
    const std::function< void(absl::Status)> & error_callback
) 

function PrepareOutputs

void mediapipe::OutputStreamHandler::PrepareOutputs (
    Timestamp input_timestamp,
    OutputStreamShardSet * output_shards
) 

function SetupOutputShards

absl::Status mediapipe::OutputStreamHandler::SetupOutputShards (
    OutputStreamShardSet * output_shards
) 

function UpdateTaskTimestampBound

void mediapipe::OutputStreamHandler::UpdateTaskTimestampBound (
    Timestamp timestamp
) 

function ~OutputStreamHandler

virtual mediapipe::OutputStreamHandler::~OutputStreamHandler () = default

Protected Types Documentation

enum PropagationState

enum mediapipe::OutputStreamHandler::PropagationState {
    kIdle = 0,
    kPropagatingPackets = 1,
    kPropagatingBound = 2,
    kPropagationPending = 3
};

Protected Attributes Documentation

variable calculator_context_manager_

CalculatorContextManager* const mediapipe::OutputStreamHandler::calculator_context_manager_;

variable calculator_run_in_parallel_

const bool mediapipe::OutputStreamHandler::calculator_run_in_parallel_;

variable options_

MediaPipeOptions mediapipe::OutputStreamHandler::options_;

variable output_stream_managers_

OutputStreamManagerSet mediapipe::OutputStreamHandler::output_stream_managers_;

variable timestamp_mutex_

absl::Mutex mediapipe::OutputStreamHandler::timestamp_mutex_;

Protected Functions Documentation

function ABSL_GUARDED_BY [1/3]

std::set< Timestamp > completed_input_timestamps_ mediapipe::OutputStreamHandler::ABSL_GUARDED_BY (
    timestamp_mutex_
) 

function ABSL_GUARDED_BY [2/3]

Timestamp task_timestamp_bound_ mediapipe::OutputStreamHandler::ABSL_GUARDED_BY (
    timestamp_mutex_
) 

function ABSL_GUARDED_BY [3/3]

PropagationState propagation_state_ mediapipe::OutputStreamHandler::ABSL_GUARDED_BY (
    timestamp_mutex_
) 

function PropagateOutputPackets

void mediapipe::OutputStreamHandler::PropagateOutputPackets (
    Timestamp input_timestamp,
    OutputStreamShardSet * output_shards
) 

function PropagationLoop

virtual void mediapipe::OutputStreamHandler::PropagationLoop () = 0

function TryPropagateTimestampBound

void mediapipe::OutputStreamHandler::TryPropagateTimestampBound (
    Timestamp input_bound
) 


The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR-plugins/hand_tracking/mediapipe/framework/output_stream_handler.h