GstBufferList * gst_fragment_get_buffer_list (GstFragment * fragment) { g_return_val_if_fail (fragment != NULL, NULL); if (!fragment->completed) return NULL; gst_buffer_list_ref (fragment->priv->buffer_list); return fragment->priv->buffer_list; }
static GstFlowReturn gst_tee_do_push (GstTee * tee, GstPad * pad, gpointer data, gboolean is_list) { GstFlowReturn res; /* Push */ if (pad == tee->pull_pad) { /* don't push on the pad we're pulling from */ res = GST_FLOW_OK; } else if (is_list) { res = gst_pad_push_list (pad, gst_buffer_list_ref (GST_BUFFER_LIST_CAST (data))); } else { res = gst_pad_push (pad, gst_buffer_ref (GST_BUFFER_CAST (data))); } return res; }