134 bool Connect(
const std::string &url,
const std::string &token,
194 void registerTextStreamHandler(
const std::string &topic,
195 TextStreamHandler handler);
201 void unregisterTextStreamHandler(
const std::string &topic);
220 void registerByteStreamHandler(
const std::string &topic,
221 ByteStreamHandler handler);
227 void unregisterByteStreamHandler(
const std::string &topic);
247 TrackSource source, AudioFrameCallback callback,
254 const std::string &track_name,
255 AudioFrameCallback callback,
262 TrackSource source, VideoFrameCallback callback,
269 const std::string &track_name,
270 VideoFrameCallback callback,
282 const std::string &track_name);
294 const std::string &track_name);
301 const std::string &track_name,
302 DataFrameCallback callback);
310 friend class RoomCallbackTest;
312 mutable std::mutex lock_;
313 ConnectionState connection_state_ = ConnectionState::Disconnected;
316 std::shared_ptr<FfiHandle> room_handle_;
317 std::unique_ptr<LocalParticipant> local_participant_;
318 std::unordered_map<std::string, std::shared_ptr<RemoteParticipant>>
319 remote_participants_;
321 std::unordered_map<std::string, TextStreamHandler> text_stream_handlers_;
322 std::unordered_map<std::string, ByteStreamHandler> byte_stream_handlers_;
323 std::unordered_map<std::string, std::shared_ptr<TextStreamReader>>
324 text_stream_readers_;
325 std::unordered_map<std::string, std::shared_ptr<ByteStreamReader>>
326 byte_stream_readers_;
328 std::unique_ptr<E2EEManager> e2ee_manager_;
329 std::shared_ptr<SubscriptionThreadDispatcher> subscription_thread_dispatcher_;
334 void OnEvent(
const proto::FfiEvent &event);
void setOnAudioFrameCallback(const std::string &participant_identity, TrackSource source, AudioFrameCallback callback, AudioStream::Options opts={})
Sets the audio frame callback via SubscriptionThreadDispatcher.
void setOnVideoFrameCallback(const std::string &participant_identity, TrackSource source, VideoFrameCallback callback, VideoStream::Options opts={})
Sets the video frame callback via SubscriptionThreadDispatcher.
void setOnAudioFrameCallback(const std::string &participant_identity, const std::string &track_name, AudioFrameCallback callback, AudioStream::Options opts={})
Sets the audio frame callback via SubscriptionThreadDispatcher.
DataFrameCallbackId addOnDataFrameCallback(const std::string &participant_identity, const std::string &track_name, DataFrameCallback callback)
Adds a data frame callback via SubscriptionThreadDispatcher.
void setOnVideoFrameCallback(const std::string &participant_identity, const std::string &track_name, VideoFrameCallback callback, VideoStream::Options opts={})
Sets the video frame callback via SubscriptionThreadDispatcher.