[FFmpeg-devel] [PATCH] avformat/segment: remove last_cut check when detecting a new segment
Marton Balint
cus at passwd.hu
Mon Jan 30 21:39:04 EET 2017
On Thu, 26 Jan 2017, Marton Balint wrote:
> 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 at passwd.hu>
> ---
> libavformat/segment.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/libavformat/segment.c b/libavformat/segment.c
> index 9d47148..8ec3653 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);
> --
Ping...
Thanks,
Marton
More information about the ffmpeg-devel
mailing list