[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