Skip to content

Draft: pad: Default to using flow-aware event propagation

Edward Hervey requested to merge bilboed/gstreamer:pad-event-flow into main

This is the continuation of the work that was done 7 years ago and makes the various pad event propagation take into account flow returns as much as possible.

For full propagation to happen, the various pad event functions of plugins need to be updated to use the "full" event handlers

New API

Core

  • gst_pad_event_full_default() , the full variant of gst_pad_event_default()
  • gst_pad_push_event_full(), the full variant of gst_pad_push_event()
  • gst_pad_send_event_full(), the full variant of gst_pad_send_event()
  • GstBaseSrcClass::event_full()
  • GstBaseSinkClass::event_full()
  • GstBaseTransformClass::sink_event_full()
  • GstBaseTransformClass::src_event_full()
  • GstBaseParseClass::sink_event_full()
  • GstBaseParseClass::src_event_full()
  • GstAggregatorClass::sink_event_full()
  • GstAggregatorClass::src_event_full()
  • GstCollectPadsEventFullFunction
  • gst_collect_pads_set_event_full_function()
  • gst_collect_pads_event_full_default()
  • gst_collect_pads_src_event_full_default()

Base

  • GstAudioDecoderClass::sink_event_full()
  • GstAudioDecoderClass::src_event_full()
  • GstAudioEncoderClass::sink_event_full()
  • GstAudioEncoderClass::src_event_full()
  • GstRTPBaseDepayloadClass::handle_event_full()
  • GstRTPBasePayloadClass::sink_event_full()
  • GstRTPBasePayloadClass::src_event_full()
  • GstVideoDecoderClass::sink_event_full()
  • GstVideoDecoderClass::src_event_full()
  • GstVideoEncoderClass::sink_event_full()
  • GstVideoEncoderClass::src_event_full()
Edited by Edward Hervey

Merge request reports