Commit dc1ce6fe by xiongziliang

修复无法编译的bug

parent 3d83a236
...@@ -150,8 +150,8 @@ void MediaInfo::parse(const string &url){ ...@@ -150,8 +150,8 @@ void MediaInfo::parse(const string &url){
auto pos = steamid.find("?"); auto pos = steamid.find("?");
if(pos != string::npos){ if(pos != string::npos){
_streamid = steamid.substr(0,pos); _streamid = steamid.substr(0,pos);
_para_strs = steamid.substr(pos + 1); _param_strs = steamid.substr(pos + 1);
_params = Parser::parseArgs(_para_strs); _params = Parser::parseArgs(_param_strs);
if(_params.find(VHOST_KEY) != _params.end()){ if(_params.find(VHOST_KEY) != _params.end()){
_vhost = _params[VHOST_KEY]; _vhost = _params[VHOST_KEY];
} }
......
...@@ -85,7 +85,7 @@ public: ...@@ -85,7 +85,7 @@ public:
string _app; string _app;
string _streamid; string _streamid;
StrCaseMap _params; StrCaseMap _params;
string _para_strs; string _param_strs;
}; };
......
...@@ -45,9 +45,6 @@ void MediaPlayer::play(const char* strUrl) { ...@@ -45,9 +45,6 @@ void MediaPlayer::play(const char* strUrl) {
_strPrefix = strPrefix; _strPrefix = strPrefix;
_parser = PlayerBase::createPlayer(strUrl); _parser = PlayerBase::createPlayer(strUrl);
_parser->setOnShutdown(_shutdownCB); _parser->setOnShutdown(_shutdownCB);
//todo(xzl) 修复此处
// _parser->setOnVideoCB(_onGetVideoCB);
// _parser->setOnAudioCB(_onGetAudioCB);
} }
_parser->setOnPlayResult(_playResultCB); _parser->setOnPlayResult(_playResultCB);
_parser->mINI::operator=(*this); _parser->mINI::operator=(*this);
......
...@@ -64,24 +64,14 @@ private: ...@@ -64,24 +64,14 @@ private:
if(_pRtmpMediaSrc){ if(_pRtmpMediaSrc){
_pRtmpMediaSrc->onGetMetaData(val); _pRtmpMediaSrc->onGetMetaData(val);
} }
try { _parser.reset(new RtmpDemuxer(val));
_parser.reset(new RtmpDemuxer(val)); return true;
//todo(xzl) 修复此处
// _parser->setOnVideoCB(_onGetVideoCB);
// _parser->setOnAudioCB(_onGetAudioCB);
return true;
} catch (std::exception &ex) {
WarnL << ex.what();
return _pRtmpMediaSrc ? true : false;
}
} }
void onMediaData(const RtmpPacket::Ptr &chunkData) override { void onMediaData(const RtmpPacket::Ptr &chunkData) override {
if(_parser){
_parser->inputRtmp(chunkData);
}
if(_pRtmpMediaSrc){ if(_pRtmpMediaSrc){
_pRtmpMediaSrc->onWrite(chunkData); _pRtmpMediaSrc->onWrite(chunkData);
} }
_parser->inputRtmp(chunkData);
} }
private: private:
......
...@@ -67,26 +67,15 @@ private: ...@@ -67,26 +67,15 @@ private:
if(_pRtspMediaSrc){ if(_pRtspMediaSrc){
_pRtspMediaSrc->onGetSDP(sdp); _pRtspMediaSrc->onGetSDP(sdp);
} }
try { _parser.reset(new RtspDemuxer(sdp));
_parser.reset(new RtspDemuxer(sdp)); return true;
//todo(xzl) 修复此处
// _parser->setOnVideoCB(_onGetVideoCB);
// _parser->setOnAudioCB(_onGetAudioCB);
return true;
} catch (std::exception &ex) {
WarnL << ex.what();
return _pRtspMediaSrc ? true : false;
}
} }
void onRecvRTP(const RtpPacket::Ptr &rtppt, const RtspTrack &track) override { void onRecvRTP(const RtpPacket::Ptr &rtppt, const RtspTrack &track) override {
if(_parser){ if(_pRtspMediaSrc){
_parser->inputRtp(rtppt); _pRtspMediaSrc->onWrite(rtppt,true);
} }
_parser->inputRtp(rtppt);
if(_pRtspMediaSrc){ }
_pRtspMediaSrc->onWrite(rtppt,true);
}
}
private: private:
RtspMediaSource::Ptr _pRtspMediaSrc; RtspMediaSource::Ptr _pRtspMediaSrc;
......
...@@ -68,6 +68,8 @@ int main(int argc, char *argv[]) { ...@@ -68,6 +68,8 @@ int main(int argc, char *argv[]) {
H264Decoder decoder; H264Decoder decoder;
YuvDisplayer displayer; YuvDisplayer displayer;
//todo(xzl) 修复此处
#if 0
player->setOnVideoCB([&](const H264Frame &frame) { player->setOnVideoCB([&](const H264Frame &frame) {
#ifndef __MACH__ #ifndef __MACH__
SDLDisplayerHelper::Instance().doTask([&, frame]() { SDLDisplayerHelper::Instance().doTask([&, frame]() {
...@@ -93,7 +95,7 @@ int main(int argc, char *argv[]) { ...@@ -93,7 +95,7 @@ int main(int argc, char *argv[]) {
#endif #endif
}); });
#endif
EventPoller::Instance().runLoop(); EventPoller::Instance().runLoop();
} }
UDPServer::Destory(); UDPServer::Destory();
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
#include "Http/HttpSession.h" #include "Http/HttpSession.h"
#include "Shell/ShellSession.h" #include "Shell/ShellSession.h"
#include "Util/MD5.h" #include "Util/MD5.h"
#include "Rtmp/FlvMuxer.h" #include "RtmpMuxer/FlvMuxer.h"
#ifdef ENABLE_OPENSSL #ifdef ENABLE_OPENSSL
#include "Util/SSLBox.h" #include "Util/SSLBox.h"
...@@ -57,7 +57,7 @@ using namespace mediakit; ...@@ -57,7 +57,7 @@ using namespace mediakit;
static onceToken s_token([](){ static onceToken s_token([](){
NoticeCenter::Instance().addListener(nullptr,Broadcast::kBroadcastOnGetRtspRealm,[](BroadcastOnGetRtspRealmArgs){ NoticeCenter::Instance().addListener(nullptr,Broadcast::kBroadcastOnGetRtspRealm,[](BroadcastOnGetRtspRealmArgs){
if(string("1") == args.m_streamid ){ if(string("1") == args._streamid ){
// live/1需要认证 // live/1需要认证
EventPoller::Instance().async([invoker](){ EventPoller::Instance().async([invoker](){
//该流需要认证,并且设置realm //该流需要认证,并且设置realm
...@@ -104,7 +104,7 @@ static onceToken s_token([](){ ...@@ -104,7 +104,7 @@ static onceToken s_token([](){
NoticeCenter::Instance().addListener(nullptr,Broadcast::kBroadcastRtmpPublish,[](BroadcastRtmpPublishArgs){ NoticeCenter::Instance().addListener(nullptr,Broadcast::kBroadcastRtmpPublish,[](BroadcastRtmpPublishArgs){
InfoL << args.m_vhost << " " << args.m_app << " " << args.m_streamid << " " << args.m_param_strs ; InfoL << args._vhost << " " << args._app << " " << args._streamid << " " << args._param_strs ;
EventPoller::Instance().async([invoker](){ EventPoller::Instance().async([invoker](){
invoker("");//鉴权成功 invoker("");//鉴权成功
//invoker("this is auth failed message");//鉴权失败 //invoker("this is auth failed message");//鉴权失败
...@@ -112,7 +112,7 @@ static onceToken s_token([](){ ...@@ -112,7 +112,7 @@ static onceToken s_token([](){
}); });
NoticeCenter::Instance().addListener(nullptr,Broadcast::kBroadcastMediaPlayed,[](BroadcastMediaPlayedArgs){ NoticeCenter::Instance().addListener(nullptr,Broadcast::kBroadcastMediaPlayed,[](BroadcastMediaPlayedArgs){
InfoL << args.m_schema << " " << args.m_vhost << " " << args.m_app << " " << args.m_streamid << " " << args.m_param_strs ; InfoL << args._schema << " " << args._vhost << " " << args._app << " " << args._streamid << " " << args._param_strs ;
EventPoller::Instance().async([invoker](){ EventPoller::Instance().async([invoker](){
invoker("");//鉴权成功 invoker("");//鉴权成功
//invoker("this is auth failed message");//鉴权失败 //invoker("this is auth failed message");//鉴权失败
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论