caps: warn with wrong mediatype in gst_caps_new_empty_simple

If passing ANY/EMPTY to gst_caps_new_empty_simple
as a mediatype, a warning will be displayed to alert
on this misuse of the API.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2290>
This commit is contained in:
Stéphane Cerveau 2022-04-25 10:59:21 +02:00
parent 8d40531f23
commit 7f7084cd3a
2 changed files with 11 additions and 1 deletions

View file

@ -300,6 +300,16 @@ gst_caps_new_empty_simple (const char *media_type)
GstStructure *structure;
caps = gst_caps_new_empty ();
if (strcmp ("ANY", media_type) == 0) {
g_warning
("media_type should not be ANY. Please consider using `gst_caps_new_any` or `gst_caps_from_string`.");
}
if (strcmp ("", media_type) == 0 || strcmp ("EMPTY", media_type) == 0
|| strcmp ("NONE", media_type) == 0) {
g_warning
("media_type should not be `%s`. Please consider using `gst_caps_new_empty` or `gst_caps_from_string`.",
media_type);
}
structure = gst_structure_new_empty (media_type);
if (structure)
gst_caps_append_structure_unchecked (caps, structure, NULL);

View file

@ -169,7 +169,7 @@ dummy_parser_handle_frame (GstBaseParse * parse,
if (((DummyParser *) parse)->caps_set == FALSE) {
GstCaps *caps;
/* push caps */
caps = gst_caps_new_empty_simple ("ANY");
caps = gst_caps_new_empty_simple ("video/x-raw");
gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (parse), caps);
gst_caps_unref (caps);
((DummyParser *) parse)->caps_set = TRUE;