triggercontrolsource: fix control reaches end of non-void function

Return NAN and check the value further up.
Fixes #666890
This commit is contained in:
Stefan Sauer 2011-12-27 13:48:36 +01:00
parent 63caa628c4
commit 855212cd2f

View file

@ -79,9 +79,7 @@ _interpolate_trigger (GstTimedValueControlSource * self, GSequenceIter * iter,
if (found) { if (found) {
return cp->value; return cp->value;
} }
return FP_NAN;
g_warning ("FIXME: _interpolate_trigger return value");
return 0.0; /* FIXME */
} }
static gboolean static gboolean
@ -97,7 +95,8 @@ interpolate_trigger_get (GstTimedValueControlSource * self,
gst_timed_value_control_source_find_control_point_iter (self, timestamp); gst_timed_value_control_source_find_control_point_iter (self, timestamp);
if (iter) { if (iter) {
*value = _interpolate_trigger (self, iter, timestamp); *value = _interpolate_trigger (self, iter, timestamp);
ret = TRUE; if (!isnan (*value))
ret = TRUE;
} }
g_mutex_unlock (self->lock); g_mutex_unlock (self->lock);
return ret; return ret;
@ -141,7 +140,8 @@ interpolate_trigger_get_value_array (GstTimedValueControlSource * self,
if (iter1) { if (iter1) {
val = _interpolate_trigger (self, iter1, ts); val = _interpolate_trigger (self, iter1, ts);
ret = TRUE; if (!isnan (val))
ret = TRUE;
} else { } else {
g_mutex_unlock (self->lock); g_mutex_unlock (self->lock);
return FALSE; return FALSE;
@ -150,7 +150,8 @@ interpolate_trigger_get_value_array (GstTimedValueControlSource * self,
} else if (triggered) { } else if (triggered) {
if (iter1) { if (iter1) {
val = _interpolate_trigger (self, iter1, ts); val = _interpolate_trigger (self, iter1, ts);
ret = TRUE; if (!isnan (val))
ret = TRUE;
} else { } else {
g_mutex_unlock (self->lock); g_mutex_unlock (self->lock);
return FALSE; return FALSE;