-
Notifications
You must be signed in to change notification settings - Fork 324
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_index=all broken with Sintel since c170481 #993
Comments
|
I couldn't figure out a good word to describe the issue, sorry about that. Yes it sounds distorted/crackling. I would expect audio_index=all to not arbitrarily stop working just because a file has only one stream. If it can flatten files with two or more streams then surely it should be able to do it with one stream even if it's a no-op in that case. Else workflows that want "flattened" audio out of any input need special attention for files with single audio streams. I intend to investigate the issue further. There is no crackling with a file with one 8 channel stream. For reference, ffprobe output for Sintel (crackling):
The 8 channel file (no crackling):
|
The issue has to do with pick_audio_stream() not handling astream=all correctly. It is set to that further down in pick_audio_stream() when audio_index=all. This causes mlt_properties_get() to return non-NULL, which leads to mlt_properties_get_int() returning zero, which gets translated to absolute_index=2 which is returned. This in turn causes producer_set_up_audio() to avcodec_free_context() every frame for all audio streams because it thinks the audio stream has changed every frame. I'm not quite sure what the logic of pick_audio_stream() should be when audio_index=all.. |
… them as ints This fixes mltframework#993
Steps to reproduce with current master (fda7c02):
melt -producer Sintel_movie_720x306.ogv audio_index=all
Reverting c170481 fixes the issue, but probably brings back the issue that that commit is meant to fix.
Tested together with FFmpeg versions 5.1.4, 6.1.1 and 7.0.1.
The text was updated successfully, but these errors were encountered: