File tree Expand file tree Collapse file tree 1 file changed +15
-2
lines changed
shared-module/audiofilters Expand file tree Collapse file tree 1 file changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -256,8 +256,21 @@ audioio_get_buffer_result_t audiofilters_distortion_get_buffer(audiofilters_dist
256256 }
257257 }
258258
259- // If we have a sample, filter it
260- if (self -> sample != NULL ) {
259+ if (self -> sample == NULL ) {
260+ if (self -> samples_signed ) {
261+ memset (word_buffer , 0 , length * (self -> bits_per_sample / 8 ));
262+ } else {
263+ // For unsigned samples set to the middle which is "quiet"
264+ if (MP_LIKELY (self -> bits_per_sample == 16 )) {
265+ memset (word_buffer , 32768 , length * (self -> bits_per_sample / 8 ));
266+ } else {
267+ memset (hword_buffer , 128 , length * (self -> bits_per_sample / 8 ));
268+ }
269+ }
270+
271+ length = 0 ;
272+ } else {
273+ // we have a sample to play and apply effect
261274 // Determine how many bytes we can process to our buffer, the less of the sample we have left and our buffer remaining
262275 uint32_t n = MIN (self -> sample_buffer_length , length );
263276
You can’t perform that action at this time.
0 commit comments