[vlc-devel] [PATCH] audio_output: check visualization before adding callback

ileoo at videolan.org ileoo at videolan.org
Fri Jul 19 19:26:13 CEST 2019


From: Ilkka Ollakka <ileoo at videolan.org>

transcode uses audio-filters and they don't have "visual" object to add
callbacks, so this causes error-message on normal transcode-run.
---
 src/audio_output/filters.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/audio_output/filters.c b/src/audio_output/filters.c
index 6a37c8e8ab..60d380a4c2 100644
--- a/src/audio_output/filters.c
+++ b/src/audio_output/filters.c
@@ -514,7 +514,8 @@ aout_filters_t *aout_FiltersNewWithClock(vlc_object_t *obj, const vlc_clock_t *c
     audio_sample_format_t output_format = *outfmt;
 
     /* Callbacks (before reading values and also before return statement) */
-    var_AddCallback (obj, "visual", VisualizationCallback, NULL);
+    if (var_Type(obj, "visual") )
+        var_AddCallback (obj, "visual", VisualizationCallback, NULL);
 
     if (!AOUT_FMT_LINEAR(outfmt))
     {   /* Non-linear output: just convert formats, no filters/visu */
@@ -646,7 +647,8 @@ aout_filters_t *aout_FiltersNewWithClock(vlc_object_t *obj, const vlc_clock_t *c
 
 error:
     aout_FiltersPipelineDestroy (filters->tab, filters->count);
-    var_DelCallback(obj, "visual", VisualizationCallback, NULL);
+    if (var_Type(obj, "visual") )
+        var_DelCallback(obj, "visual", VisualizationCallback, NULL);
     if (filters->clock)
         vlc_clock_Delete(filters->clock);
     free (filters);
@@ -693,7 +695,8 @@ void aout_FiltersDelete (vlc_object_t *obj, aout_filters_t *filters)
     if (filters->resampler != NULL)
         aout_FiltersPipelineDestroy (&filters->resampler, 1);
     aout_FiltersPipelineDestroy (filters->tab, filters->count);
-    var_DelCallback(obj, "visual", VisualizationCallback, NULL);
+    if (var_Type(obj, "visual") )
+        var_DelCallback(obj, "visual", VisualizationCallback, NULL);
     if (filters->clock)
         vlc_clock_Delete(filters->clock);
     free (filters);
-- 
2.22.0



More information about the vlc-devel mailing list