完善播放器接口
This commit is contained in:
parent
bdc1f0cd15
commit
e816c56f2e
|
|
@ -49,6 +49,15 @@ public:
|
||||||
virtual float getDuration() const { return 0;}
|
virtual float getDuration() const { return 0;}
|
||||||
virtual bool isInited() const { return true; }
|
virtual bool isInited() const { return true; }
|
||||||
virtual vector<Track::Ptr> getTracks() const { return vector<Track::Ptr>();}
|
virtual vector<Track::Ptr> getTracks() const { return vector<Track::Ptr>();}
|
||||||
|
virtual Track::Ptr getTrack(TrackType type) const {
|
||||||
|
auto tracks = getTracks();
|
||||||
|
for(auto &track : tracks){
|
||||||
|
if(track->getTrackType() == type){
|
||||||
|
return track;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -85,9 +94,9 @@ public:
|
||||||
|
|
||||||
virtual float getProgress() const { return 0;}
|
virtual float getProgress() const { return 0;}
|
||||||
virtual void seekTo(float fProgress) {}
|
virtual void seekTo(float fProgress) {}
|
||||||
|
|
||||||
virtual void setMediaSouce(const MediaSource::Ptr & src) {}
|
virtual void setMediaSouce(const MediaSource::Ptr & src) {}
|
||||||
//TrackVideo = 0, TrackAudio = 1
|
virtual float getRtpLossRate(TrackType trackType) const {return 0; }
|
||||||
virtual float getRtpLossRate(int trackType) const {return 0; }
|
|
||||||
protected:
|
protected:
|
||||||
virtual void onShutdown(const SockException &ex) {}
|
virtual void onShutdown(const SockException &ex) {}
|
||||||
virtual void onPlayResult(const SockException &ex) {}
|
virtual void onPlayResult(const SockException &ex) {}
|
||||||
|
|
|
||||||
|
|
@ -684,8 +684,8 @@ void RtspPlayer::onRecvRTP_l(const RtpPacket::Ptr &rtppt, int trackidx){
|
||||||
|
|
||||||
onRecvRTP_l(rtppt,_aTrackInfo[trackidx]);
|
onRecvRTP_l(rtppt,_aTrackInfo[trackidx]);
|
||||||
}
|
}
|
||||||
float RtspPlayer::getRtpLossRate(int iTrackType) const{
|
float RtspPlayer::getRtpLossRate(TrackType type) const{
|
||||||
int iTrackIdx = getTrackIndexByTrackType((TrackType)iTrackType);
|
int iTrackIdx = getTrackIndexByTrackType(type);
|
||||||
if(iTrackIdx == -1){
|
if(iTrackIdx == -1){
|
||||||
uint64_t totalRecv = 0;
|
uint64_t totalRecv = 0;
|
||||||
uint64_t totalSend = 0;
|
uint64_t totalSend = 0;
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ public:
|
||||||
void play(const char* strUrl) override;
|
void play(const char* strUrl) override;
|
||||||
void pause(bool bPause) override;
|
void pause(bool bPause) override;
|
||||||
void teardown() override;
|
void teardown() override;
|
||||||
float getRtpLossRate(int iTrackType) const override;
|
float getRtpLossRate(TrackType type) const override;
|
||||||
protected:
|
protected:
|
||||||
//派生类回调函数
|
//派生类回调函数
|
||||||
virtual bool onCheckSDP(const string &strSdp, const SdpAttr &sdpAttr) = 0;
|
virtual bool onCheckSDP(const string &strSdp, const SdpAttr &sdpAttr) = 0;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue