]> git.sesse.net Git - mlt/commitdiff
send jack silence on buffer underrun
authorDan Dennedy <dan@dennedy.org>
Fri, 22 Jun 2012 04:22:31 +0000 (21:22 -0700)
committerDan Dennedy <dan@dennedy.org>
Fri, 22 Jun 2012 04:22:31 +0000 (21:22 -0700)
This occurs with the sdl_preview or any of the audio-only consumers when
paused. Otherwise, jack just plays unset memory, which is usually
something worse than just noise.

src/modules/jackrack/filter_jackrack.c

index c15d31e82db81f7d892a2a3d98adf0505215a767..1f7a72a898b7d2f3618bd1142806195b2208c264 100644 (file)
@@ -271,6 +271,8 @@ static int jack_process (jack_nframes_t frames, void * data)
                }
                ring_size = jack_ringbuffer_read_space( output_buffers[i] );
                jack_ringbuffer_read( output_buffers[i], ( char * )jack_output_buffers[i], ring_size < jack_size ? ring_size : jack_size );
+               if ( ring_size < jack_size )
+                       memset( &jack_output_buffers[i][ring_size], 0, jack_size - ring_size );
                
                // Return audio through in port
                jack_input_buffers[i] = jack_port_get_buffer( jack_input_ports[i], frames );