static GList *connect_element (GstDecodeBin * dbin, GstDecodeElement * delem,
GstDecodeChain * chain);
static void expose_pad (GstDecodeBin * dbin, GstElement * src,
- GstDecodePad * dpad, GstPad * pad, GstCaps * caps, GstDecodeChain * chain,
- gboolean lock);
+ GstDecodePad * dpad, GstPad * pad, GstCaps * caps, GstDecodeChain * chain);
static void pad_added_cb (GstElement * element, GstPad * pad,
GstDecodeChain * chain);
case GST_AUTOPLUG_SELECT_EXPOSE:
GST_DEBUG_OBJECT (dbin, "autoplug select requested expose");
/* expose the pad, we don't have the source element */
- expose_pad (dbin, src, dpad, pad, caps, chain, TRUE);
+ expose_pad (dbin, src, dpad, pad, caps, chain);
res = TRUE;
goto beach;
case GST_AUTOPLUG_SELECT_SKIP:
ocaps = get_pad_caps (expose_data->pad);
expose_pad (dbin, delem->element, expose_data->chain->current_pad,
- expose_data->pad, ocaps, expose_data->chain, TRUE);
+ expose_data->pad, ocaps, expose_data->chain);
if (ocaps)
gst_caps_unref (ocaps);
*/
static void
expose_pad (GstDecodeBin * dbin, GstElement * src, GstDecodePad * dpad,
- GstPad * pad, GstCaps * caps, GstDecodeChain * chain, gboolean lock)
+ GstPad * pad, GstCaps * caps, GstDecodeChain * chain)
{
GstPad *mqpad = NULL;
chain->endpad = gst_object_ref (dpad);
chain->endcaps = gst_caps_ref (caps);
- if (lock)
- EXPOSE_LOCK (dbin);
+ EXPOSE_LOCK (dbin);
if (dbin->decode_chain) {
if (gst_decode_chain_is_complete (dbin->decode_chain)) {
gst_decode_bin_expose (dbin);
}
}
- if (lock)
- EXPOSE_UNLOCK (dbin);
+ EXPOSE_UNLOCK (dbin);
if (mqpad)
gst_object_unref (mqpad);
if (analyze_new_pad (decode_bin, typefind, pad, caps,
decode_bin->decode_chain, NULL))
expose_pad (decode_bin, typefind, decode_bin->decode_chain->current_pad,
- pad, caps, decode_bin->decode_chain, TRUE);
+ pad, caps, decode_bin->decode_chain);
gst_decode_chain_unref (chain);
}
caps = get_pad_caps (pad);
if (analyze_new_pad (dbin, element, pad, caps, chain, &new_chain))
- expose_pad (dbin, element, new_chain->current_pad, pad, caps, new_chain,
- TRUE);
+ expose_pad (dbin, element, new_chain->current_pad, pad, caps, new_chain);
if (caps)
gst_caps_unref (caps);