mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-20 23:32:22 +08:00
整理命名空间 (#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:
@@ -12,6 +12,7 @@
|
||||
#include "MediaPusher.h"
|
||||
#include "PusherBase.h"
|
||||
|
||||
using namespace std;
|
||||
using namespace toolkit;
|
||||
|
||||
namespace mediakit {
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "PusherProxy.h"
|
||||
|
||||
using namespace toolkit;
|
||||
using namespace std;
|
||||
|
||||
namespace mediakit {
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user