Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • gstreamer gstreamer
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 1.1k
    • Issues 1.1k
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 498
    • Merge requests 498
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamerGStreamer
  • gstreamergstreamer
  • Merge requests
  • !3119

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

  • Review changes

  • Download
  • Patches
  • Plain diff
Open Edward Hervey requested to merge bilboed/gstreamer:pad-event-flow into main Oct 05, 2022
  • Overview 10
  • Commits 25
  • Pipelines 11
  • Changes 93

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 Oct 13, 2022 by Edward Hervey
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: pad-event-flow