mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-20 23:32:22 +08:00
时间戳统一使用毫秒
This commit is contained in:
@@ -46,9 +46,29 @@ class DemuxerBase {
|
||||
public:
|
||||
typedef std::shared_ptr<DemuxerBase> Ptr;
|
||||
|
||||
/**
|
||||
* 获取节目总时长,单位秒
|
||||
* @return
|
||||
*/
|
||||
virtual float getDuration() const { return 0;}
|
||||
|
||||
/**
|
||||
* 是否初始化完毕,完毕后方可调用getTrack方法
|
||||
* @return
|
||||
*/
|
||||
virtual bool isInited() const { return true; }
|
||||
|
||||
/**
|
||||
* 获取全部的Track
|
||||
* @return
|
||||
*/
|
||||
virtual vector<Track::Ptr> getTracks() const { return vector<Track::Ptr>();}
|
||||
|
||||
/**
|
||||
* 获取特定Track
|
||||
* @param type
|
||||
* @return
|
||||
*/
|
||||
virtual Track::Ptr getTrack(TrackType type) const {
|
||||
auto tracks = getTracks();
|
||||
for(auto &track : tracks){
|
||||
@@ -85,18 +105,60 @@ public:
|
||||
|
||||
PlayerBase(){}
|
||||
virtual ~PlayerBase(){}
|
||||
|
||||
/**
|
||||
* 开始播放
|
||||
* @param strUrl 视频url,支持rtsp/rtmp
|
||||
*/
|
||||
virtual void play(const char* strUrl) {}
|
||||
|
||||
/**
|
||||
* 暂停或恢复
|
||||
* @param bPause
|
||||
*/
|
||||
virtual void pause(bool bPause) {}
|
||||
|
||||
/**
|
||||
* 中断播放
|
||||
*/
|
||||
virtual void teardown() {}
|
||||
|
||||
/**
|
||||
* 设置异常中断回调
|
||||
* @param cb
|
||||
*/
|
||||
virtual void setOnShutdown( const function<void(const SockException &)> &cb) {}
|
||||
|
||||
/**
|
||||
* 设置播放结果回调
|
||||
* @param cb
|
||||
*/
|
||||
virtual void setOnPlayResult( const function<void(const SockException &ex)> &cb) {}
|
||||
|
||||
/**
|
||||
* 获取播放进度,取值 0.0 ~ 1.0
|
||||
* @return
|
||||
*/
|
||||
virtual float getProgress() const { return 0;}
|
||||
|
||||
/**
|
||||
* 拖动进度条
|
||||
* @param fProgress 进度,取值 0.0 ~ 1.0
|
||||
*/
|
||||
virtual void seekTo(float fProgress) {}
|
||||
|
||||
/**
|
||||
* 设置一个MediaSource,直接生产rtsp/rtmp代理
|
||||
* @param src
|
||||
*/
|
||||
virtual void setMediaSouce(const MediaSource::Ptr & src) {}
|
||||
virtual float getRtpLossRate(TrackType trackType) const {return 0; }
|
||||
|
||||
/**
|
||||
* 获取丢包率,只支持rtsp
|
||||
* @param trackType 音频或视频,TrackInvalid时为总丢包率
|
||||
* @return
|
||||
*/
|
||||
virtual float getPacketLossRate(TrackType trackType) const {return 0; }
|
||||
protected:
|
||||
virtual void onShutdown(const SockException &ex) {}
|
||||
virtual void onPlayResult(const SockException &ex) {}
|
||||
|
||||
Reference in New Issue
Block a user