32 virtual void OnPublicationSubscribed(std::shared_ptr<core::interface::Subscription> subscription) {}
33 virtual void OnPublicationUnsubscribed(std::shared_ptr<core::interface::Subscription> subscription) {}
36 std::shared_ptr<core::interface::Channel> channel,
38 rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> peer_connection_factory);
49 std::shared_ptr<core::interface::Subscription>
Subscribe(
const std::string& publication_id);
67 void OnSubscribedLocalPersonsPublication(std::shared_ptr<core::interface::Publication> publication,
68 const SubscriptionId& subscription_id)
override;
77 void OnUnsubscribedLocalPersonsPublication(std::shared_ptr<core::interface::Publication> publication)
override;
86 void OnLocalPersonSubscribed(std::shared_ptr<core::interface::Subscription> subscription)
override;
95 void OnLocalPersonUnsubscribed(std::shared_ptr<core::interface::Subscription> subscription)
override;
101 void OnLeft()
override;
103 void Dispose()
override;
107 connection::P2PConnection* GetOrCreateConnection();
108 connection::P2PConnection* CreateConnection();
109 bool IsLocalPersonSubscribing();
110 bool IsSubscribingLocalPersonsPublication();
112 void CloseConnection();
114 std::mutex connection_mtx_;
115 std::unique_ptr<connection::P2PConnection> connection_;
116 rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> peer_connection_factory_;
117 std::unique_ptr<core::interface::IceManager> ice_manager_;