Check mandatory ClockTime arguments
authorFrançois Laignel <fengalin@free.fr>
Wed, 16 Jun 2021 10:13:21 +0000 (12:13 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 16 Jun 2021 14:52:38 +0000 (14:52 +0000)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1205>

gst-libs/gst/audio/gstaudiobasesink.c
gst-libs/gst/audio/gstaudiodecoder.c
gst-libs/gst/audio/gstaudioencoder.c
gst-libs/gst/audio/gstaudiostreamalign.c
gst-libs/gst/pbutils/gstdiscoverer.c

index 359b1b0..8dba7b9 100644 (file)
@@ -685,6 +685,7 @@ gst_audio_base_sink_set_alignment_threshold (GstAudioBaseSink * sink,
     GstClockTime alignment_threshold)
 {
   g_return_if_fail (GST_IS_AUDIO_BASE_SINK (sink));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (alignment_threshold));
 
   GST_OBJECT_LOCK (sink);
   sink->priv->alignment_threshold = alignment_threshold;
@@ -725,6 +726,7 @@ gst_audio_base_sink_set_discont_wait (GstAudioBaseSink * sink,
     GstClockTime discont_wait)
 {
   g_return_if_fail (GST_IS_AUDIO_BASE_SINK (sink));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (discont_wait));
 
   GST_OBJECT_LOCK (sink);
   sink->priv->discont_wait = discont_wait;
index 96184ae..ec15d6c 100644 (file)
@@ -3533,6 +3533,7 @@ void
 gst_audio_decoder_set_min_latency (GstAudioDecoder * dec, GstClockTime num)
 {
   g_return_if_fail (GST_IS_AUDIO_DECODER (dec));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (num));
 
   GST_OBJECT_LOCK (dec);
   dec->priv->latency = num;
@@ -3576,6 +3577,7 @@ void
 gst_audio_decoder_set_tolerance (GstAudioDecoder * dec, GstClockTime tolerance)
 {
   g_return_if_fail (GST_IS_AUDIO_DECODER (dec));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (tolerance));
 
   GST_OBJECT_LOCK (dec);
   dec->priv->tolerance = tolerance;
index 4a14d0c..60cc6af 100644 (file)
@@ -2544,6 +2544,7 @@ void
 gst_audio_encoder_set_tolerance (GstAudioEncoder * enc, GstClockTime tolerance)
 {
   g_return_if_fail (GST_IS_AUDIO_ENCODER (enc));
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (tolerance));
 
   GST_OBJECT_LOCK (enc);
   enc->priv->tolerance = tolerance;
index ec4233d..caabc84 100644 (file)
@@ -86,6 +86,8 @@ gst_audio_stream_align_new (gint rate, GstClockTime alignment_threshold,
   GstAudioStreamAlign *align;
 
   g_return_val_if_fail (rate != 0, NULL);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (alignment_threshold), NULL);
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (discont_wait), NULL);
 
   align = g_new0 (GstAudioStreamAlign, 1);
   align->rate = rate;
@@ -193,6 +195,7 @@ gst_audio_stream_align_set_alignment_threshold (GstAudioStreamAlign *
     align, GstClockTime alignment_threshold)
 {
   g_return_if_fail (align != NULL);
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (alignment_threshold));
 
   align->alignment_threshold = alignment_threshold;
 }
@@ -230,6 +233,7 @@ gst_audio_stream_align_set_discont_wait (GstAudioStreamAlign * align,
     GstClockTime discont_wait)
 {
   g_return_if_fail (align != NULL);
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (discont_wait));
 
   align->discont_wait = discont_wait;
 }
index 60e5412..6d17531 100644 (file)
@@ -521,6 +521,8 @@ gst_discoverer_get_property (GObject * object, guint prop_id,
 static void
 gst_discoverer_set_timeout (GstDiscoverer * dc, GstClockTime timeout)
 {
+  g_return_if_fail (GST_CLOCK_TIME_IS_VALID (timeout));
+
   GST_DEBUG_OBJECT (dc, "timeout : %" GST_TIME_FORMAT, GST_TIME_ARGS (timeout));
 
   /* FIXME : update current pending timeout if we're running */
@@ -2631,6 +2633,8 @@ gst_discoverer_new (GstClockTime timeout, GError ** err)
 {
   GstDiscoverer *res;
 
+  g_return_val_if_fail (GST_CLOCK_TIME_IS_VALID (timeout), NULL);
+
   res = g_object_new (GST_TYPE_DISCOVERER, "timeout", timeout, NULL);
   if (res->priv->uridecodebin == NULL) {
     if (err)