SkyWay Linux SDK
読み取り中…
検索中…
一致する文字列を見つけられません
local_sfu_room_member.hpp
1#ifndef SKYWAY_ROOM_SFU_LOCAL_SFU_ROOM_MEMBER_HPP
2#define SKYWAY_ROOM_SFU_LOCAL_SFU_ROOM_MEMBER_HPP
3
4#include <skyway/plugin/sfu_bot_plugin/sfu_bot.hpp>
5
6#include "skyway/room/abstract/local_room_member.hpp"
7
8namespace skyway {
9namespace room {
10namespace sfu {
11
14public:
16 LocalSFURoomMember(std::shared_ptr<core::interface::LocalPerson> core,
17 std::shared_ptr<interface::Room> room,
18 interface::RoomDomainFactory* factory);
20
22 std::shared_ptr<interface::RoomPublication> Publish(
23 std::shared_ptr<media::stream::interface::local::LocalStream> stream,
25 std::shared_ptr<interface::RoomSubscription> Subscribe(
26 const std::string& publication_id,
28 bool Unpublish(const std::string& publication_id) override;
29 bool Unsubscribe(const std::string& subscription_id) override;
30 std::vector<std::shared_ptr<interface::RoomPublication>> Publications() override;
31
32private:
33 std::shared_ptr<core::interface::LocalPerson> LocalPerson();
34 void CleanupOnPublishFailure(
35 const std::shared_ptr<core::interface::Publication>& origin_publication,
36 const std::shared_ptr<plugin::sfu_bot::SfuBot>& sfu_bot,
37 plugin::sfu_bot::Forwarding* forwarding);
38};
39
40} // namespace sfu
41} // namespace room
42} // namespace skyway
43
44#endif /* SKYWAY_ROOM_SFU_LOCAL_SFU_ROOM_MEMBER_HPP */
LocalRoomMemberの操作を行う抽象クラス
Definition local_room_member.hpp:17
LocalRoomMemberの操作を行うクラス
Definition local_sfu_room_member.hpp:13
bool Unpublish(const std::string &publication_id) override
公開しているPublicationを非公開にします。
std::shared_ptr< interface::RoomSubscription > Subscribe(const std::string &publication_id, interface::LocalRoomMember::SubscriptionOptions options) override
公開されているPublicationを購読します。
std::vector< std::shared_ptr< interface::RoomPublication > > Publications() override
このMemberのPublication一覧を取得します。
std::shared_ptr< interface::RoomPublication > Publish(std::shared_ptr< media::stream::interface::local::LocalStream > stream, interface::LocalRoomMember::PublicationOptions options) override
LocalStreamを公開します。
bool Unsubscribe(const std::string &subscription_id) override
購読しているSubscriptionの購読を解除します。
Publish時の設定
Definition local_room_member.hpp:42
Subscribe時の設定
Definition local_room_member.hpp:61