v2.0.0
Loading...
Searching...
No Matches
lsl_stream_outlet.h
Go to the documentation of this file.
1//=============================================================================================================
30
31#ifndef LSL_STREAM_OUTLET_H
32#define LSL_STREAM_OUTLET_H
33
34//=============================================================================================================
35// INCLUDES
36//=============================================================================================================
37
38#include "lsl_global.h"
39#include "lsl_stream_info.h"
40
41//=============================================================================================================
42// STL INCLUDES
43//=============================================================================================================
44
45#include <vector>
46#include <memory>
47
48//=============================================================================================================
49// DEFINE NAMESPACE LSLLIB
50//=============================================================================================================
51
52namespace LSLLIB {
53
54//=============================================================================================================
55// FORWARD DECLARATIONS
56//=============================================================================================================
57
62
63//=============================================================================================================
68{
69public:
70 //=========================================================================================================
78 explicit stream_outlet(const stream_info& info);
79
80 //=========================================================================================================
85
86 //=========================================================================================================
92 void push_sample(const std::vector<float>& sample);
93
94 //=========================================================================================================
100 void push_chunk(const std::vector<std::vector<float>>& chunk);
101
102 //=========================================================================================================
108 [[nodiscard]] stream_info info() const;
109
110 //=========================================================================================================
116 [[nodiscard]] bool have_consumers() const;
117
118private:
120 std::unique_ptr<StreamOutletPrivate> m_pImpl;
121};
122
123} // namespace LSLLIB
124
125#endif // LSL_STREAM_OUTLET_H
Declares stream_info, the LSL metadata descriptor that identifies and routes a stream on the network.
LSLLIB shared-library export macro and build-stamp accessors used by every public LSL symbol.
#define LSLSHARED_EXPORT
Definition lsl_global.h:51
Lab Streaming Layer (LSL) integration for real-time data exchange.
Value-type descriptor of a single LSL stream: semantic metadata plus transport endpoint,...
void push_sample(const std::vector< float > &sample)
stream_outlet(const stream_info &info)
void push_chunk(const std::vector< std::vector< float > > &chunk)
stream_info info() const