libpromeki main
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
medialink.h
Go to the documentation of this file.
1
8#pragma once
9
12#include <promeki/core/error.h>
14#include <promeki/proav/frame.h>
15
17
18class MediaNode;
19
32class MediaLink {
34 public:
37
40
43
45 MediaLink() = default;
46
53 _source(std::move(source)), _sink(std::move(sink)) { }
54
56 const MediaPort::Ptr &source() const { return _source; }
57
59 const MediaPort::Ptr &sink() const { return _sink; }
60
63
66
76 Error deliver(Frame::Ptr frame) const;
77
82 bool isValid() const;
83
84 private:
85 MediaPort::Ptr _source;
86 MediaPort::Ptr _sink;
87};
88
Lightweight error code wrapper for the promeki library.
Definition error.h:39
SharedPtr< Frame > Ptr
Shared pointer type for Frame.
Definition frame.h:40
Dynamic array container wrapping std::vector.
Definition list.h:40
List()=default
Default constructor. Creates an empty list.
Base class for all pipeline processing nodes.
Definition medianode.h:81
#define PROMEKI_NAMESPACE_BEGIN
Starts a promeki namespace block.
Definition namespace.h:14
#define PROMEKI_NAMESPACE_END
Ends a promeki namespace block.
Definition namespace.h:19
#define PROMEKI_SHARED_FINAL(TYPE)
Macro for non-polymorphic native shared objects.
Definition sharedptr.h:88