[vlc-commits] audiobargraph_v: simplify parse_i_values
Rafaël Carré
git at videolan.org
Wed Apr 16 22:32:50 CEST 2014
vlc | branch: master | Rafaël Carré <funman at videolan.org> | Wed Apr 16 16:24:48 2014 +0200| [066f2cd582d2f2bf96f6dc6707848e6b5cd727ec] | committer: Rafaël Carré
audiobargraph_v: simplify parse_i_values
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=066f2cd582d2f2bf96f6dc6707848e6b5cd727ec
---
modules/video_filter/audiobargraph_v.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/modules/video_filter/audiobargraph_v.c b/modules/video_filter/audiobargraph_v.c
index 5ae03f1..cf6ff5f 100644
--- a/modules/video_filter/audiobargraph_v.c
+++ b/modules/video_filter/audiobargraph_v.c
@@ -182,23 +182,21 @@ static float iec_scale(float dB)
*****************************************************************************/
static void parse_i_values(BarGraph_t *p_BarGraph, char *i_values)
{
- char* res = NULL;
char delim[] = ":";
char* tok;
- float db;
p_BarGraph->nbChannels = 0;
+ free(p_BarGraph->i_values);
p_BarGraph->i_values = NULL;
- res = strtok_r(i_values, delim, &tok);
+ char *res = strtok_r(i_values, delim, &tok);
while (res != NULL) {
p_BarGraph->nbChannels++;
p_BarGraph->i_values = xrealloc(p_BarGraph->i_values,
p_BarGraph->nbChannels*sizeof(int));
- db = log10(atof(res)) * 20;
+ float db = log10(atof(res)) * 20;
p_BarGraph->i_values[p_BarGraph->nbChannels-1] = VLC_CLIP(iec_scale(db)*p_BarGraph->scale, 0, p_BarGraph->scale);
res = strtok_r(NULL, delim, &tok);
}
-
}
/*****************************************************************************
@@ -589,7 +587,6 @@ static int BarGraphCallback(vlc_object_t *p_this, char const *psz_var,
p_BarGraph->i_alpha = VLC_CLIP(newval.i_int, 0, 255);
else if (!strcmp(psz_var, "audiobargraph_v-i_values")) {
char *psz = xstrdup(newval.psz_string ? newval.psz_string : "");
- free(p_BarGraph->i_values);
// in case many answer are received at the same time, only keep one
res = strchr(psz, '@');
if (res)
@@ -788,6 +785,7 @@ static int OpenCommon(vlc_object_t *p_this, bool b_sub)
p_BarGraph->i_alpha = var_CreateGetIntegerCommand(p_filter,
"audiobargraph_v-transparency");
p_BarGraph->i_alpha = VLC_CLIP(p_BarGraph->i_alpha, 0, 255);
+ p_BarGraph->i_values = NULL;
parse_i_values(p_BarGraph, &(char){ 0 });
p_BarGraph->alarm = false;
More information about the vlc-commits
mailing list