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
This commit is contained in:
lane.wei 2023-02-02 16:00:35 +08:00 committed by Lane.Wei
parent 63222d50de
commit ad9eccc5f4
1 changed files with 11 additions and 2 deletions

View File

@ -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;
}