SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
remote_data_stream.hpp
1#ifndef SKYWAY_MEDIA_STREAM_REMOTE_REMOTE_DATA_STREAM_HPP_
2#define SKYWAY_MEDIA_STREAM_REMOTE_REMOTE_DATA_STREAM_HPP_
3
4#include <mutex>
5#include <unordered_map>
6
7#include <skyway/media/stream/interface/remote/remote_data_stream.hpp>
8
9#include "skyway/media/stream/abstract/stream_base.hpp"
10
11namespace skyway {
12namespace media {
13namespace stream {
14namespace remote {
15
17 : public abstract::StreamBase<interface::remote::RemoteDataStream,
18 skyway::core::interface::RemoteStream,
19 skyway::core::stream::remote::RemoteDataStream> {
20public:
22 RemoteDataStream(std::shared_ptr<skyway::core::stream::remote::RemoteDataStream> core);
24 ~RemoteDataStream() override;
25
28
29private:
30 class CoreEventListenerAdapter
31 : public skyway::core::stream::remote::RemoteDataStream::Listener {
32 public:
33 explicit CoreEventListenerAdapter(interface::remote::RemoteDataStream::Listener* listener);
34 void OnData(const std::string& data) override;
35 void OnDataBuffer(const uint8_t* data, size_t length) override;
36
37 private:
39 };
40
41 std::mutex listener_adapters_mtx_;
43 std::shared_ptr<CoreEventListenerAdapter>>
44 listener_adapters_;
45};
46
47} // namespace remote
48} // namespace stream
49} // namespace media
50} // namespace skyway
51
52#endif // SKYWAY_MEDIA_STREAM_REMOTE_REMOTE_DATA_STREAM_HPP_
Definition stream_base.hpp:15
データ受信イベントリスナ
Definition remote_data_stream.hpp:17
Definition remote_data_stream.hpp:19
void AddListener(interface::remote::RemoteDataStream::Listener *listener) override
RemoteDataStream::Listenerを登録します。
void RemoveListener(interface::remote::RemoteDataStream::Listener *listener) override
イベントリスナーの登録を解除します。