[Kdenlive-devel] [Mlt-devel] current mlt jack issues
Ed Rogalsky
ed.rogalsky at googlemail.com
Mon Jun 25 07:37:54 UTC 2012
Hi Dan,
> I just integrated jack into Shotcut, which also uses OpenGL very
> similarly, and I did not reproduce this problem.
Ok. In this case I will investigate. Thanks anyways.
> static int jack_process (jack_nframes_t frames, void * data)
> {
> ...
> for ( i = 0; i < channels; i++ )
> {
> size_t jack_size = ( frames * sizeof(float) );
> size_t ring_size;
> // Send audio through out port
> jack_output_buffers[i] = jack_port_get_buffer( jack_output_ports[i], frames
> );
> if ( ! jack_output_buffers[i] )
> {
> mlt_log_error( MLT_FILTER_SERVICE(filter), "no buffer for output port %d\n",
> i );
> err = 1;
> break;
> }
> ring_size = jack_ringbuffer_read_space( output_buffers[i] ); <--- ring_size
> = 0, nothing is copied to jackd
> jack_ringbuffer_read( output_buffers[i], ( char * )jack_output_buffers[i],
> ring_size < jack_size ? ring_size : jack_size );
> ....
> }
>
> the ring_size is 0 and no data is transfered to the jack outport
>> This is the problem - jack playing unset memory. This is what I have
>> committed and works for me using melt -jack -consumer sdl_preview.
I had implemented in my private jack branch a similiar solution
(silence buffer) for playing around. Ok I've integrated the patch - it
works for me too.
Thank you.
Now I'm ready for the next step. I have some another issues in sync
and seeking if audio tracks are muted or not available (using mlt jack
only as transport).
But for describing the problem/issue I want to play a little bit more.
I'll let you know if I have the details.
regards
eddrog
More information about the Kdenlive
mailing list