diff --git a/subprojects/gst-plugins-base/ext/alsa/gstalsasink.c b/subprojects/gst-plugins-base/ext/alsa/gstalsasink.c index 5d73a1a127..25654d0844 100644 --- a/subprojects/gst-plugins-base/ext/alsa/gstalsasink.c +++ b/subprojects/gst-plugins-base/ext/alsa/gstalsasink.c @@ -55,6 +55,10 @@ #include #include +#ifdef HAVE_VALGRIND +# include +#endif + #ifndef ESTRPIPE #define ESTRPIPE EPIPE #endif @@ -140,6 +144,12 @@ gst_alsasink_finalise (GObject * object) } g_mutex_unlock (&output_mutex); +#ifdef HAVE_VALGRIND + if (RUNNING_ON_VALGRIND) { + snd_config_update_free_global (); + } +#endif + G_OBJECT_CLASS (parent_class)->finalize (object); } diff --git a/subprojects/gst-plugins-base/ext/alsa/gstalsasrc.c b/subprojects/gst-plugins-base/ext/alsa/gstalsasrc.c index 2e97f39270..8772ef8e6d 100644 --- a/subprojects/gst-plugins-base/ext/alsa/gstalsasrc.c +++ b/subprojects/gst-plugins-base/ext/alsa/gstalsasrc.c @@ -50,6 +50,10 @@ #include +#ifdef HAVE_VALGRIND +# include +#endif + #ifndef ESTRPIPE #define ESTRPIPE EPIPE #endif @@ -123,6 +127,12 @@ gst_alsasrc_finalize (GObject * object) g_free (src->device); g_mutex_clear (&src->alsa_lock); +#ifdef HAVE_VALGRIND + if (RUNNING_ON_VALGRIND) { + snd_config_update_free_global (); + } +#endif + G_OBJECT_CLASS (parent_class)->finalize (object); }