时间戳统一使用毫秒

This commit is contained in:
xiongziliang
2018-10-26 14:12:16 +08:00
parent e816c56f2e
commit 8f8eda9337
24 changed files with 188 additions and 100 deletions

View File

@@ -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) {}