28 virtual void OnPublicationSubscribed(
29 std::shared_ptr<core::interface::Subscription> subscription) {}
30 virtual void OnPublicationUnsubscribed(
31 std::shared_ptr<core::interface::Subscription> subscription) {}
34 std::shared_ptr<core::interface::Channel> channel,
36 rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> peer_connection_factory);
47 std::shared_ptr<core::interface::Subscription>
Subscribe(
const std::string& publication_id);
65 void OnSubscribedLocalPersonsPublication(
66 std::shared_ptr<core::interface::Publication> publication,
67 const SubscriptionId& subscription_id)
override;
76 void OnUnsubscribedLocalPersonsPublication(
77 std::shared_ptr<core::interface::Publication> publication)
override;
86 void OnLocalPersonSubscribed(
87 std::shared_ptr<core::interface::Subscription> subscription)
override;
96 void OnLocalPersonUnsubscribed(
97 std::shared_ptr<core::interface::Subscription> subscription)
override;
100 std::shared_ptr<core::interface::Subscription> subscription)
override;
102 std::shared_ptr<core::interface::Subscription> subscription)
override;
105 void OnLeft()
override;
107 void Dispose()
override;
111 connection::P2PConnection* GetOrCreateConnection();
112 connection::P2PConnection* CreateConnection();
113 bool IsLocalPersonSubscribing();
114 bool IsSubscribingLocalPersonsPublication();
116 void CloseConnection();
118 std::mutex connection_mtx_;
119 std::unique_ptr<connection::P2PConnection> connection_;
120 rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> peer_connection_factory_;
121 std::unique_ptr<core::interface::IceManager> ice_manager_;