避免hls拉流时m3u8文件出现问题或直播结束后,无限重试 (#2357)

Co-authored-by: xiongziliang <771730766@qq.com>
This commit is contained in:
alexliyu7352
2023-04-05 20:36:44 +08:00
committed by GitHub
parent 21691e34e5
commit 7fcd88d02a
4 changed files with 42 additions and 25 deletions

View File

@@ -73,11 +73,11 @@ protected:
virtual void onPacket(const char *data, size_t len) = 0;
private:
void onParsed(bool is_m3u8_inner,int64_t sequence,const map<int,ts_segment> &ts_map) override;
void onResponseHeader(const std::string &status,const HttpHeader &headers) override;
void onResponseBody(const char *buf,size_t size) override;
bool onParsed(bool is_m3u8_inner, int64_t sequence, const map<int, ts_segment> &ts_map) override;
void onResponseHeader(const std::string &status, const HttpHeader &headers) override;
void onResponseBody(const char *buf, size_t size) override;
void onResponseCompleted(const toolkit::SockException &e) override;
bool onRedirectUrl(const std::string &url,bool temporary) override;
bool onRedirectUrl(const std::string &url, bool temporary) override;
private:
void playDelay();
@@ -101,6 +101,7 @@ private:
std::string _play_url;
toolkit::Timer::Ptr _timer;
toolkit::Timer::Ptr _timer_ts;
toolkit::Ticker _wait_index_update_ticker;
std::list<ts_segment> _ts_list;
std::list<std::string> _ts_url_sort;
std::set<std::string, UrlComp> _ts_url_cache;