Files
client-sdk-rust/crates/livekit-webrtc/libwebrtc-sys/include/livekit/peer_connection_factory.h
T

36 lines
1.0 KiB
C++

//
// Created by Théo Monnom on 03/08/2022.
//
#ifndef PEER_CONNECTION_FACTORY_H
#define PEER_CONNECTION_FACTORY_H
#include "api/peer_connection_interface.h"
#include "peer_connection.h"
#include "rust_types.h"
namespace livekit {
using NativeRTCConfiguration = webrtc::PeerConnectionInterface::RTCConfiguration;
class PeerConnectionFactory {
public:
PeerConnectionFactory();
std::unique_ptr<PeerConnection> create_peer_connection(std::unique_ptr<NativeRTCConfiguration> config, std::unique_ptr<NativePeerConnectionObserver> observer) const;
private:
std::unique_ptr<rtc::Thread> network_thread_;
std::unique_ptr<rtc::Thread> worker_thread_;
std::unique_ptr<rtc::Thread> signaling_thread_;
rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> peer_factory_;
};
std::unique_ptr<PeerConnectionFactory> create_peer_connection_factory();
std::unique_ptr<NativeRTCConfiguration> create_rtc_configuration(RTCConfiguration conf);
} // livekit
#endif //PEER_CONNECTION_FACTORY_H