mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
audio,video-format: Make generate_raw_formats idempotent for assertions
When compiling without assertions `g_assert` and its contents disappear resulting in no list being deserialized at all and the `gst_{audio,video}_formats_raw` functions to return an empty collection. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1177>
This commit is contained in:
parent
e539f0cd67
commit
9a502c15c6
2 changed files with 6 additions and 2 deletions
|
@ -550,13 +550,15 @@ generate_raw_audio_formats (gpointer data)
|
|||
struct RawAudioFormats *all = g_new (struct RawAudioFormats, 1);
|
||||
gchar *tmp;
|
||||
guint i;
|
||||
gboolean res G_GNUC_UNUSED;
|
||||
|
||||
g_value_init (&list, GST_TYPE_LIST);
|
||||
/* Workaround a bug in our parser that would lead to segfaults
|
||||
* when deserializing container types using static strings,
|
||||
* see https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/446 */
|
||||
tmp = g_strdup (GST_AUDIO_FORMATS_ALL);
|
||||
g_assert (gst_value_deserialize (&list, tmp));
|
||||
res = gst_value_deserialize (&list, tmp);
|
||||
g_assert (res);
|
||||
g_free (tmp);
|
||||
|
||||
all->n = gst_value_list_get_size (&list);
|
||||
|
|
|
@ -7217,13 +7217,15 @@ generate_raw_video_formats (gpointer data)
|
|||
struct RawVideoFormats *all = g_new (struct RawVideoFormats, 1);
|
||||
gchar *tmp;
|
||||
guint i;
|
||||
gboolean res G_GNUC_UNUSED;
|
||||
|
||||
g_value_init (&list, GST_TYPE_LIST);
|
||||
/* Workaround a bug in our parser that would lead to segfaults
|
||||
* when deserializing container types using static strings,
|
||||
* see https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/446 */
|
||||
tmp = g_strdup (GST_VIDEO_FORMATS_ALL);
|
||||
g_assert (gst_value_deserialize (&list, tmp));
|
||||
res = gst_value_deserialize (&list, tmp);
|
||||
g_assert (res);
|
||||
g_free (tmp);
|
||||
|
||||
all->n = gst_value_list_get_size (&list);
|
||||
|
|
Loading…
Reference in a new issue