添加无人观看主动断开事件

This commit is contained in:
xiongziliang
2019-05-27 18:39:43 +08:00
parent 3917b6451c
commit b0bf216bc2
21 changed files with 213 additions and 52 deletions

View File

@@ -166,11 +166,21 @@ void MediaReader::startReadMP4() {
seek(ui32Stamp);
return true;
}
bool MediaReader::close(){
bool MediaReader::close(bool force){
if(!force && _mediaMuxer->readerCount() != 0 ){
return false;
}
_timer.reset();
return true;
}
void MediaReader::onNoneReader(MediaSource &sender) {
if(_mediaMuxer->readerCount() != 0){
return;
}
MediaSourceEvent::onNoneReader(sender);
}
bool MediaReader::readSample(int iTimeInc,bool justSeekSyncFrame) {
TimeTicker();
lock_guard<recursive_mutex> lck(_mtx);

View File

@@ -68,7 +68,7 @@ public:
* 关闭MediaReader的流化进程会触发该对象放弃自持有
* @return
*/
bool close() override;
bool close(bool force) override;
/**
* 自动生成MediaReader对象然后查找相关的MediaSource对象
@@ -86,9 +86,11 @@ public:
const string &strId,
const string &filePath = "",
bool checkApp = true);
#ifdef ENABLE_MP4V2
private:
void seek(uint32_t iSeekTime,bool bReStart = true);
void onNoneReader(MediaSource &sender) override;
#ifdef ENABLE_MP4V2
void seek(uint32_t iSeekTime,bool bReStart = true);
inline void setSeekTime(uint32_t iSeekTime);
inline uint32_t getVideoCurrentTime();
inline MP4SampleId getVideoSampleId(int iTimeInc = 0);