mirror of
https://github.com/mpv-player/mpv.git
synced 2026-06-06 20:10:30 +00:00
Introduces stream_http, an internal libcurl-driven backend for http:// and https:// URLs. Runs all transfers on a dedicated curl multi thread with a producer-side ring buffer, and exposes HTTP/2 multiplexing, QUIC/HTTP/3 (when libcurl supports it), HSTS and TCP keep-alive. Should generally be more stable and faster than FFmpeg HTTP/1.1 impl, additionally connections are kept-alive between files open, so if you open playlist of network files and navigate through them, it will re-use the same connection. Build is gated on the new 'libcurl' meson option (auto). When disabled or unavailable, mpv silently falls back to FFmpeg's HTTP implementation.
18 lines
450 B
C
18 lines
450 B
C
#ifndef MPV_MPV_H
|
|
#define MPV_MPV_H
|
|
|
|
// This should be accessed by glue code only, never normal code.
|
|
// The only purpose of this is to make mpv library-safe.
|
|
// Think hard before adding new members.
|
|
struct mpv_global {
|
|
struct mp_log *log;
|
|
struct m_config_shadow *config;
|
|
struct mp_client_api *client_api;
|
|
char *configdir;
|
|
struct stats_base *stats;
|
|
struct demux_packet_pool *packet_pool;
|
|
struct curl_ctx *curl;
|
|
};
|
|
|
|
#endif
|