2 * equalizer.c - libvlc smoke test
10 static void test_equalizer (const char ** argv
, int argc
)
12 libvlc_instance_t
*vlc
;
13 libvlc_media_player_t
*mp
;
14 libvlc_equalizer_t
*equalizer
;
15 unsigned u_presets
, u_bands
;
17 log ("Testing equalizer\n");
19 vlc
= libvlc_new (argc
, argv
);
22 mp
= libvlc_media_player_new (vlc
);
27 log ("Testing equalizer presets\n");
29 u_presets
= libvlc_audio_equalizer_get_preset_count();
30 assert (u_presets
> 0);
32 for (unsigned i
= 0; i
< u_presets
; i
++)
34 assert (NULL
!= libvlc_audio_equalizer_get_preset_name(i
));
36 equalizer
= libvlc_audio_equalizer_new_from_preset(i
);
39 libvlc_audio_equalizer_release(equalizer
);
42 // preset out of range
44 assert (NULL
== libvlc_audio_equalizer_get_preset_name(u_presets
));
45 assert (NULL
== libvlc_audio_equalizer_new_from_preset(u_presets
));
49 log ("Testing equalizer bands\n");
51 u_bands
= libvlc_audio_equalizer_get_band_count();
54 for (unsigned i
= 0; i
< u_bands
; i
++)
55 assert (-1.0f
!= libvlc_audio_equalizer_get_band_frequency(i
));
59 assert (-1.0f
== libvlc_audio_equalizer_get_band_frequency(u_bands
));
63 log ("Testing equalizer initialisation\n");
65 equalizer
= libvlc_audio_equalizer_new();
68 assert (libvlc_audio_equalizer_get_preamp(equalizer
) == 0.0f
);
70 for (unsigned i
= 0; i
< u_bands
; i
++)
71 assert (libvlc_audio_equalizer_get_amp_at_index(equalizer
, i
) == 0.0f
);
73 // preamp (range -20.0 to 20.0)
75 log ("Testing equalizer preamp\n");
77 assert (0 == libvlc_audio_equalizer_set_preamp (equalizer
, 19.9f
));
78 assert (libvlc_audio_equalizer_get_preamp(equalizer
) == 19.9f
);
80 assert (0 == libvlc_audio_equalizer_set_preamp (equalizer
, 20.0f
));
81 assert (libvlc_audio_equalizer_get_preamp(equalizer
) == 20.0f
);
83 assert (0 == libvlc_audio_equalizer_set_preamp (equalizer
, 20.1f
));
84 assert (libvlc_audio_equalizer_get_preamp(equalizer
) == 20.0f
);
86 assert (0 == libvlc_audio_equalizer_set_preamp (equalizer
, -19.9f
));
87 assert (libvlc_audio_equalizer_get_preamp(equalizer
) == -19.9f
);
89 assert (0 == libvlc_audio_equalizer_set_preamp (equalizer
, -20.0f
));
90 assert (libvlc_audio_equalizer_get_preamp(equalizer
) == -20.0f
);
92 assert (0 == libvlc_audio_equalizer_set_preamp (equalizer
, -20.1f
));
93 assert (libvlc_audio_equalizer_get_preamp(equalizer
) == -20.0f
);
95 // amp at index (range -20.0 to 20.0)
97 log ("Testing equalizer amp at index\n");
99 for (unsigned i
= 0; i
< u_bands
; i
++)
101 assert (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer
, 19.9f
, i
));
102 assert (libvlc_audio_equalizer_get_amp_at_index (equalizer
, i
) == 19.9f
);
104 assert (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer
, 20.0f
, i
));
105 assert (libvlc_audio_equalizer_get_amp_at_index (equalizer
, i
) == 20.0f
);
107 assert (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer
, 20.1f
, i
));
108 assert (libvlc_audio_equalizer_get_amp_at_index (equalizer
, i
) == 20.0f
);
110 assert (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer
, -19.9f
, i
));
111 assert (libvlc_audio_equalizer_get_amp_at_index (equalizer
, i
) == -19.9f
);
113 assert (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer
, -20.0f
, i
));
114 assert (libvlc_audio_equalizer_get_amp_at_index (equalizer
, i
) == -20.0f
);
116 assert (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer
, -20.1f
, i
));
117 assert (libvlc_audio_equalizer_get_amp_at_index (equalizer
, i
) == -20.0f
);
120 // amp at index out of range
122 assert (isnan(libvlc_audio_equalizer_get_amp_at_index (equalizer
, u_bands
)));
123 assert (-1 == libvlc_audio_equalizer_set_amp_at_index (equalizer
, 19.9f
, u_bands
));
127 log ("Testing release NULL\n");
129 libvlc_audio_equalizer_release (NULL
);
133 log ("Testing set equalizer\n");
135 assert (0 == libvlc_media_player_set_equalizer(mp
, NULL
));
136 assert (0 == libvlc_media_player_set_equalizer(mp
, equalizer
));
138 // maximum string length (test string concatenation)
140 log ("Testing equalizer-bands string limit\n");
142 for (unsigned i
= 0; i
< u_bands
; i
++)
143 assert (0 == libvlc_audio_equalizer_set_amp_at_index (equalizer
, -19.1234567f
, i
));
145 assert (0 == libvlc_media_player_set_equalizer(mp
, equalizer
));
149 log ("Testing equalizer cleanup\n");
151 libvlc_audio_equalizer_release (equalizer
);
153 log ("Finished testing equalizer\n");
155 libvlc_media_player_release (mp
);
157 libvlc_release (vlc
);
164 test_equalizer (test_defaults_args
, test_defaults_nargs
);