add "#EXT-X-ENDLIST\n" at the end of total.m3u8 when unpublish
正在显示
1 个修改的文件
包含
15 行增加
和
8 行删除
| @@ -323,14 +323,17 @@ SrsHlsMuxer::~SrsHlsMuxer() | @@ -323,14 +323,17 @@ SrsHlsMuxer::~SrsHlsMuxer() | ||
| 323 | void SrsHlsMuxer::dispose() | 323 | void SrsHlsMuxer::dispose() |
| 324 | { | 324 | { |
| 325 | if (should_write_file) { | 325 | if (should_write_file) { |
| 326 | - std::vector<SrsHlsSegment*>::iterator it; | ||
| 327 | - for (it = segments.begin(); it != segments.end(); ++it) { | ||
| 328 | - SrsHlsSegment* segment = *it; | ||
| 329 | - if (unlink(segment->full_path.c_str()) < 0) { | ||
| 330 | - srs_warn("dispose unlink path failed, file=%s.", segment->full_path.c_str()); | ||
| 331 | - } | ||
| 332 | - srs_freep(segment); | ||
| 333 | - } | 326 | + if (hls_cleanup) { |
| 327 | + std::vector<SrsHlsSegment*>::iterator it; | ||
| 328 | + for (it = segments.begin(); it != segments.end(); ++it) { | ||
| 329 | + SrsHlsSegment* segment = *it; | ||
| 330 | + if (unlink(segment->full_path.c_str()) < 0) { | ||
| 331 | + srs_warn("dispose unlink path failed, file=%s.", | ||
| 332 | + segment->full_path.c_str()); | ||
| 333 | + } | ||
| 334 | + srs_freep(segment); | ||
| 335 | + } | ||
| 336 | + } | ||
| 334 | segments.clear(); | 337 | segments.clear(); |
| 335 | 338 | ||
| 336 | if (current) { | 339 | if (current) { |
| @@ -816,6 +819,10 @@ int SrsHlsMuxer::segment_close(string log_desc) | @@ -816,6 +819,10 @@ int SrsHlsMuxer::segment_close(string log_desc) | ||
| 816 | ss << currentSeg->uri << SRS_CONSTS_LF; | 819 | ss << currentSeg->uri << SRS_CONSTS_LF; |
| 817 | srs_verbose("write m3u8 segment uri success."); | 820 | srs_verbose("write m3u8 segment uri success."); |
| 818 | 821 | ||
| 822 | + if(log_desc == "unpublish"){ | ||
| 823 | + ss << "#EXT-X-ENDLIST" << SRS_CONSTS_LF; | ||
| 824 | + } | ||
| 825 | + | ||
| 819 | // write m3u8 to writer. | 826 | // write m3u8 to writer. |
| 820 | std::string m3u8 = ss.str(); | 827 | std::string m3u8 = ss.str(); |
| 821 | if ((ret = total_m3u8_writer.write((char*) m3u8.c_str(), | 828 | if ((ret = total_m3u8_writer.write((char*) m3u8.c_str(), |
-
请 注册 或 登录 后发表评论