event: Adding new renegotiate event

This commit is contained in:
Thiago Santos 2011-01-17 11:51:49 -03:00 committed by Sebastian Dröge
parent 77569e0a9a
commit a3dd59e97a
5 changed files with 34 additions and 2 deletions

View file

@ -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

View file

@ -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__ */

View file

@ -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];

View file

@ -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];

View file

@ -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