mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
structure: add gst_structure_id_new() convenience function
Add convenience wrapper for gst_structure_id_empty_new() plus gst_structure_id_set() and use it in a few places. API: gst_structure_id_new()
This commit is contained in:
parent
bc7c7e9836
commit
c8acbbfde0
7 changed files with 71 additions and 57 deletions
|
@ -1995,6 +1995,7 @@ gst_structure_empty_new
|
|||
gst_structure_id_empty_new
|
||||
gst_structure_new
|
||||
gst_structure_new_valist
|
||||
gst_structure_id_new
|
||||
gst_structure_copy
|
||||
gst_structure_free
|
||||
gst_structure_get_name
|
||||
|
|
|
@ -602,8 +602,7 @@ gst_event_new_new_segment_full (gboolean update, gdouble rate,
|
|||
if (stop != -1)
|
||||
g_return_val_if_fail (start <= stop, NULL);
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (EVENT_NEWSEGMENT));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (EVENT_NEWSEGMENT),
|
||||
GST_QUARK (UPDATE), G_TYPE_BOOLEAN, update,
|
||||
GST_QUARK (RATE), G_TYPE_DOUBLE, rate,
|
||||
GST_QUARK (APPLIED_RATE), G_TYPE_DOUBLE, applied_rate,
|
||||
|
@ -734,8 +733,7 @@ gst_event_new_buffer_size (GstFormat format, gint64 minsize,
|
|||
", maxsize %" G_GINT64_FORMAT ", async %d", gst_format_get_name (format),
|
||||
minsize, maxsize, async);
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (EVENT_BUFFER_SIZE));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (EVENT_BUFFER_SIZE),
|
||||
GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
|
||||
GST_QUARK (MINSIZE), G_TYPE_INT64, minsize,
|
||||
GST_QUARK (MAXSIZE), G_TYPE_INT64, maxsize,
|
||||
|
@ -840,8 +838,7 @@ gst_event_new_qos (gdouble proportion, GstClockTimeDiff diff,
|
|||
", timestamp %" GST_TIME_FORMAT, proportion,
|
||||
diff, GST_TIME_ARGS (timestamp));
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (EVENT_QOS));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (EVENT_QOS),
|
||||
GST_QUARK (PROPORTION), G_TYPE_DOUBLE, proportion,
|
||||
GST_QUARK (DIFF), G_TYPE_INT64, diff,
|
||||
GST_QUARK (TIMESTAMP), G_TYPE_UINT64, timestamp, NULL);
|
||||
|
@ -953,8 +950,7 @@ gst_event_new_seek (gdouble rate, GstFormat format, GstSeekFlags flags,
|
|||
stop);
|
||||
}
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (EVENT_SEEK));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (EVENT_SEEK),
|
||||
GST_QUARK (RATE), G_TYPE_DOUBLE, rate,
|
||||
GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
|
||||
GST_QUARK (FLAGS), GST_TYPE_SEEK_FLAGS, flags,
|
||||
|
@ -1062,8 +1058,7 @@ gst_event_new_latency (GstClockTime latency)
|
|||
GST_CAT_INFO (GST_CAT_EVENT,
|
||||
"creating latency event %" GST_TIME_FORMAT, GST_TIME_ARGS (latency));
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (EVENT_LATENCY));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (EVENT_LATENCY),
|
||||
GST_QUARK (LATENCY), G_TYPE_UINT64, latency, NULL);
|
||||
event = gst_event_new_custom (GST_EVENT_LATENCY, structure);
|
||||
|
||||
|
|
|
@ -381,8 +381,7 @@ gst_message_new_error (GstObject * src, GError * error, const gchar * debug)
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_ERROR));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_ERROR),
|
||||
GST_QUARK (GERROR), GST_TYPE_G_ERROR, error,
|
||||
GST_QUARK (DEBUG), G_TYPE_STRING, debug, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_ERROR, src, structure);
|
||||
|
@ -409,8 +408,7 @@ gst_message_new_warning (GstObject * src, GError * error, const gchar * debug)
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_WARNING));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_WARNING),
|
||||
GST_QUARK (GERROR), GST_TYPE_G_ERROR, error,
|
||||
GST_QUARK (DEBUG), G_TYPE_STRING, debug, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_WARNING, src, structure);
|
||||
|
@ -439,9 +437,9 @@ gst_message_new_info (GstObject * src, GError * error, const gchar * debug)
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_INFO));
|
||||
gst_structure_id_set (structure, GST_QUARK (GERROR), GST_TYPE_G_ERROR,
|
||||
error, GST_QUARK (DEBUG), G_TYPE_STRING, debug, NULL);
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_INFO),
|
||||
GST_QUARK (GERROR), GST_TYPE_G_ERROR, error,
|
||||
GST_QUARK (DEBUG), G_TYPE_STRING, debug, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_INFO, src, structure);
|
||||
|
||||
return message;
|
||||
|
@ -535,8 +533,7 @@ gst_message_new_buffering (GstObject * src, gint percent)
|
|||
|
||||
g_return_val_if_fail (percent >= 0 && percent <= 100, NULL);
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_BUFFERING));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_BUFFERING),
|
||||
GST_QUARK (BUFFER_PERCENT), G_TYPE_INT, percent,
|
||||
GST_QUARK (BUFFERING_MODE), GST_TYPE_BUFFERING_MODE, GST_BUFFERING_STREAM,
|
||||
GST_QUARK (AVG_IN_RATE), G_TYPE_INT, -1,
|
||||
|
@ -569,8 +566,7 @@ gst_message_new_state_changed (GstObject * src,
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_STATE));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_STATE),
|
||||
GST_QUARK (OLD_STATE), GST_TYPE_STATE, (gint) oldstate,
|
||||
GST_QUARK (NEW_STATE), GST_TYPE_STATE, (gint) newstate,
|
||||
GST_QUARK (PENDING_STATE), GST_TYPE_STATE, (gint) pending, NULL);
|
||||
|
@ -625,8 +621,7 @@ gst_message_new_clock_provide (GstObject * src, GstClock * clock,
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_CLOCK_PROVIDE));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_CLOCK_PROVIDE),
|
||||
GST_QUARK (CLOCK), GST_TYPE_CLOCK, clock,
|
||||
GST_QUARK (READY), G_TYPE_BOOLEAN, ready, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_CLOCK_PROVIDE, src, structure);
|
||||
|
@ -656,8 +651,7 @@ gst_message_new_clock_lost (GstObject * src, GstClock * clock)
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_CLOCK_LOST));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_CLOCK_LOST),
|
||||
GST_QUARK (CLOCK), GST_TYPE_CLOCK, clock, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_CLOCK_LOST, src, structure);
|
||||
|
||||
|
@ -682,8 +676,7 @@ gst_message_new_new_clock (GstObject * src, GstClock * clock)
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_NEW_CLOCK));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_NEW_CLOCK),
|
||||
GST_QUARK (CLOCK), GST_TYPE_CLOCK, clock, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_NEW_CLOCK, src, structure);
|
||||
|
||||
|
@ -720,8 +713,7 @@ gst_message_new_structure_change (GstObject * src, GstStructureChangeType type,
|
|||
g_return_val_if_fail (GST_PAD_DIRECTION (src) == GST_PAD_SRC, NULL);
|
||||
g_return_val_if_fail (GST_IS_ELEMENT (owner), NULL);
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_STRUCTURE_CHANGE));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_STRUCTURE_CHANGE),
|
||||
GST_QUARK (TYPE), GST_TYPE_STRUCTURE_CHANGE_TYPE, type,
|
||||
GST_QUARK (OWNER), GST_TYPE_ELEMENT, owner,
|
||||
GST_QUARK (BUSY), G_TYPE_BOOLEAN, busy, NULL);
|
||||
|
@ -754,8 +746,7 @@ gst_message_new_segment_start (GstObject * src, GstFormat format,
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_SEGMENT_START));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_SEGMENT_START),
|
||||
GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
|
||||
GST_QUARK (POSITION), G_TYPE_INT64, position, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_SEGMENT_START, src, structure);
|
||||
|
@ -785,8 +776,7 @@ gst_message_new_segment_done (GstObject * src, GstFormat format,
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_SEGMENT_DONE));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_SEGMENT_DONE),
|
||||
GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
|
||||
GST_QUARK (POSITION), G_TYPE_INT64, position, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_SEGMENT_DONE, src, structure);
|
||||
|
@ -858,8 +848,7 @@ gst_message_new_duration (GstObject * src, GstFormat format, gint64 duration)
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_DURATION));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_DURATION),
|
||||
GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
|
||||
GST_QUARK (DURATION), G_TYPE_INT64, duration, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_DURATION, src, structure);
|
||||
|
@ -888,8 +877,7 @@ gst_message_new_async_start (GstObject * src, gboolean new_base_time)
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_ASYNC_START));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_ASYNC_START),
|
||||
GST_QUARK (NEW_BASE_TIME), G_TYPE_BOOLEAN, new_base_time, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_ASYNC_START, src, structure);
|
||||
|
||||
|
@ -962,8 +950,7 @@ gst_message_new_request_state (GstObject * src, GstState state)
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_REQUEST_STATE));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_REQUEST_STATE),
|
||||
GST_QUARK (NEW_STATE), GST_TYPE_STATE, (gint) state, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_REQUEST_STATE, src, structure);
|
||||
|
||||
|
@ -1560,8 +1547,7 @@ gst_message_new_stream_status (GstObject * src, GstStreamStatusType type,
|
|||
GstMessage *message;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (MESSAGE_STREAM_STATUS));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (MESSAGE_STREAM_STATUS),
|
||||
GST_QUARK (TYPE), GST_TYPE_STREAM_STATUS_TYPE, (gint) type,
|
||||
GST_QUARK (OWNER), GST_TYPE_ELEMENT, owner, NULL);
|
||||
message = gst_message_new_custom (GST_MESSAGE_STREAM_STATUS, src, structure);
|
||||
|
|
|
@ -387,8 +387,7 @@ gst_query_new_position (GstFormat format)
|
|||
GstQuery *query;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (QUERY_POSITION));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (QUERY_POSITION),
|
||||
GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
|
||||
GST_QUARK (CURRENT), G_TYPE_INT64, G_GINT64_CONSTANT (-1), NULL);
|
||||
|
||||
|
@ -460,8 +459,7 @@ gst_query_new_duration (GstFormat format)
|
|||
GstQuery *query;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (QUERY_DURATION));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (QUERY_DURATION),
|
||||
GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
|
||||
GST_QUARK (DURATION), G_TYPE_INT64, G_GINT64_CONSTANT (-1), NULL);
|
||||
|
||||
|
@ -535,8 +533,7 @@ gst_query_new_latency (void)
|
|||
GstQuery *query;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (QUERY_LATENCY));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (QUERY_LATENCY),
|
||||
GST_QUARK (LIVE), G_TYPE_BOOLEAN, FALSE,
|
||||
GST_QUARK (MIN_LATENCY), G_TYPE_UINT64, G_GUINT64_CONSTANT (0),
|
||||
GST_QUARK (MAX_LATENCY), G_TYPE_UINT64, G_GUINT64_CONSTANT (-1), NULL);
|
||||
|
@ -623,8 +620,7 @@ gst_query_new_convert (GstFormat src_format, gint64 value,
|
|||
GstQuery *query;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (QUERY_CONVERT));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (QUERY_CONVERT),
|
||||
GST_QUARK (SRC_FORMAT), GST_TYPE_FORMAT, src_format,
|
||||
GST_QUARK (SRC_VALUE), G_TYPE_INT64, value,
|
||||
GST_QUARK (DEST_FORMAT), GST_TYPE_FORMAT, dest_format,
|
||||
|
@ -711,8 +707,7 @@ gst_query_new_segment (GstFormat format)
|
|||
GstQuery *query;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (QUERY_SEGMENT));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (QUERY_SEGMENT),
|
||||
GST_QUARK (RATE), G_TYPE_DOUBLE, (gdouble) 0.0,
|
||||
GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
|
||||
GST_QUARK (START_VALUE), G_TYPE_INT64, G_GINT64_CONSTANT (-1),
|
||||
|
@ -846,8 +841,7 @@ gst_query_new_seeking (GstFormat format)
|
|||
GstQuery *query;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (QUERY_SEEKING));
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (QUERY_SEEKING),
|
||||
GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
|
||||
GST_QUARK (SEEKABLE), G_TYPE_BOOLEAN, FALSE,
|
||||
GST_QUARK (SEGMENT_START), G_TYPE_INT64, G_GINT64_CONSTANT (-1),
|
||||
|
@ -1096,10 +1090,9 @@ gst_query_new_buffering (GstFormat format)
|
|||
GstQuery *query;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (QUERY_BUFFERING));
|
||||
/* by default, we configure the answer as no buffering with a 100% buffering
|
||||
* progress */
|
||||
gst_structure_id_set (structure,
|
||||
structure = gst_structure_id_new (GST_QUARK (QUERY_BUFFERING),
|
||||
GST_QUARK (BUSY), G_TYPE_BOOLEAN, FALSE,
|
||||
GST_QUARK (BUFFER_PERCENT), G_TYPE_INT, 100,
|
||||
GST_QUARK (BUFFERING_MODE), GST_TYPE_BUFFERING_MODE, GST_BUFFERING_STREAM,
|
||||
|
@ -1306,8 +1299,8 @@ gst_query_new_uri (void)
|
|||
GstQuery *query;
|
||||
GstStructure *structure;
|
||||
|
||||
structure = gst_structure_id_empty_new (GST_QUARK (QUERY_URI));
|
||||
gst_structure_id_set (structure, GST_QUARK (URI), G_TYPE_STRING, NULL, NULL);
|
||||
structure = gst_structure_id_new (GST_QUARK (QUERY_URI),
|
||||
GST_QUARK (URI), G_TYPE_STRING, NULL, NULL);
|
||||
|
||||
query = gst_query_new (GST_QUERY_URI, structure);
|
||||
|
||||
|
|
|
@ -608,6 +608,41 @@ gst_structure_id_set_valist (GstStructure * structure,
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_structure_id_new:
|
||||
* @name_quark: name of new structure
|
||||
* @field_quark: the GQuark for the name of the field to set
|
||||
* @...: variable arguments
|
||||
*
|
||||
* Creates a new #GstStructure with the given name as a GQuark, followed by
|
||||
* fieldname quark, GType, argument(s) "triplets" in the same format as
|
||||
* gst_structure_id_set(). Basically a convenience wrapper around
|
||||
* gst_structure_id_empty_new() and gst_structure_id_set().
|
||||
*
|
||||
* The last variable argument must be NULL (or 0).
|
||||
*
|
||||
* Returns: a new #GstStructure
|
||||
*
|
||||
* Since: 0.10.24
|
||||
*/
|
||||
GstStructure *
|
||||
gst_structure_id_new (GQuark name_quark, GQuark field_quark, ...)
|
||||
{
|
||||
GstStructure *s;
|
||||
va_list varargs;
|
||||
|
||||
g_return_val_if_fail (name_quark != 0, NULL);
|
||||
g_return_val_if_fail (field_quark != 0, NULL);
|
||||
|
||||
s = gst_structure_id_empty_new (name_quark);
|
||||
|
||||
va_start (varargs, field_quark);
|
||||
gst_structure_id_set_valist (s, field_quark, varargs);
|
||||
va_end (varargs);
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
/* If the structure currently contains a field with the same name, it is
|
||||
* replaced with the provided field. Otherwise, the field is added to the
|
||||
* structure. The field's value is not deeply copied.
|
||||
|
|
|
@ -95,6 +95,9 @@ GstStructure * gst_structure_new (const gchar *
|
|||
GstStructure * gst_structure_new_valist (const gchar * name,
|
||||
const gchar * firstfield,
|
||||
va_list varargs);
|
||||
GstStructure * gst_structure_id_new (GQuark name_quark,
|
||||
GQuark field_quark,
|
||||
...);
|
||||
GstStructure * gst_structure_copy (const GstStructure *structure);
|
||||
void gst_structure_set_parent_refcount (GstStructure *structure,
|
||||
gint *refcount);
|
||||
|
|
|
@ -877,6 +877,7 @@ EXPORTS
|
|||
gst_structure_has_name
|
||||
gst_structure_id_empty_new
|
||||
gst_structure_id_get_value
|
||||
gst_structure_id_new
|
||||
gst_structure_id_set
|
||||
gst_structure_id_set_valist
|
||||
gst_structure_id_set_value
|
||||
|
|
Loading…
Reference in a new issue