mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-10-06 12:13:49 +08:00
停止写之后将最后的片段也写进m3u8文件中
This commit is contained in:
parent
5704d8171c
commit
39a528cc02
|
@ -42,6 +42,12 @@ HlsMaker::~HlsMaker() {
|
|||
void HlsMaker::makeIndexFile(bool eof) {
|
||||
char file_content[1024];
|
||||
int maxSegmentDuration = 0;
|
||||
|
||||
//停止写之后将最后的片段也写进m3u8文件中
|
||||
if (eof && stampInc > 0) {
|
||||
_seg_dur_list.push_back(std::make_tuple(stampInc, _last_file_name));
|
||||
}
|
||||
|
||||
for (auto &tp : _seg_dur_list) {
|
||||
int dur = std::get<0>(tp);
|
||||
if (dur > maxSegmentDuration) {
|
||||
|
@ -57,7 +63,7 @@ void HlsMaker::makeIndexFile(bool eof) {
|
|||
"#EXT-X-TARGETDURATION:%u\n"
|
||||
"#EXT-X-MEDIA-SEQUENCE:%llu\n",
|
||||
(maxSegmentDuration + 999) / 1000,
|
||||
_file_index);
|
||||
_seg_number ? _file_index : 0);
|
||||
|
||||
m3u8.assign(file_content);
|
||||
|
||||
|
@ -96,7 +102,7 @@ void HlsMaker::delOldFile() {
|
|||
}
|
||||
|
||||
void HlsMaker::addNewFile(uint32_t) {
|
||||
int stampInc = _ticker.elapsedTime();
|
||||
stampInc = _ticker.elapsedTime();
|
||||
if (stampInc >= _seg_duration * 1000) {
|
||||
_ticker.resetTime();
|
||||
auto file_name = onOpenFile(_file_index);
|
||||
|
|
|
@ -92,6 +92,7 @@ protected:
|
|||
protected:
|
||||
uint32_t _seg_number = 0;
|
||||
private:
|
||||
int stampInc = 0;
|
||||
float _seg_duration = 0;
|
||||
uint64_t _file_index = 0;
|
||||
Ticker _ticker;
|
||||
|
|
Loading…
Reference in New Issue
Block a user