![]() |
SkyWay Linux SDK
|
RemotePersonの機能を持つメンバー [詳解]
#include <remote_person.hpp>
クラス | |
| class | EventListener |
公開メンバ関数 | |
| RemotePerson (std::shared_ptr< core::interface::Channel > channel, const model::Member &dto, rtc::scoped_refptr< webrtc::PeerConnectionFactoryInterface > peer_connection_factory) | |
| std::shared_ptr< core::interface::Subscription > | Subscribe (const std::string &publication_id) |
| Subscribeをさせます。 | |
| bool | Unsubscribe (const std::string &subscription_id) |
| Subscribeを中止させます。 | |
基底クラス skyway::core::interface::RemoteMember に属する継承公開メンバ関数 | |
| virtual void | OnPublicationSubscribed (std::shared_ptr< interface::Subscription > subscription) |
| PublicationがSubscribeされた時に発生するイベント | |
| virtual void | OnPublicationUnsubscribed (std::shared_ptr< interface::Subscription > subscription) |
| PublicationがUnsubscribeされた時に発生するイベント | |
基底クラス skyway::core::interface::Member に属する継承公開メンバ関数 | |
| void | AddEventListener (EventListener *listener) |
| イベントを購読します。 | |
| void | RemoveEventListener (EventListener *listener) |
| イベントの購読を中止します。 | |
| bool | UpdateMetadata (const std::string &metadata) |
| Metadataを更新します | |
| bool | Leave () |
| Channelから退室します。 | |
| std::string | Id () const |
| Idを取得します。 | |
| std::optional< std::string > | Name () const |
| Nameを取得します。 | |
| std::optional< std::string > | Metadata () const |
| Metadataを取得します。 | |
| model::MemberType | Type () const |
| MemberTypeを取得します。 | |
| std::string | Subtype () const |
| Subtypeを取得します。 | |
| model::Side | Side () const |
| Side(LocalかRemoteか)を取得します。 | |
| MemberState | State () const |
| State(Memberの入室状態)を取得します。 | |
| std::vector< std::shared_ptr< interface::Publication > > | Publications () const |
| 自身が持つ全てのPublicationを取得します。 | |
| std::vector< std::shared_ptr< interface::Subscription > > | Subscriptions () const |
| 自身が持つ全てのSubscriptionを取得します。 | |
その他の継承メンバ | |
基底クラス skyway::core::interface::RemoteMember に属する継承限定公開メンバ関数 | |
| RemoteMember (std::shared_ptr< interface::Channel > channel, const model::Member &dto) | |
基底クラス skyway::core::interface::Member に属する継承限定公開メンバ関数 | |
| Member (std::shared_ptr< interface::Channel > channel, const model::Member &initial_dto, const model::Side &side) | |
基底クラス skyway::core::interface::Member に属する継承限定公開変数類 | |
| std::weak_ptr< interface::Channel > | channel_ |
| model::Member | initial_dto_ |
| model::Side | side_ |
| MemberState | state_ |
| std::mutex | listeners_mtx_ |
| std::unordered_set< EventListener * > | listeners_ |
| std::atomic< bool > | metadata_updated_ |
RemotePersonの機能を持つメンバー
他のSDKで生成されたRemoteMemberで、WebRTCコネクションにてStreamの受け渡しを行います。
| std::shared_ptr< core::interface::Subscription > skyway::plugin::remote_person::RemotePerson::Subscribe | ( | const std::string & | publication_id | ) |
Subscribeをさせます。
得られるSubscriptionにはStreamは含まれません。
また、このSDKで生成したLocalPersonをChannel::Findなどを利用してRemotePersonとして振る舞わせた場合はSubscribeは失敗し、その挙動は未定義です。
単純にLocalPerson.Subscribeを利用してください。
| publication_id | SubscribeするPublicationのID |
| bool skyway::plugin::remote_person::RemotePerson::Unsubscribe | ( | const std::string & | subscription_id | ) |
Subscribeを中止させます。
このSDKで生成したLocalPersonをChannel::Findなどを利用してRemotePersonとして振る舞わせた場合はSubscribeは失敗し、その挙動は未定義です。
| subscription_id | 中止対象のSubscriptionID |