From ad9eccc5f47d5cc7b7a67d3a1b24f8ff6bc9bee9 Mon Sep 17 00:00:00 2001 From: "lane.wei" Date: Thu, 2 Feb 2023 16:00:35 +0800 Subject: [PATCH] ENH: gstreamer: use gst_clock_get_time insteadof gst_element_get_current_time gst_element_get_current_time is only available since gst 1.18 --- src/slic3r/GUI/Printer/gstbambusrc.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Printer/gstbambusrc.c b/src/slic3r/GUI/Printer/gstbambusrc.c index 5b5b8476c..e7339ec17 100644 --- a/src/slic3r/GUI/Printer/gstbambusrc.c +++ b/src/slic3r/GUI/Printer/gstbambusrc.c @@ -310,14 +310,23 @@ gst_bambusrc_create (GstPushSrc * psrc, GstBuffer ** outbuf) } else { if (!src->sttime) { - src->sttime = gst_element_get_current_clock_time((GstElement *)psrc); + //only available from 1.18 + //src->sttime = gst_element_get_current_clock_time((GstElement *)psrc); + src->sttime = gst_clock_get_time(((GstElement *)psrc)->clock); //if (GST_CLOCK_TIME_NONE == src->sttime) // src->sttime + GST_DEBUG_OBJECT(src, + "sttime init to %llu.", + src->sttime); } - GST_BUFFER_DTS(*outbuf) = gst_element_get_current_clock_time((GstElement *)psrc) - src->sttime; + //GST_BUFFER_DTS(*outbuf) = gst_element_get_current_clock_time((GstElement *)psrc) - src->sttime; + GST_BUFFER_DTS(*outbuf) = gst_clock_get_time(((GstElement *)psrc)->clock) - src->sttime; GST_BUFFER_PTS(*outbuf) = GST_CLOCK_TIME_NONE; GST_BUFFER_DURATION(*outbuf) = GST_CLOCK_TIME_NONE; } + GST_DEBUG_OBJECT(src, + "sttime:%llu, DTS:%llu, PTS: %llu~", + src->sttime, GST_BUFFER_DTS(*outbuf), GST_BUFFER_PTS(*outbuf)); return GST_FLOW_OK; }