SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
data_stream.hpp
1//
2// data_stream.hpp
3// skyway
4//
5// Created by sandabu on 2022/01/31.
6// Copyright © 2022 NTT Communications. All rights reserved.
7//
8
9#ifndef SKYWAY_CORE_STREAM_REMOTE_DATA_STREAM_HPP_
10#define SKYWAY_CORE_STREAM_REMOTE_DATA_STREAM_HPP_
11
12#include <api/data_channel_interface.h>
13
14#include "skyway/core/interface/remote_stream.hpp"
15
16namespace skyway {
17namespace core {
18namespace stream {
19namespace remote {
20
21using RemoteStream = interface::RemoteStream;
22
25public:
26 using PublicationId = std::string;
28 class Listener {
29 public:
30 virtual void OnData(const std::string& data) = 0;
31 virtual void OnDataBuffer(const uint8_t* data, size_t length) = 0;
32 };
33 RemoteDataStream(const std::string& id);
36 void AddListener(Listener* listener);
37
39 void OnDataBuffer(const webrtc::DataBuffer& buffer);
41 bool Enable() override;
43 bool Disable() override;
45
46private:
47 std::vector<Listener*> listeners_;
48 std::atomic<bool> is_enabled_;
49};
50
51} // namespace remote
52} // namespace stream
53} // namespace core
54} // namespace skyway
55
56#endif /* SKYWAY_CORE_STREAM_REMOTE_DATA_STREAM_HPP_ */
RemoteMemberで扱うStream
Definition remote_stream.hpp:19
データ受信イベントリスナ
Definition data_stream.hpp:28
RemoteMemberで扱うDataStream
Definition data_stream.hpp:24
void AddListener(Listener *listener)
データ受信イベントリスナを購読します。