pad: fail dropped queries

Previously, dropping a query from a pad probe would deem the
query succeeded, and the caller might then assume the query's
results are valid, and thus dereference an invalid object
such as a GstCaps.

We now assume dropped queries did not succeed. Dropped events
and buffers are still deemed a success.

Added back after previous revert, as it's been double checked.

https://bugzilla.gnome.org/show_bug.cgi?id=740003
This commit is contained in:
Vincent Penquerc'h 2014-11-03 17:46:57 +00:00
parent 1b06822ce3
commit d4c551a292

View file

@ -3643,10 +3643,7 @@ probe_stopped:
GST_PAD_STREAM_UNLOCK (pad);
/* if a probe dropped, we don't sent it further but assume that the probe
* answered the query and return TRUE */
if (ret == GST_FLOW_CUSTOM_SUCCESS)
res = TRUE;
else
* did not answer the query and return FALSE */
res = FALSE;
return res;
@ -3760,10 +3757,7 @@ probe_stopped:
GST_OBJECT_UNLOCK (pad);
/* if a probe dropped, we don't sent it further but assume that the probe
* answered the query and return TRUE */
if (ret == GST_FLOW_CUSTOM_SUCCESS)
res = TRUE;
else
* did not answer the query and return FALSE */
res = FALSE;
return res;