mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 20:21:24 +00:00
pad: put new event probe type next to other event types
This commit is contained in:
parent
8e6b5f79bd
commit
629a8d03ce
2 changed files with 13 additions and 14 deletions
12
gst/gstpad.c
12
gst/gstpad.c
|
@ -2818,9 +2818,9 @@ probe_hook_marshal (GHook * hook, ProbeMarshall * data)
|
|||
if ((type & GST_PAD_PROBE_TYPE_BLOCKING) &&
|
||||
(flags & GST_PAD_PROBE_TYPE_BLOCKING & type) == 0)
|
||||
goto no_match;
|
||||
/* only probes that have GST_PAD_PROBE_TYPE_HANDLE_FLUSH set */
|
||||
if ((type & GST_PAD_PROBE_TYPE_HANDLE_FLUSH) &&
|
||||
(flags & GST_PAD_PROBE_TYPE_HANDLE_FLUSH & type) == 0)
|
||||
/* only probes that have GST_PAD_PROBE_TYPE_EVENT_FLUSH set */
|
||||
if ((type & GST_PAD_PROBE_TYPE_EVENT_FLUSH) &&
|
||||
(flags & GST_PAD_PROBE_TYPE_EVENT_FLUSH & type) == 0)
|
||||
goto no_match;
|
||||
|
||||
GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
|
||||
|
@ -3995,8 +3995,7 @@ gst_pad_push_event_unchecked (GstPad * pad, GstEvent * event,
|
|||
GST_PAD_SET_FLUSHING (pad);
|
||||
|
||||
GST_PAD_BLOCK_BROADCAST (pad);
|
||||
type |= GST_PAD_PROBE_TYPE_HANDLE_FLUSH;
|
||||
|
||||
type |= GST_PAD_PROBE_TYPE_EVENT_FLUSH;
|
||||
break;
|
||||
case GST_EVENT_FLUSH_STOP:
|
||||
GST_PAD_UNSET_FLUSHING (pad);
|
||||
|
@ -4005,8 +4004,7 @@ gst_pad_push_event_unchecked (GstPad * pad, GstEvent * event,
|
|||
GST_LOG_OBJECT (pad, "Removing pending EOS events");
|
||||
remove_event_by_type (pad, GST_EVENT_EOS);
|
||||
|
||||
type |= GST_PAD_PROBE_TYPE_HANDLE_FLUSH;
|
||||
|
||||
type |= GST_PAD_PROBE_TYPE_EVENT_FLUSH;
|
||||
break;
|
||||
default:
|
||||
{
|
||||
|
|
15
gst/gstpad.h
15
gst/gstpad.h
|
@ -444,6 +444,10 @@ typedef gboolean (*GstPadForwardFunction) (GstPad *pad, gpointer user_data);
|
|||
* @GST_PAD_PROBE_TYPE_BUFFER_LIST: probe buffer lists
|
||||
* @GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM: probe downstream events
|
||||
* @GST_PAD_PROBE_TYPE_EVENT_UPSTREAM: probe upstream events
|
||||
* @GST_PAD_PROBE_TYPE_EVENT_FLUSH: probe flush events. This probe has to be
|
||||
* explicitly enabled and is not included in the
|
||||
* @@GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM or
|
||||
* @@GST_PAD_PROBE_TYPE_EVENT_UPSTREAM probe types.
|
||||
* @GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM: probe downstream queries
|
||||
* @GST_PAD_PROBE_TYPE_QUERY_UPSTREAM: probe upstream queries
|
||||
* @GST_PAD_PROBE_TYPE_PUSH: probe push
|
||||
|
@ -464,15 +468,12 @@ typedef enum
|
|||
GST_PAD_PROBE_TYPE_BUFFER_LIST = (1 << 5),
|
||||
GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM = (1 << 6),
|
||||
GST_PAD_PROBE_TYPE_EVENT_UPSTREAM = (1 << 7),
|
||||
GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM = (1 << 8),
|
||||
GST_PAD_PROBE_TYPE_QUERY_UPSTREAM = (1 << 9),
|
||||
GST_PAD_PROBE_TYPE_EVENT_FLUSH = (1 << 8),
|
||||
GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM = (1 << 9),
|
||||
GST_PAD_PROBE_TYPE_QUERY_UPSTREAM = (1 << 10),
|
||||
/* flags to select scheduling mode */
|
||||
GST_PAD_PROBE_TYPE_PUSH = (1 << 12),
|
||||
GST_PAD_PROBE_TYPE_PULL = (1 << 13),
|
||||
/* flag for event probes that want to handle flush events.
|
||||
The probe can drop flush event which will mean that the rest
|
||||
of the pipeline will not get flushed */
|
||||
GST_PAD_PROBE_TYPE_HANDLE_FLUSH = (1 << 14)
|
||||
GST_PAD_PROBE_TYPE_PULL = (1 << 13)
|
||||
} GstPadProbeType;
|
||||
|
||||
#define GST_PAD_PROBE_TYPE_BLOCKING (GST_PAD_PROBE_TYPE_IDLE | GST_PAD_PROBE_TYPE_BLOCK)
|
||||
|
|
Loading…
Reference in a new issue