整理命名空间 (#1409)

* feat: remove using namespace mediakit in header files.

(cherry picked from commit d44aeb339a8a0e1f0455be82b21fe4b1b536299f)

* feat: remove using namespace mediakit in FFmpegSource.h

* feat: remove using namespace mediakit in RtpExt.h

* feat: remove using namespace mediakit in header files.

* feat: remove using namespace std in header files.

* feat: remove using namespace std in header files when zltoolkit remove std in header

* 补充命名空间

* 整理命名空间

* 整理命名空间2

* 修复macos ci

* 修复编译问题

* 修复编译问题2

* 修复编译问题3

Co-authored-by: Johnny <hellojinqiang@gmail.com>
Co-authored-by: Xiaofeng Wang <wasphin@gmail.com>
This commit is contained in:
夏楚
2022-02-02 20:34:50 +08:00
committed by GitHub
parent 80a0e27d8c
commit c72cf4cbcc
239 changed files with 1887 additions and 1766 deletions

View File

@@ -12,6 +12,7 @@
#include "MediaPusher.h"
#include "PusherBase.h"
using namespace std;
using namespace toolkit;
namespace mediakit {

View File

@@ -15,7 +15,6 @@
#include <string>
#include "PusherBase.h"
#include "Thread/TaskExecutor.h"
using namespace toolkit;
namespace mediakit {
@@ -23,25 +22,25 @@ class MediaPusher : public PusherImp<PusherBase,PusherBase> {
public:
typedef std::shared_ptr<MediaPusher> Ptr;
MediaPusher(const string &schema,
const string &vhost,
const string &app,
const string &stream,
const EventPoller::Ptr &poller = nullptr);
MediaPusher(const std::string &schema,
const std::string &vhost,
const std::string &app,
const std::string &stream,
const toolkit::EventPoller::Ptr &poller = nullptr);
MediaPusher(const MediaSource::Ptr &src,
const EventPoller::Ptr &poller = nullptr);
const toolkit::EventPoller::Ptr &poller = nullptr);
virtual ~MediaPusher();
void publish(const string &url) override;
EventPoller::Ptr getPoller();
void setOnCreateSocket(Socket::onCreateSocket cb);
void publish(const std::string &url) override;
toolkit::EventPoller::Ptr getPoller();
void setOnCreateSocket(toolkit::Socket::onCreateSocket cb);
private:
std::weak_ptr<MediaSource> _src;
EventPoller::Ptr _poller;
Socket::onCreateSocket _on_create_socket;
toolkit::EventPoller::Ptr _poller;
toolkit::Socket::onCreateSocket _on_create_socket;
};
} /* namespace mediakit */

View File

@@ -14,43 +14,42 @@
#include "Rtmp/RtmpPusher.h"
using namespace toolkit;
using namespace mediakit::Client;
namespace mediakit {
PusherBase::Ptr PusherBase::createPusher(const EventPoller::Ptr &poller,
const MediaSource::Ptr &src,
const string & strUrl) {
const std::string & strUrl) {
static auto releasePusher = [](PusherBase *ptr){
onceToken token(nullptr,[&](){
delete ptr;
});
ptr->teardown();
};
string prefix = FindField(strUrl.data(), NULL, "://");
std::string prefix = FindField(strUrl.data(), NULL, "://");
if (strcasecmp("rtsps",prefix.data()) == 0) {
return PusherBase::Ptr(new TcpClientWithSSL<RtspPusherImp>(poller,dynamic_pointer_cast<RtspMediaSource>(src)),releasePusher);
return PusherBase::Ptr(new TcpClientWithSSL<RtspPusherImp>(poller, std::dynamic_pointer_cast<RtspMediaSource>(src)), releasePusher);
}
if (strcasecmp("rtsp",prefix.data()) == 0) {
return PusherBase::Ptr(new RtspPusherImp(poller,dynamic_pointer_cast<RtspMediaSource>(src)),releasePusher);
return PusherBase::Ptr(new RtspPusherImp(poller, std::dynamic_pointer_cast<RtspMediaSource>(src)), releasePusher);
}
if (strcasecmp("rtmps",prefix.data()) == 0) {
return PusherBase::Ptr(new TcpClientWithSSL<RtmpPusherImp>(poller,dynamic_pointer_cast<RtmpMediaSource>(src)),releasePusher);
return PusherBase::Ptr(new TcpClientWithSSL<RtmpPusherImp>(poller, std::dynamic_pointer_cast<RtmpMediaSource>(src)), releasePusher);
}
if (strcasecmp("rtmp",prefix.data()) == 0) {
return PusherBase::Ptr(new RtmpPusherImp(poller,dynamic_pointer_cast<RtmpMediaSource>(src)),releasePusher);
return PusherBase::Ptr(new RtmpPusherImp(poller, std::dynamic_pointer_cast<RtmpMediaSource>(src)), releasePusher);
}
return PusherBase::Ptr(new RtspPusherImp(poller,dynamic_pointer_cast<RtspMediaSource>(src)),releasePusher);
return PusherBase::Ptr(new RtspPusherImp(poller, std::dynamic_pointer_cast<RtspMediaSource>(src)), releasePusher);
}
PusherBase::PusherBase() {
this->mINI::operator[](kTimeoutMS) = 10000;
this->mINI::operator[](kBeatIntervalMS) = 5000;
this->mINI::operator[](Client::kTimeoutMS) = 10000;
this->mINI::operator[](Client::kBeatIntervalMS) = 5000;
}
} /* namespace mediakit */

View File

@@ -18,18 +18,17 @@
#include "Network/Socket.h"
#include "Util/mini.h"
#include "Common/MediaSource.h"
using namespace toolkit;
namespace mediakit {
class PusherBase : public mINI {
class PusherBase : public toolkit::mINI {
public:
using Ptr = std::shared_ptr<PusherBase>;
using Event = std::function<void(const SockException &ex)>;
using Event = std::function<void(const toolkit::SockException &ex)>;
static Ptr createPusher(const EventPoller::Ptr &poller,
static Ptr createPusher(const toolkit::EventPoller::Ptr &poller,
const MediaSource::Ptr &src,
const string &strUrl);
const std::string &strUrl);
PusherBase();
virtual ~PusherBase() = default;
@@ -38,7 +37,7 @@ public:
* 开始推流
* @param strUrl 视频url支持rtsp/rtmp
*/
virtual void publish(const string &strUrl) {};
virtual void publish(const std::string &strUrl) {};
/**
* 中断推流
@@ -56,8 +55,8 @@ public:
virtual void setOnShutdown(const Event &cb) = 0;
protected:
virtual void onShutdown(const SockException &ex) = 0;
virtual void onPublishResult(const SockException &ex) = 0;
virtual void onShutdown(const toolkit::SockException &ex) = 0;
virtual void onPublishResult(const toolkit::SockException &ex) = 0;
};
template<typename Parent, typename Delegate>
@@ -73,7 +72,7 @@ public:
* 开始推流
* @param url 推流url支持rtsp/rtmp
*/
void publish(const string &url) override {
void publish(const std::string &url) override {
return _delegate ? _delegate->publish(url) : Parent::publish(url);
}
@@ -84,8 +83,8 @@ public:
return _delegate ? _delegate->teardown() : Parent::teardown();
}
std::shared_ptr<SockInfo> getSockInfo() const {
return dynamic_pointer_cast<SockInfo>(_delegate);
std::shared_ptr<toolkit::SockInfo> getSockInfo() const {
return std::dynamic_pointer_cast<toolkit::SockInfo>(_delegate);
}
/**
@@ -109,14 +108,14 @@ public:
}
protected:
void onShutdown(const SockException &ex) override {
void onShutdown(const toolkit::SockException &ex) override {
if (_on_shutdown) {
_on_shutdown(ex);
_on_shutdown = nullptr;
}
}
void onPublishResult(const SockException &ex) override {
void onPublishResult(const toolkit::SockException &ex) override {
if (_on_publish) {
_on_publish(ex);
_on_publish = nullptr;

View File

@@ -11,6 +11,7 @@
#include "PusherProxy.h"
using namespace toolkit;
using namespace std;
namespace mediakit {

View File

@@ -14,9 +14,6 @@
#include "Pusher/MediaPusher.h"
#include "Util/TimeTicker.h"
using namespace std;
using namespace toolkit;
namespace mediakit {
class PusherProxy : public MediaPusher, public std::enable_shared_from_this<PusherProxy> {
@@ -25,37 +22,37 @@ public:
// 如果retry_count<0,则一直重试播放否则重试retry_count次数
// 默认一直重试创建此对象时候需要外部保证MediaSource存在
PusherProxy(const MediaSource::Ptr &src, int retry_count = -1, const EventPoller::Ptr &poller = nullptr);
PusherProxy(const MediaSource::Ptr &src, int retry_count = -1, const toolkit::EventPoller::Ptr &poller = nullptr);
~PusherProxy() override;
/**
* 设置push结果回调只触发一次在publish执行之前有效
* @param cb 回调对象
*/
void setPushCallbackOnce(const function<void(const SockException &ex)> &cb);
void setPushCallbackOnce(const std::function<void(const toolkit::SockException &ex)> &cb);
/**
* 设置主动关闭回调
* @param cb 回调对象
*/
void setOnClose(const function<void(const SockException &ex)> &cb);
void setOnClose(const std::function<void(const toolkit::SockException &ex)> &cb);
/**
* 开始拉流播放
* @param dstUrl 目标推流地址
*/
void publish(const string& dstUrl) override;
void publish(const std::string& dstUrl) override;
private:
// 重推逻辑函数
void rePublish(const string &dstUrl, int iFailedCnt);
void rePublish(const std::string &dstUrl, int iFailedCnt);
private:
int _retry_count;
Timer::Ptr _timer;
toolkit::Timer::Ptr _timer;
std::weak_ptr<MediaSource> _weak_src;
function<void(const SockException &ex)> _on_close;
function<void(const SockException &ex)> _on_publish;
std::function<void(const toolkit::SockException &ex)> _on_close;
std::function<void(const toolkit::SockException &ex)> _on_publish;
};
} /* namespace mediakit */