fix parsing of ffmpeg 7 "is a device" formats #1276
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
when running with ffmpeg 7, some formats are not properly parsed by
getAvailableFormats
and thus can not be used.ffmpeg 7 adds a new column to the output of
-formats
command:#1274 partially addressed that issue, but only for formats where the new column is a space.
Formats that have
d
do not match the existing regex and are silently ignored.One example is
lavfi
format which right now can not be used due to this issue.The fix is to ammend the parsing regex to expect an optional space or 'd'. This way both new and old versions of ffmpeg are supported.
I've added a test for
lavfi
which fails without this fix when run with ffmpeg 7.