优化getTrack接口相关代码

This commit is contained in:
xiongziliang
2020-09-06 17:54:52 +08:00
parent 28262b158f
commit ac70597216
9 changed files with 34 additions and 45 deletions

View File

@@ -54,15 +54,11 @@ const string& MediaSource::getId() const {
}
vector<Track::Ptr> MediaSource::getTracks(bool ready) const {
auto strongPtr = _track_source.lock();
if(strongPtr){
return strongPtr->getTracks(ready);
auto listener = _listener.lock();
if(!listener){
return vector<Track::Ptr>();
}
return vector<Track::Ptr>();
}
void MediaSource::setTrackSource(const std::weak_ptr<TrackSource> &track_src) {
_track_source = track_src;
return listener->getTracks(const_cast<MediaSource &>(*this), ready);
}
void MediaSource::setListener(const std::weak_ptr<MediaSourceEvent> &listener){
@@ -549,6 +545,14 @@ bool MediaSourceEventInterceptor::isRecording(MediaSource &sender, Recorder::typ
return listener->isRecording(sender, type);
}
vector<Track::Ptr> MediaSourceEventInterceptor::getTracks(MediaSource &sender, bool trackReady) const {
auto listener = _listener.lock();
if (!listener) {
return vector<Track::Ptr>();
}
return listener->getTracks(sender, trackReady);
}
/////////////////////////////////////FlushPolicy//////////////////////////////////////
static bool isFlushAble_default(bool is_video, uint32_t last_stamp, uint32_t new_stamp, int cache_size) {