From 0a3ae38bf0c99f3bed14f3579ba41049afd8ce70 Mon Sep 17 00:00:00 2001 From: Wouter Cloetens Date: Tue, 8 Jan 2008 19:57:23 +0000 Subject: gst/matroska/matroska-mux.*: Keep track of first and last timestamps for each incoming stream, so we can calculate th... Original commit message from CVS: Based on patch by: Wouter Cloetens * gst/matroska/matroska-mux.c: (gst_matroska_mux_video_pad_setcaps), (gst_matroska_mux_request_new_pad), (gst_matroska_mux_release_pad), (gst_matroska_mux_finish), (gst_matroska_mux_collected): * gst/matroska/matroska-mux.h: Keep track of first and last timestamps for each incoming stream, so we can calculate the total duration for live sources and other input where we can't query the duration from the start or where there's no constant framerate from which we can deduce the duration; also use calculated/observed duration if it is bigger than the previously queried duration. Furthermore, use gst_pad_query_peer_duration() and take into account that it may return TRUE but still a duration of CLOCK_TIME_NONE, which easily screws up comparisons when using unsigned integers. Fixes #504081. --- ChangeLog | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 9117855f..60e90b44 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2008-01-08 Tim-Philipp Müller + + Based on patch by: Wouter Cloetens + + * gst/matroska/matroska-mux.c: (gst_matroska_mux_video_pad_setcaps), + (gst_matroska_mux_request_new_pad), (gst_matroska_mux_release_pad), + (gst_matroska_mux_finish), (gst_matroska_mux_collected): + * gst/matroska/matroska-mux.h: + Keep track of first and last timestamps for each incoming stream, + so we can calculate the total duration for live sources and other + input where we can't query the duration from the start or where + there's no constant framerate from which we can deduce the + duration; also use calculated/observed duration if it is bigger + than the previously queried duration. Furthermore, use + gst_pad_query_peer_duration() and take into account that it may + return TRUE but still a duration of CLOCK_TIME_NONE, which easily + screws up comparisons when using unsigned integers. Fixes #504081. + 2008-01-08 Sebastian Dröge * configure.ac: -- cgit