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

demux_lavf: disable extension_picky for hls demuxer globally #15947

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

llyyr
Copy link
Contributor

@llyyr llyyr commented Feb 23, 2025

Added in FFmpeg/FFmpeg@91d96dc

The user can still turn this on via demuxer-lavf-o=extension_picky=1 if they want to.

This causes quite a few problems with many HLS sources where the codecs are not known at probe time for whatever reason. Youtube for instance shows "aac" audio codecs as "unknown".

As an aside, the FFmpeg test is also buggy and leaks a nested connection for any playlist item that fails the extension check. mpv catches this and prints "Leaking 1 nested connections (FFmpeg bug)" for every HLS stream that has at least one stream that fails the extension check.

Copy link

github-actions bot commented Feb 23, 2025

Download the artifacts for this pull request:

Windows
macOS

Added in FFmpeg/FFmpeg@91d96dc

The user can still turn this on via demuxer-lavf-o=extension_picky=1 if
they want to.

This causes quite a few problems with many HLS sources where the codecs
are not known at probe time for whatever reason. Youtube for instance
shows "aac" audio codecs as "unknown".

As an aside, the FFmpeg test is also buggy and leaks a nested
connection for any playlist item that fails the extension check. mpv
catches this and prints "Leaking 1 nested connections (FFmpeg bug)" for
every HLS stream that has at least one stream that fails the extension
check.
@kasper93
Copy link
Contributor

This causes quite a few problems with many HLS sources where the codecs are not known at probe time for whatever reason. Youtube for instance shows "aac" audio codecs as "unknown".

As an aside, the FFmpeg test is also buggy and leaks a nested connection for any playlist item that fails the extension check. mpv catches this and prints "Leaking 1 nested connections (FFmpeg bug)" for every HLS stream that has at least one stream that fails the extension check.

My worry is that if we hide those bugs, thy will live in ffmpeg forever. mpv is primary user of this ytdl to ffmpeg interaction. There are other users for sure, but mpv is one of the more popular one, as seen by the bug reports about this feature, that mention always mpv. (it's not easy to reproduce with standalone examples, because failures are likely with ytdl supported sites)

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

Successfully merging this pull request may close these issues.

2 participants