Skip to content

Commit

Permalink
cefdemux: Vendor 1.18 GStreamer API
Browse files Browse the repository at this point in the history
This should be reverted once we bump our dependency to GStreamer >= 1.18.
  • Loading branch information
philn committed Dec 8, 2022
1 parent d418b63 commit 079ea27
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions gstcefdemux.cc
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,58 @@ typedef struct
GstFlowReturn combined;
} AudioPushData;

#if !GST_CHECK_VERSION(1, 18, 0)
static GstClockTime
gst_element_get_current_clock_time (GstElement * element)
{
GstClock *clock = NULL;
GstClockTime ret;

g_return_val_if_fail (GST_IS_ELEMENT (element), GST_CLOCK_TIME_NONE);

clock = gst_element_get_clock (element);

if (!clock) {
GST_DEBUG_OBJECT (element, "Element has no clock");
return GST_CLOCK_TIME_NONE;
}

ret = gst_clock_get_time (clock);
gst_object_unref (clock);

return ret;
}

static GstClockTime
gst_element_get_current_running_time (GstElement * element)
{
GstClockTime base_time, clock_time;

g_return_val_if_fail (GST_IS_ELEMENT (element), GST_CLOCK_TIME_NONE);

base_time = gst_element_get_base_time (element);

if (!GST_CLOCK_TIME_IS_VALID (base_time)) {
GST_DEBUG_OBJECT (element, "Could not determine base time");
return GST_CLOCK_TIME_NONE;
}

clock_time = gst_element_get_current_clock_time (element);

if (!GST_CLOCK_TIME_IS_VALID (clock_time)) {
return GST_CLOCK_TIME_NONE;
}

if (clock_time < base_time) {
GST_DEBUG_OBJECT (element, "Got negative current running time");
return GST_CLOCK_TIME_NONE;
}

return clock_time - base_time;
}
#endif


static gboolean
gst_cef_demux_push_audio_buffer (GstBuffer **buffer, guint idx, AudioPushData *push_data)
{
Expand Down

0 comments on commit 079ea27

Please sign in to comment.