event: Don't allow invalid SELECT_STREAMS event creation
authorEdward Hervey <edward@centricular.com>
Fri, 27 Oct 2017 07:53:06 +0000 (09:53 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Fri, 27 Oct 2017 07:53:06 +0000 (09:53 +0200)
Asking to select no streams makes no sense and can create various
issues.

If one doesn't one any stream it should deactivate (or not use) the
element in question.

gst/gstevent.c

index 815898f..207388a 100644 (file)
@@ -593,7 +593,10 @@ gst_event_parse_flush_stop (GstEvent * event, gboolean * reset_time)
  * in #GST_EVENT_STREAM_START, #GST_EVENT_STREAM_COLLECTION or
  * #GST_MESSSAGE_STREAM_COLLECTION.
  *
- * Returns: (transfer full): a new select-streams event.
+ * Note: The list of @streams can not be empty.
+ *
+ * Returns: (transfer full): a new select-streams event or %NULL in case of
+ * an error (like an empty streams list).
  *
  * Since: 1.10
  */
@@ -605,6 +608,8 @@ gst_event_new_select_streams (GList * streams)
   GstStructure *struc;
   GList *tmpl;
 
+  g_return_val_if_fail (streams != NULL, NULL);
+
   GST_CAT_INFO (GST_CAT_EVENT, "Creating new select-streams event");
   struc = gst_structure_new_id_empty (GST_QUARK (EVENT_SELECT_STREAMS));
   g_value_init (&val, GST_TYPE_LIST);