Lines Matching refs:pad
131 sel, GstPad * pad);
133 GstPad * pad);
135 GstPad * pad);
137 GstPad * pad, gboolean strict);
199 static gint64 gst_selector_pad_get_running_time (RsnSelectorPad * pad);
200 static void gst_selector_pad_reset (RsnSelectorPad * pad);
201 static gboolean gst_selector_pad_event (GstPad * pad, GstObject * parent,
203 static gboolean gst_selector_pad_query (GstPad * pad, GstObject * parent,
205 static GstIterator *gst_selector_pad_iterate_linked_pads (GstPad * pad,
207 static GstFlowReturn gst_selector_pad_chain (GstPad * pad, GstObject * parent,
247 gst_selector_pad_init (RsnSelectorPad * pad) in gst_selector_pad_init() argument
249 pad->always_ok = DEFAULT_PAD_ALWAYS_OK; in gst_selector_pad_init()
250 gst_selector_pad_reset (pad); in gst_selector_pad_init()
256 RsnSelectorPad *pad; in gst_selector_pad_finalize() local
258 pad = GST_SELECTOR_PAD_CAST (object); in gst_selector_pad_finalize()
260 if (pad->tags) in gst_selector_pad_finalize()
261 gst_tag_list_unref (pad->tags); in gst_selector_pad_finalize()
262 gst_selector_pad_free_cached_buffers (pad); in gst_selector_pad_finalize()
322 gst_selector_pad_get_running_time (RsnSelectorPad * pad) in gst_selector_pad_get_running_time() argument
326 GST_OBJECT_LOCK (pad); in gst_selector_pad_get_running_time()
327 if (pad->active) { in gst_selector_pad_get_running_time()
328 guint64 position = pad->position; in gst_selector_pad_get_running_time()
329 GstFormat format = pad->segment.format; in gst_selector_pad_get_running_time()
331 ret = gst_segment_to_running_time (&pad->segment, format, position); in gst_selector_pad_get_running_time()
333 GST_OBJECT_UNLOCK (pad); in gst_selector_pad_get_running_time()
335 GST_DEBUG_OBJECT (pad, "running time: %" GST_TIME_FORMAT in gst_selector_pad_get_running_time()
336 " segment: %" GST_SEGMENT_FORMAT, GST_TIME_ARGS (ret), &pad->segment); in gst_selector_pad_get_running_time()
343 gst_selector_pad_reset (RsnSelectorPad * pad) in gst_selector_pad_reset() argument
345 GST_OBJECT_LOCK (pad); in gst_selector_pad_reset()
346 pad->active = FALSE; in gst_selector_pad_reset()
347 pad->pushed = FALSE; in gst_selector_pad_reset()
348 pad->eos = FALSE; in gst_selector_pad_reset()
349 pad->eos_sent = FALSE; in gst_selector_pad_reset()
350 pad->events_pending = FALSE; in gst_selector_pad_reset()
351 pad->discont = FALSE; in gst_selector_pad_reset()
352 pad->flushing = FALSE; in gst_selector_pad_reset()
353 pad->position = GST_CLOCK_TIME_NONE; in gst_selector_pad_reset()
354 gst_segment_init (&pad->segment, GST_FORMAT_UNDEFINED); in gst_selector_pad_reset()
355 pad->sending_cached_buffers = FALSE; in gst_selector_pad_reset()
356 gst_selector_pad_free_cached_buffers (pad); in gst_selector_pad_reset()
357 GST_OBJECT_UNLOCK (pad); in gst_selector_pad_reset()
413 gst_selector_pad_iterate_linked_pads (GstPad * pad, GstObject * parent) in gst_selector_pad_iterate_linked_pads() argument
422 otherpad = gst_input_selector_get_linked_pad (sel, pad, TRUE); in gst_selector_pad_iterate_linked_pads()
435 gst_selector_pad_event (GstPad * pad, GstObject * parent, GstEvent * event) in gst_selector_pad_event() argument
446 selpad = GST_SELECTOR_PAD_CAST (pad); in gst_selector_pad_event()
451 active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad); in gst_selector_pad_event()
454 if (prev_active_sinkpad != active_sinkpad && pad == active_sinkpad) { in gst_selector_pad_event()
459 active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad); in gst_selector_pad_event()
462 forward = (pad == active_sinkpad); in gst_selector_pad_event()
492 GST_DEBUG_OBJECT (pad, "configured SEGMENT %" GST_SEGMENT_FORMAT, in gst_selector_pad_event()
508 GST_DEBUG_OBJECT (pad, "received tags %" GST_PTR_FORMAT, newtags); in gst_selector_pad_event()
531 GST_DEBUG_OBJECT (pad, "received EOS"); in gst_selector_pad_event()
540 gst_input_selector_set_active_pad (sel, pad); in gst_selector_pad_event()
554 GST_DEBUG_OBJECT (pad, "forwarding event"); in gst_selector_pad_event()
572 gst_selector_pad_query (GstPad * pad, GstObject * parent, GstQuery * query) in gst_selector_pad_query() argument
585 if (GST_PAD_DIRECTION (pad) == GST_PAD_SINK) { in gst_selector_pad_query()
587 active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad); in gst_selector_pad_query()
590 if (pad != active_sinkpad) { in gst_selector_pad_query()
598 res = gst_pad_query_default (pad, parent, query); in gst_selector_pad_query()
609 gst_input_selector_wait (RsnInputSelector * self, RsnSelectorPad * pad) in gst_input_selector_wait() argument
611 while (self->blocked && !self->flushing && !pad->flushing) { in gst_input_selector_wait()
800 GstPad * pad) in gst_input_selector_cleanup_old_cached_buffers() argument
825 active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad); in gst_input_selector_cleanup_old_cached_buffers()
924 gst_selector_pad_chain (GstPad * pad, GstObject * parent, GstBuffer * buf) in gst_selector_pad_chain() argument
934 selpad = GST_SELECTOR_PAD_CAST (pad); in gst_selector_pad_chain()
947 GST_LOG_OBJECT (pad, "getting active pad"); in gst_selector_pad_chain()
950 active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad); in gst_selector_pad_chain()
957 if (active_sinkpad != pad || !selpad->pushed) { in gst_selector_pad_chain()
969 GST_DEBUG_OBJECT (pad, "Cached buffers found, " in gst_selector_pad_chain()
975 gst_selector_pad_chain (pad, parent, cached_buffer->buffer); in gst_selector_pad_chain()
991 active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad); in gst_selector_pad_chain()
995 if (active_sinkpad != pad) { in gst_selector_pad_chain()
1003 active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad); in gst_selector_pad_chain()
1009 GST_LOG_OBJECT (pad, "received start time %" GST_TIME_FORMAT, in gst_selector_pad_chain()
1012 GST_LOG_OBJECT (pad, "received end time %" GST_TIME_FORMAT, in gst_selector_pad_chain()
1015 GST_OBJECT_LOCK (pad); in gst_selector_pad_chain()
1018 GST_OBJECT_UNLOCK (pad); in gst_selector_pad_chain()
1022 if (pad != active_sinkpad) in gst_selector_pad_chain()
1031 if (prev_active_sinkpad != active_sinkpad && pad == active_sinkpad) { in gst_selector_pad_chain()
1046 GST_DEBUG_OBJECT (pad, "Marking discont buffer %p", buf); in gst_selector_pad_chain()
1052 GST_LOG_OBJECT (pad, "Forwarding buffer %p with timestamp %" GST_TIME_FORMAT, in gst_selector_pad_chain()
1056 GST_LOG_OBJECT (pad, "Buffer %p forwarded result=%d", buf, res); in gst_selector_pad_chain()
1062 active_sinkpad = gst_input_selector_activate_sinkpad (sel, pad); in gst_selector_pad_chain()
1064 if (active_sinkpad == pad) in gst_selector_pad_chain()
1069 gst_input_selector_cleanup_old_cached_buffers (sel, pad); in gst_selector_pad_chain()
1084 GST_DEBUG_OBJECT (pad, "Pad not active, discard buffer %p", buf); in gst_selector_pad_chain()
1102 GST_DEBUG_OBJECT (pad, "We are flushing, discard buffer %p", buf); in gst_selector_pad_chain()
1119 static void gst_input_selector_release_pad (GstElement * element, GstPad * pad);
1124 static gboolean gst_input_selector_event (GstPad * pad, GstObject * parent,
1126 static gboolean gst_input_selector_query (GstPad * pad, GstObject * parent,
1298 gst_input_selector_set_active_pad (RsnInputSelector * self, GstPad * pad) in gst_input_selector_set_active_pad() argument
1303 if (pad == self->active_sinkpad) in gst_input_selector_set_active_pad()
1307 new = GST_SELECTOR_PAD_CAST (pad); in gst_input_selector_set_active_pad()
1322 gst_object_replace ((GstObject **) active_pad_p, GST_OBJECT_CAST (pad)); in gst_input_selector_set_active_pad()
1344 GstPad *pad; in gst_input_selector_set_property() local
1346 pad = g_value_get_object (value); in gst_input_selector_set_property()
1354 gst_input_selector_set_active_pad (sel, pad); in gst_input_selector_set_property()
1433 gst_input_selector_get_linked_pad (RsnInputSelector * sel, GstPad * pad, in gst_input_selector_get_linked_pad() argument
1439 if (pad == sel->srcpad) in gst_input_selector_get_linked_pad()
1441 else if (pad == sel->active_sinkpad || !strict) in gst_input_selector_get_linked_pad()
1451 gst_input_selector_event (GstPad * pad, GstObject * parent, GstEvent * event) in gst_input_selector_event() argument
1490 GST_ERROR_OBJECT (pad, "Could not iterate over sinkpads"); in gst_input_selector_event()
1511 gst_input_selector_query (GstPad * pad, GstObject * parent, GstQuery * query) in gst_input_selector_query() argument
1574 res = gst_pad_query_default (pad, parent, query); in gst_input_selector_query()
1583 gst_input_selector_is_active_sinkpad (RsnInputSelector * sel, GstPad * pad) in gst_input_selector_is_active_sinkpad() argument
1588 res = (pad == sel->active_sinkpad); in gst_input_selector_is_active_sinkpad()
1596 gst_input_selector_activate_sinkpad (RsnInputSelector * sel, GstPad * pad) in gst_input_selector_activate_sinkpad() argument
1601 selpad = GST_SELECTOR_PAD_CAST (pad); in gst_input_selector_activate_sinkpad()
1669 gst_input_selector_release_pad (GstElement * element, GstPad * pad) in gst_input_selector_release_pad() argument
1674 GST_LOG_OBJECT (sel, "Releasing pad %s:%s", GST_DEBUG_PAD_NAME (pad)); in gst_input_selector_release_pad()
1678 if (sel->active_sinkpad == pad) { in gst_input_selector_release_pad()
1679 GST_DEBUG_OBJECT (sel, "Deactivating pad %s:%s", GST_DEBUG_PAD_NAME (pad)); in gst_input_selector_release_pad()
1685 gst_pad_set_active (pad, FALSE); in gst_input_selector_release_pad()
1686 gst_element_remove_pad (GST_ELEMENT (sel), pad); in gst_input_selector_release_pad()