From ad7d098572da9ee2ea17c4bddac6b5a8ad6e234c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 14 Dec 2018 20:59:11 +0200 Subject: videotimecode: Fix handling of timecodes without daily jam in gst_video_time_code_to_date_time() So that it behaves according to documentation. --- gst-libs/gst/video/gstvideotimecode.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gst-libs/gst/video/gstvideotimecode.c b/gst-libs/gst/video/gstvideotimecode.c index 2b02e217d..8401d5017 100644 --- a/gst-libs/gst/video/gstvideotimecode.c +++ b/gst-libs/gst/video/gstvideotimecode.c @@ -170,17 +170,13 @@ gst_video_time_code_to_date_time (const GstVideoTimeCode * tc) gdouble add_us; g_return_val_if_fail (gst_video_time_code_is_valid (tc), NULL); - g_return_val_if_fail (tc->config.latest_daily_jam != NULL, NULL); - ret = g_date_time_ref (tc->config.latest_daily_jam); - - if (ret == NULL) { + if (tc->config.latest_daily_jam == NULL) { gchar *tc_str = gst_video_time_code_to_string (tc); GST_WARNING ("Asked to convert time code %s to GDateTime, but its latest daily jam is NULL", tc_str); g_free (tc_str); - g_date_time_unref (ret); return NULL; } @@ -190,10 +186,11 @@ gst_video_time_code_to_date_time (const GstVideoTimeCode * tc) ("Asked to convert time code %s to GDateTime, but its framerate is unknown", tc_str); g_free (tc_str); - g_date_time_unref (ret); return NULL; } + ret = g_date_time_ref (tc->config.latest_daily_jam); + gst_util_fraction_to_double (tc->frames * tc->config.fps_d, tc->config.fps_n, &add_us); if ((tc->config.flags & GST_VIDEO_TIME_CODE_FLAGS_INTERLACED) -- cgit v1.2.1