Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audio Spectrum and Audio Waveform displays nothing with Jack #984

Open
mxa opened this issue Dec 18, 2020 · 3 comments
Open

Audio Spectrum and Audio Waveform displays nothing with Jack #984

mxa opened this issue Dec 18, 2020 · 3 comments

Comments

@mxa
Copy link

mxa commented Dec 18, 2020

Kubuntu 20.10, Shotcut 20.11.28

Audio Spectrum and Audio Waveform displays are not working when using the Jack audio backend.

@bmatherly
Copy link
Member

I confirm this report is correct. the audio visualization filters require that that the audio is rendered before the video. In my testing, the audiowaveform filter reports:
[filter audiowaveform] Audio not preprocessed.
which means get_image() is being called before get_audio() when jack is enabled.

@ddennedy
Copy link
Member

That happens because JACK audio is integrated as a MLT filter attached to a muted SDL2 audio consumer rather than using the JACK MLT consumer. That is done because JACK transport control is only available in the filter and not the consumer. To understand why JACK is primarily a filter in MLT requires one to appreciate the flexibility of JACK as more than a audio playback API.
It might be possible to port all the JACK transport stuff from the filter to the consumer and then have Shotcut switch consumers. However, I was thinking about dropping the SDL2 consumer and replacing it with a new generic one that only exposes callbacks to use Qt audio APIs. We could still do both, but we are talking about a large amount of work for something very niche as it concerns the special combination of JACK, audio visualization filters, and preview in the app. Export is not affected. It is very low priority

@mxa mxa changed the title Audio Spectrum and Audio Waveform displays with Jack Audio Spectrum and Audio Waveform displays nothing with Jack Dec 19, 2020
@bmatherly
Copy link
Member

I agree this is low priority.

Can you think of a simple way to synchronize the Jack filter so that it pulls the audio before the consumer pulls the video? If nothing simple comes to mind, then I agree this might just wait until we change to a different consumer in Shotcut.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants