The shell escape function now properly escapes `%`, `\\` and `\n`. `utils.Popen` as well as `%q` output template expansion have been patched accordingly.
Prior to this fix using `--exec` together with `%q` when on Windows could cause remote code to execute. See https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-hjq6-52gw-2g7p for more details.
Authored by: Grub4K
Reverts 22e4dfacb6
Despite being documented as `Kbit/s`, the extractors/manifests were returning bitrates in SI units of kilobits/sec.
Authored by: seproDev, pukkandan
Add ffmpeg progress tracking to FFmpegPostProcessor
Apply changes from the code review
Fix a bug where the subprocess didn't capture any output thus an empty stdout and stderr were sent back
Add missing hooks
Revert "Add missing hooks"
This reverts commit a359c5ea10bb35b965e80801e736f43cdbcf3294.
Add support of -ss=132 timestamp format
Infer filename from ffmpeg args instead of info_dic
Remove redundant parenthesis and switch from to_stodout to to_screen
Add info kwarg with multiple files and ffmpeg to track progress
Moved format progress function to util
Moved format progress function to util
Add progress tracking to postprocessing operations
Fix typing error
Handle self._downloader is None at __init__
Move format progress functions to utils
Move format progress functions to utils
Handle case where ydl passed is None
Handle case where ydl passed is None
Handle case where _multiline isn't initialized
Handle case where _multiline isn't initialized
Fix streams incorrectly returned
Fix case where ydl is nested in the downloader
Add progress_hook attribute
Fix bug after merge
Fix import bugs after merge
Catch up with upstream
Fix merge errors #1
Adapt tests and implementatation for ffmpeg progress tracking args
The shell escape function is now using `""` instead of `\"`. `utils.Popen` has been patched to properly quote commands.
Prior to this fix using `--exec` together with `%q` when on Windows could cause remote code to execute. See https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-42h4-v29r-42qg for reference.
Authored by: Grub4K
This also adds the following test runners:
- `3.12-dev` on `ubuntu-latest`
- `3.12-dev` on `windows-latest`
- `pypy-3.10` on `ubuntu-latest`
Authored by: Grub4K
New networking interface consists of a `RequestDirector` that directs
each `Request` to appropriate `RequestHandler` and returns the
`Response` or raises `RequestError`. The handlers define adapters to
transform its internal Request/Response/Errors to our interfaces.
User-facing changes:
- Fix issues with per request proxies on redirects for urllib
- Support for `ALL_PROXY` environment variable for proxy setting
- Support for `socks5h` proxy
- Closes https://github.com/yt-dlp/yt-dlp/issues/6325, https://github.com/ytdl-org/youtube-dl/issues/22618, https://github.com/ytdl-org/youtube-dl/pull/28093
- Raise error when using `https` proxy instead of silently converting it to `http`
Authored by: coletdjnz
Closes#1596
Previously, when some formats have accurate size and some approximate,
the ones with accurate size was always prioritized
For formats with known tbr and unknown vbr/abr, we were setting
(vbr=tbr, abr=0) for sorting to work. This is no longer needed.
Authored by pukkandan, u-spec-png