diff --git a/src/Player/PlayerBase.cpp b/src/Player/PlayerBase.cpp index aa2a8720..9fb6843d 100644 --- a/src/Player/PlayerBase.cpp +++ b/src/Player/PlayerBase.cpp @@ -56,10 +56,9 @@ PlayerBase::Ptr PlayerBase::createPlayer(const EventPoller::Ptr &poller, const s } else if (end_with(url, ".ts") || end_with(url_in, ".ts")) { return PlayerBase::Ptr(new TsPlayerImp(poller), releasePlayer); } - return PlayerBase::Ptr(new TsPlayerImp(poller), releasePlayer); } - return PlayerBase::Ptr(new RtspPlayerImp(poller), releasePlayer); + throw std::invalid_argument("not supported play schema:" + url_in); } PlayerBase::PlayerBase() { diff --git a/src/Pusher/PusherBase.cpp b/src/Pusher/PusherBase.cpp index 6d195117..fa0d68e8 100644 --- a/src/Pusher/PusherBase.cpp +++ b/src/Pusher/PusherBase.cpp @@ -19,14 +19,14 @@ namespace mediakit { PusherBase::Ptr PusherBase::createPusher(const EventPoller::Ptr &poller, const MediaSource::Ptr &src, - const std::string & strUrl) { + const std::string & url) { static auto releasePusher = [](PusherBase *ptr){ onceToken token(nullptr,[&](){ delete ptr; }); ptr->teardown(); }; - std::string prefix = FindField(strUrl.data(), NULL, "://"); + std::string prefix = FindField(url.data(), NULL, "://"); if (strcasecmp("rtsps",prefix.data()) == 0) { return PusherBase::Ptr(new TcpClientWithSSL(poller, std::dynamic_pointer_cast(src)), releasePusher); @@ -44,7 +44,7 @@ PusherBase::Ptr PusherBase::createPusher(const EventPoller::Ptr &poller, return PusherBase::Ptr(new RtmpPusherImp(poller, std::dynamic_pointer_cast(src)), releasePusher); } - return PusherBase::Ptr(new RtspPusherImp(poller, std::dynamic_pointer_cast(src)), releasePusher); + throw std::invalid_argument("not supported push schema:" + url); } PusherBase::PusherBase() {