gstreamer
Loading...
Searching...
No Matches
gSROPlugin.h
Go to the documentation of this file.
1#pragma once
2
3#include "gSROData.h"
4
13
24{
25public:
26 virtual ~GSROTiming() = default;
27
36 [[nodiscard]] virtual std::optional<GSROTime>
37 earliest_remaining_time(GSROEventId first_undelivered_event) const = 0;
38};
39
48{
49public:
50 virtual ~GSROFrameSink() = default;
51 virtual void write_frame(GSROFrame frame) = 0;
52 virtual void finish_output() = 0;
53};
54
79{
80public:
81 explicit GSROCratePlugin(GSROFrameSink& sink) : output(sink) {}
82 virtual ~GSROCratePlugin() = default;
83
88
89 virtual void consume_payload(GSROPayload payload) = 0;
90 virtual void advance_time(GSROTime safe_time) = 0;
91 virtual void finish_run(const GSROEndContext& context) = 0;
92
93protected:
95};
GSROCratePlugin & operator=(GSROCratePlugin &&)=delete
GSROCratePlugin(const GSROCratePlugin &)=delete
virtual void advance_time(GSROTime safe_time)=0
virtual void finish_run(const GSROEndContext &context)=0
GSROCratePlugin(GSROFrameSink &sink)
Definition gSROPlugin.h:81
virtual void consume_payload(GSROPayload payload)=0
GSROCratePlugin(GSROCratePlugin &&)=delete
GSROCratePlugin & operator=(const GSROCratePlugin &)=delete
GSROFrameSink & output
Definition gSROPlugin.h:94
virtual ~GSROCratePlugin()=default
Output destination called exclusively by its owning crate thread.
Definition gSROPlugin.h:48
virtual void write_frame(GSROFrame frame)=0
virtual void finish_output()=0
virtual ~GSROFrameSink()=default
Implementation-defined bound used by GEMC to establish safe input progress.
Definition gSROPlugin.h:24
virtual std::optional< GSROTime > earliest_remaining_time(GSROEventId first_undelivered_event) const =0
Lower bound for every possible payload from this event and all subsequent events.
virtual ~GSROTiming()=default
Transport types for the SRO interfaces, upcoming in the next release.
std::chrono::duration< std::int64_t, std::nano > GSROTime
Definition gSROData.h:20
std::uint64_t GSROEventId
Definition gSROData.h:19
frame
Input-delivery state passed to the implementation at orderly shutdown.
Definition gSROData.h:94
An implementation-produced frame, transferred by move to the output sink.
Definition gSROData.h:74
One worker-produced contribution, transferred by move to its destination crate.
Definition gSROData.h:58