mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-28 05:29:24 +08:00
添加无人观看主动断开事件
This commit is contained in:
@@ -145,7 +145,11 @@ void PlayerProxy::rePlay(const string &strUrl,int iFailedCnt){
|
||||
return false;
|
||||
}, getPoller());
|
||||
}
|
||||
bool PlayerProxy::close() {
|
||||
bool PlayerProxy::close(bool force) {
|
||||
if(!force && _mediaMuxer->readerCount() != 0){
|
||||
return false;
|
||||
}
|
||||
|
||||
//通知其停止推流
|
||||
weak_ptr<PlayerProxy> weakSlef = dynamic_pointer_cast<PlayerProxy>(shared_from_this());
|
||||
getPoller()->async_first([weakSlef]() {
|
||||
@@ -161,6 +165,12 @@ bool PlayerProxy::close() {
|
||||
return true;
|
||||
}
|
||||
|
||||
void PlayerProxy::onNoneReader(MediaSource &sender) {
|
||||
if(_mediaMuxer->readerCount() != 0){
|
||||
return;
|
||||
}
|
||||
MediaSourceEvent::onNoneReader(sender);
|
||||
}
|
||||
|
||||
class MuteAudioMaker : public FrameRingInterfaceDelegate{
|
||||
public:
|
||||
|
||||
@@ -79,8 +79,9 @@ public:
|
||||
* 被主动关闭
|
||||
* @return
|
||||
*/
|
||||
bool close() override;
|
||||
bool close(bool force) override;
|
||||
private:
|
||||
void onNoneReader(MediaSource &sender) override;
|
||||
void rePlay(const string &strUrl,int iFailedCnt);
|
||||
void onPlaySuccess();
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user