mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-22 19:00:01 +08:00
添加对rtmp play2命令的支持
This commit is contained in:
parent
6d28fff604
commit
9ef5a11579
@ -21,6 +21,7 @@ RtmpSession::RtmpSession(const std::shared_ptr<ThreadPool> &pTh, const Socket::P
|
||||
g_mapCmd.emplace("publish",&RtmpSession::onCmd_publish);
|
||||
g_mapCmd.emplace("deleteStream",&RtmpSession::onCmd_deleteStream);
|
||||
g_mapCmd.emplace("play",&RtmpSession::onCmd_play);
|
||||
g_mapCmd.emplace("play2",&RtmpSession::onCmd_play2);
|
||||
g_mapCmd.emplace("seek",&RtmpSession::onCmd_seek);
|
||||
g_mapCmd.emplace("pause",&RtmpSession::onCmd_pause);}, []() {});
|
||||
DebugL << getPeerIp();
|
||||
@ -136,13 +137,7 @@ void RtmpSession::onCmd_deleteStream(AMFDecoder &dec) {
|
||||
throw std::runtime_error(StrPrinter << "Stop publishing." << endl);
|
||||
}
|
||||
|
||||
void RtmpSession::onCmd_play(AMFDecoder &dec) {
|
||||
dec.load<AMFValue>();/* NULL */
|
||||
m_strId = dec.load<std::string>();
|
||||
auto iPos = m_strId.find('?');
|
||||
if (iPos != string::npos) {
|
||||
m_strId.erase(iPos);
|
||||
}
|
||||
void RtmpSession::doPlay(){
|
||||
auto src = RtmpMediaSource::find(m_strApp,m_strId,true);
|
||||
bool ok = (src.operator bool());
|
||||
ok = ok && src->ready();
|
||||
@ -229,6 +224,18 @@ void RtmpSession::onCmd_play(AMFDecoder &dec) {
|
||||
src->seekTo(0);
|
||||
}
|
||||
}
|
||||
void RtmpSession::onCmd_play2(AMFDecoder &dec) {
|
||||
doPlay();
|
||||
}
|
||||
void RtmpSession::onCmd_play(AMFDecoder &dec) {
|
||||
dec.load<AMFValue>();/* NULL */
|
||||
m_strId = dec.load<std::string>();
|
||||
auto iPos = m_strId.find('?');
|
||||
if (iPos != string::npos) {
|
||||
m_strId.erase(iPos);
|
||||
}
|
||||
doPlay();
|
||||
}
|
||||
|
||||
void RtmpSession::onCmd_pause(AMFDecoder &dec) {
|
||||
dec.load<AMFValue>();/* NULL */
|
||||
|
@ -56,6 +56,8 @@ private:
|
||||
void onCmd_deleteStream(AMFDecoder &dec);
|
||||
|
||||
void onCmd_play(AMFDecoder &dec);
|
||||
void onCmd_play2(AMFDecoder &dec);
|
||||
void doPlay();
|
||||
void onCmd_seek(AMFDecoder &dec);
|
||||
void onCmd_pause(AMFDecoder &dec);
|
||||
void setMetaData(AMFDecoder &dec);
|
||||
|
Loading…
Reference in New Issue
Block a user