28 virtual void OnPublicationSubscribed(std::shared_ptr<core::interface::Subscription> subscription) {}
29 virtual void OnPublicationUnsubscribed(std::shared_ptr<core::interface::Subscription> subscription) {}
32 std::shared_ptr<core::interface::Channel> channel,
34 rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> peer_connection_factory);
45 std::shared_ptr<core::interface::Subscription>
Subscribe(
const std::string& publication_id);
63 void OnSubscribedLocalPersonsPublication(std::shared_ptr<core::interface::Publication> publication,
64 const SubscriptionId& subscription_id)
override;
73 void OnUnsubscribedLocalPersonsPublication(std::shared_ptr<core::interface::Publication> publication)
override;
82 void OnLocalPersonSubscribed(std::shared_ptr<core::interface::Subscription> subscription)
override;
91 void OnLocalPersonUnsubscribed(std::shared_ptr<core::interface::Subscription> subscription)
override;
97 void OnLeft()
override;
99 void Dispose()
override;
103 connection::P2PConnection* GetOrCreateConnection();
104 connection::P2PConnection* CreateConnection();
105 bool IsLocalPersonSubscribing();
106 bool IsSubscribingLocalPersonsPublication();
108 void CloseConnection();
110 std::mutex connection_mtx_;
111 std::unique_ptr<connection::P2PConnection> connection_;
112 rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> peer_connection_factory_;
113 std::unique_ptr<core::interface::IceManager> ice_manager_;