summaryrefslogtreecommitdiff
path: root/libavformat/segment.c
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2017-01-26 03:04:57 +0100
committerMarton Balint <cus@passwd.hu>2017-02-04 23:36:45 +0100
commit85169a75e17e35d17d26769324628d3202050bff (patch)
tree766dd3f604bf1d61f3f3cf0cb445fc1a208c601f /libavformat/segment.c
parentaf621b6d6e391f22a45bb8cb70765d2afa852b68 (diff)
downloadffmpeg-85169a75e17e35d17d26769324628d3202050bff.tar.gz
avformat/segment: remove last_cut check when detecting a new segment
Not starting a new segment if the elapsed microsecs since the start of the day equals the the elapsed microsecs since the start of the day at the time of the last cut seems plain wrong to me, Deti do you remember the original reason behind this check? Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavformat/segment.c')
-rw-r--r--libavformat/segment.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/libavformat/segment.c b/libavformat/segment.c
index 9d471483b3..8ec3653b38 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -87,7 +87,6 @@ typedef struct SegmentContext {
int64_t clocktime_offset; //< clock offset for cutting the segments at regular clock time
int64_t clocktime_wrap_duration; //< wrapping duration considered for starting a new segment
int64_t last_val; ///< remember last time for wrap around detection
- int64_t last_cut; ///< remember last cut
int cut_pending;
int header_written; ///< whether we've already called avformat_write_header
@@ -870,10 +869,8 @@ calc_times:
localtime_r(&sec, &ti);
usecs = (int64_t)(ti.tm_hour * 3600 + ti.tm_min * 60 + ti.tm_sec) * 1000000 + (avgt % 1000000);
wrapped_val = (usecs + seg->clocktime_offset) % seg->time;
- if (seg->last_cut != usecs && wrapped_val < seg->last_val && wrapped_val < seg->clocktime_wrap_duration) {
+ if (wrapped_val < seg->last_val && wrapped_val < seg->clocktime_wrap_duration)
seg->cut_pending = 1;
- seg->last_cut = usecs;
- }
seg->last_val = wrapped_val;
} else {
end_pts = seg->time * (seg->segment_count + 1);