a07b3451a3
* Create README.md * add example * crates & examples * fix syntax * add LICENSE * thirdparty LICENSE * rearrange repo * fix build * egui versions * prepare publish * fix demo compilation * add test ci * Update rust.yml * forgot runs-on * install protoc before building * avoid rate limit * include submodules * updates to readme * cache rust builds Co-authored-by: David Zhao <dz@livekit.io> Co-authored-by: David Zhao <david@davidzhao.com>
38 lines
1.0 KiB
C++
38 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"
|
|
#include "webrtc.h"
|
|
|
|
namespace livekit {
|
|
using NativeRTCConfiguration =
|
|
webrtc::PeerConnectionInterface::RTCConfiguration;
|
|
|
|
class PeerConnectionFactory {
|
|
public:
|
|
explicit PeerConnectionFactory(std::shared_ptr<RTCRuntime> rtc_runtime);
|
|
~PeerConnectionFactory();
|
|
|
|
std::unique_ptr<PeerConnection> create_peer_connection(
|
|
std::unique_ptr<NativeRTCConfiguration> config,
|
|
NativePeerConnectionObserver& observer) const;
|
|
|
|
private:
|
|
std::shared_ptr<RTCRuntime> rtc_runtime_;
|
|
rtc::scoped_refptr<webrtc::PeerConnectionFactoryInterface> peer_factory_;
|
|
};
|
|
|
|
std::unique_ptr<PeerConnectionFactory> create_peer_connection_factory(
|
|
std::shared_ptr<RTCRuntime> rtc_runtime);
|
|
std::unique_ptr<NativeRTCConfiguration> create_rtc_configuration(
|
|
RTCConfiguration conf);
|
|
} // namespace livekit
|
|
|
|
#endif // PEER_CONNECTION_FACTORY_H
|