[*] 优化
This commit is contained in:
@@ -89,8 +89,11 @@ acgist::Capturer<Source>::Capturer() {}
|
||||
|
||||
template <typename Source>
|
||||
acgist::Capturer<Source>::~Capturer() {
|
||||
// TODO:释放
|
||||
// delete this->source;
|
||||
if(this->source != nullptr) {
|
||||
this->source->Release();
|
||||
// delete this->source;
|
||||
this->source = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -26,16 +26,14 @@ public:
|
||||
// 媒体管理
|
||||
acgist::MediaManager* mediaManager = nullptr;
|
||||
// 音频轨道
|
||||
webrtc::AudioTrackInterface* audioTrack = nullptr;
|
||||
rtc::scoped_refptr<webrtc::AudioTrackInterface> audioTrack = nullptr;
|
||||
// 视频轨道
|
||||
webrtc::VideoTrackInterface* videoTrack = nullptr;
|
||||
rtc::scoped_refptr<webrtc::VideoTrackInterface> videoTrack = nullptr;
|
||||
|
||||
public:
|
||||
Client(acgist::MediaManager* mediaManager);
|
||||
virtual ~Client();
|
||||
|
||||
public:
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -43,6 +41,10 @@ public:
|
||||
*/
|
||||
class RoomClient : public Client {
|
||||
|
||||
public:
|
||||
// 房间ID
|
||||
std::string roomId;
|
||||
|
||||
public:
|
||||
RoomClient(acgist::MediaManager* mediaManager);
|
||||
virtual ~RoomClient();
|
||||
@@ -58,9 +60,7 @@ class LocalClient : public RoomClient {
|
||||
|
||||
public:
|
||||
LocalClient(acgist::MediaManager* mediaManager);
|
||||
virtual ~LocalClient();
|
||||
|
||||
public:
|
||||
virtual ~LocalClient() override;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
#include "../include/Client.hpp"
|
||||
|
||||
#include <hilog/log.h>
|
||||
|
||||
acgist::Client::Client(acgist::MediaManager* mediaManager) : mediaManager(mediaManager) {
|
||||
}
|
||||
|
||||
acgist::Client::~Client() {
|
||||
OH_LOG_INFO(LOG_APP, "释放终端:%s", this->clientId.data());
|
||||
if(this->audioTrack != nullptr) {
|
||||
this->audioTrack->Release();
|
||||
// delete this->audioTrack;
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
acgist::LocalClient::LocalClient(acgist::MediaManager* mediaManager) : acgist::RoomClient(mediaManager) {
|
||||
this->mediaManager->newLocalClient();
|
||||
this->audioTrack = this->mediaManager->getAudioTrack();
|
||||
this->videoTrack = this->mediaManager->getVideoTrack();
|
||||
}
|
||||
|
||||
acgist::LocalClient::~LocalClient() {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#include "../include/Client.hpp"
|
||||
|
||||
acgist::RoomClient::RoomClient(acgist::MediaManager* mediaManager) : acgist::Client(mediaManager) {}
|
||||
acgist::RoomClient::RoomClient(acgist::MediaManager* mediaManager) : acgist::Client(mediaManager) {
|
||||
}
|
||||
|
||||
acgist::RoomClient::~RoomClient() {}
|
||||
acgist::RoomClient::~RoomClient() {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user