mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
event: Adding new renegotiate event
This commit is contained in:
parent
77569e0a9a
commit
a3dd59e97a
5 changed files with 34 additions and 2 deletions
|
@ -109,6 +109,7 @@ static GstEventQuarks event_quarks[] = {
|
|||
{GST_EVENT_NAVIGATION, "navigation", 0},
|
||||
{GST_EVENT_LATENCY, "latency", 0},
|
||||
{GST_EVENT_STEP, "step", 0},
|
||||
{GST_EVENT_RENEGOTIATE, "renegotiate", 0},
|
||||
{GST_EVENT_CUSTOM_UPSTREAM, "custom-upstream", 0},
|
||||
{GST_EVENT_CUSTOM_DOWNSTREAM, "custom-downstream", 0},
|
||||
{GST_EVENT_CUSTOM_DOWNSTREAM_OOB, "custom-downstream-oob", 0},
|
||||
|
@ -1281,6 +1282,29 @@ gst_event_parse_step (GstEvent * event, GstFormat * format, guint64 * amount,
|
|||
GST_QUARK (INTERMEDIATE)));
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_event_new_renegotiate:
|
||||
|
||||
* Create a new renegotiate event. The purpose of the step event is to travel
|
||||
* upstream and make elements renegotiate its caps. This is useful when changing
|
||||
* properties or elements on the pipeline.
|
||||
*
|
||||
* Returns: (transfer full): a new #GstEvent
|
||||
*
|
||||
* Since: 0.10.33
|
||||
*/
|
||||
GstEvent *
|
||||
gst_event_new_renegotiate (void)
|
||||
{
|
||||
GstEvent *event;
|
||||
|
||||
GST_CAT_INFO (GST_CAT_EVENT, "creating renegotiate event");
|
||||
|
||||
event = gst_event_new_custom (GST_EVENT_RENEGOTIATE, NULL);
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_event_new_sink_message:
|
||||
* @msg: (transfer none): the #GstMessage to be posted
|
||||
|
|
|
@ -115,6 +115,8 @@ typedef enum {
|
|||
* Since: 0.10.12
|
||||
* @GST_EVENT_STEP: A request for stepping through the media. Sinks will usually
|
||||
* execute the step operation. Since: 0.10.24
|
||||
* @GST_EVENT_RENEGOTIATE: A request for upstream renegotiating caps.
|
||||
* Since: 0.10.33
|
||||
* @GST_EVENT_CUSTOM_UPSTREAM: Upstream custom event
|
||||
* @GST_EVENT_CUSTOM_DOWNSTREAM: Downstream custom event that travels in the
|
||||
* data flow.
|
||||
|
@ -150,6 +152,7 @@ typedef enum {
|
|||
GST_EVENT_NAVIGATION = GST_EVENT_MAKE_TYPE (17, 0, FLAG(UPSTREAM)),
|
||||
GST_EVENT_LATENCY = GST_EVENT_MAKE_TYPE (18, 0, FLAG(UPSTREAM)),
|
||||
GST_EVENT_STEP = GST_EVENT_MAKE_TYPE (19, 0, FLAG(UPSTREAM)),
|
||||
GST_EVENT_RENEGOTIATE = GST_EVENT_MAKE_TYPE (20, 0, FLAG(UPSTREAM)),
|
||||
|
||||
/* custom events start here */
|
||||
GST_EVENT_CUSTOM_UPSTREAM = GST_EVENT_MAKE_TYPE (32, 0, FLAG(UPSTREAM)),
|
||||
|
@ -523,6 +526,9 @@ GstEvent* gst_event_new_step (GstFormat format, guint64 amoun
|
|||
void gst_event_parse_step (GstEvent *event, GstFormat *format, guint64 *amount,
|
||||
gdouble *rate, gboolean *flush, gboolean *intermediate);
|
||||
|
||||
/* renegotiate event */
|
||||
GstEvent* gst_event_new_renegotiate (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_EVENT_H__ */
|
||||
|
|
|
@ -52,7 +52,7 @@ static const gchar *_quark_strings[] = {
|
|||
"quality", "processed", "dropped", "buffering-ranges", "GstMessageProgress",
|
||||
"code", "text", "percent", "timeout", "GstBufferPoolConfig", "caps", "size",
|
||||
"min-buffers", "max-buffers", "prefix", "postfix", "align", "time",
|
||||
"GstQueryAllocation", "need-pool", "meta", "pool", "GstEventCaps"
|
||||
"GstQueryAllocation", "need-pool", "meta", "pool", "GstEventCaps", "GstEventRenegotiate"
|
||||
};
|
||||
|
||||
GQuark _priv_gst_quark_table[GST_QUARK_MAX];
|
||||
|
|
|
@ -146,8 +146,9 @@ typedef enum _GstQuarkId
|
|||
GST_QUARK_META = 117,
|
||||
GST_QUARK_POOL = 118,
|
||||
GST_QUARK_EVENT_CAPS = 119,
|
||||
GST_QUARK_EVENT_RENEGOTIATE = 120,
|
||||
|
||||
GST_QUARK_MAX = 120
|
||||
GST_QUARK_MAX = 121
|
||||
} GstQuarkId;
|
||||
|
||||
extern GQuark _priv_gst_quark_table[GST_QUARK_MAX];
|
||||
|
|
|
@ -404,6 +404,7 @@ EXPORTS
|
|||
gst_event_new_new_segment_full
|
||||
gst_event_new_qos
|
||||
gst_event_new_qos_full
|
||||
gst_event_new_renegotiate
|
||||
gst_event_new_seek
|
||||
gst_event_new_sink_message
|
||||
gst_event_new_step
|
||||
|
|
Loading…
Reference in a new issue