Lines Matching defs:segment

104     HLS_SECOND_LEVEL_SEGMENT_INDEX = (1 << 8), // include segment index in segment filenames when use_localtime  e.g.: %%03d
105 HLS_SECOND_LEVEL_SEGMENT_DURATION = (1 << 9), // include segment duration (microsec) in segment filenames when use_localtime e.g.: %%09t
106 HLS_SECOND_LEVEL_SEGMENT_SIZE = (1 << 10), // include segment size (bytes) in segment filenames when use_localtime e.g.: %%014s
144 double duration; // last segment duration computed so far, in seconds
145 int64_t start_pos; // last segment starting position
146 int64_t size; // last segment size
214 int64_t max_seg_size; // every segment file max size
580 av_log(hls, AV_LOG_ERROR, "failed to delete old segment %s: %s\n",
590 HLSSegment *segment, *previous_segment = NULL;
604 segment = vs->segments;
605 while (segment) {
606 playlist_duration += segment->duration;
607 segment = segment->next;
610 segment = vs->old_segments;
612 while (segment) {
613 playlist_duration -= segment->duration;
614 previous_segment = segment;
615 segment = previous_segment->next;
627 if (segment && !hls->use_localtime_mkdir) {
633 * all segment belongs to the same variant, so do it only once before the loop*/
636 if (replace_int_data_in_filename(&dirname_repl, dirname, 'v', segment->var_stream_idx) < 1) {
650 while (segment) {
651 av_log(hls, AV_LOG_DEBUG, "deleting old segment %s\n",
652 segment->filename);
653 if (!hls->use_localtime_mkdir) // segment->filename contains basename only
655 av_bprintf(&path, "%s", segment->filename);
666 if ((segment->sub_filename[0] != '\0')) {
672 segment->sub_filename);
684 previous_segment = segment;
685 segment = previous_segment->next;
931 av_log(s, AV_LOG_ERROR, "Failed to open segment '%s'\n", vs->fmp4_init_filename);
940 /* We only require one PAT/PMT per segment. */
959 static HLSSegment *find_segment_by_filename(HLSSegment *segment, const char *filename)
961 while (segment) {
962 if (!av_strcasecmp(segment->filename,filename))
963 return segment;
964 segment = segment->next;
984 "Invalid second level segment filename template '%s', "
997 "Invalid second level segment filename template '%s', "
1040 "second_level_segment_duration hls_flag works only with file protocol segment names\n");
1045 "second_level_segment_size hls_flag works only with file protocol segment names\n");
1065 av_log(c, AV_LOG_ERROR, "Invalid second level segment filename template '%s', "
1079 av_log(c, AV_LOG_ERROR, "Invalid second level segment filename template '%s', "
1090 av_log(c, AV_LOG_ERROR, "Invalid second level segment filename template '%s', "
1102 /* Create a new segment and append it to the segment list */
1129 av_log(hls, AV_LOG_WARNING, "Duplicated segment filename detected: %s\n", filename);
1703 av_log(oc, AV_LOG_ERROR, "Invalid segment filename template '%s', you can try to use -strftime 1 with it\n", vs->basename);
1714 av_log(oc, AV_LOG_ERROR, "Could not get segment filename with strftime\n");
1742 av_log(oc, AV_LOG_ERROR, "Invalid segment filename template '%s' you can try to use -strftime 1 with it\n", vs->basename);
1752 av_log(vtt_oc, AV_LOG_ERROR, "Invalid segment filename template '%s'\n", vs->vtt_basename);
2486 av_log(s, AV_LOG_WARNING, "Stream %d packet with pts %" PRId64 " has duration 0. The segment duration may not be precise.\n",
2582 av_log(s, AV_LOG_WARNING, "upload segment failed,"
2647 /* When split segment by byte, the duration is short than hls_time,
2648 * so it is not enough one segment duration as hls_time, */
2788 av_log(s, AV_LOG_WARNING, "upload segment failed, will retry with a new http session.\n");
2816 // rename that segment from .tmp to the real one
3030 av_log(s, AV_LOG_ERROR, "Could not get segment filename with strftime\n");
3108 {"hls_time", "set segment length", OFFSET(time), AV_OPT_TYPE_DURATION, {.i64 = 2000000}, 0, INT64_MAX, E},
3109 {"hls_init_time", "set segment length at init list", OFFSET(init_time), AV_OPT_TYPE_DURATION, {.i64 = 0}, 0, INT64_MAX, E},
3118 {"hls_segment_filename", "filename template for segment files", OFFSET(segment_filename), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E},
3120 {"hls_segment_size", "maximum size per segment file, (in bytes)", OFFSET(max_seg_size), AV_OPT_TYPE_INT, {.i64 = 0}, 0, INT_MAX, E},
3127 {"hls_segment_type", "set hls segment files type", OFFSET(segment_type), AV_OPT_TYPE_INT, {.i64 = SEGMENT_TYPE_MPEGTS }, 0, SEGMENT_TYPE_FMP4, E, "segment_type"},
3128 {"mpegts", "make segment file to mpegts files in m3u8", 0, AV_OPT_TYPE_CONST, {.i64 = SEGMENT_TYPE_MPEGTS }, 0, UINT_MAX, E, "segment_type"},
3129 {"fmp4", "make segment file to fragment mp4 files in m3u8", 0, AV_OPT_TYPE_CONST, {.i64 = SEGMENT_TYPE_FMP4 }, 0, UINT_MAX, E, "segment_type"},
3134 {"temp_file", "write segment and playlist to temporary file and rename when complete", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_TEMP_FILE }, 0, UINT_MAX, E, "flags"},
3135 {"delete_segments", "delete segment files that are no longer part of the playlist", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_DELETE_SEGMENTS }, 0, UINT_MAX, E, "flags"},
3139 {"split_by_time", "split the hls segment by time which user set by hls_time", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_SPLIT_BY_TIME }, 0, UINT_MAX, E, "flags"},
3140 {"append_list", "append the new segments into old hls segment list", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_APPEND_LIST }, 0, UINT_MAX, E, "flags"},
3142 {"second_level_segment_index", "include segment index in segment filenames when use_localtime", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_SECOND_LEVEL_SEGMENT_INDEX }, 0, UINT_MAX, E, "flags"},
3143 {"second_level_segment_duration", "include segment duration in segment filenames when use_localtime", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_SECOND_LEVEL_SEGMENT_DURATION }, 0, UINT_MAX, E, "flags"},
3144 {"second_level_segment_size", "include segment size in segment filenames when use_localtime", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_SECOND_LEVEL_SEGMENT_SIZE }, 0, UINT_MAX, E, "flags"},
3148 {"strftime", "set filename expansion with strftime at segment creation", OFFSET(use_localtime), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, E },
3163 {"master_pl_publish_rate", "Publish master play list every after this many segment intervals", OFFSET(master_publish_rate), AV_OPT_TYPE_INT, {.i64 = 0}, 0, UINT_MAX, E},