Skip to main content

Module http_input

Module http_input 

Source
Expand description

Experimental single-resource HTTP(S) input via rustls.

Compiled only with the default-off http-input feature. Existing Input::from("https://…") routing is unchanged. Experimental single-resource HTTP(S) input via rustls.

This module is compiled only with the default-off http-input feature. It never hijacks crate::Input::from URL routing: FFmpeg still handles https:// URLs when the linked build has an HTTPS protocol. Only the explicit HttpInput / HttpClient API uses the Rust HTTP stack.

§Scope

One HTTP(S) response body is one media resource (MP4, MPEG-TS, FLV, Matroska, or a single live connection). HLS and DASH are not supported: they are rejected by URL / Content-Type / prefix sniff and by a deny-all io_open callback. Full HLS needs a demuxer-specific adapter (FFmpeg 8.1 hls.c calls avio_find_protocol_name before io_open).

§Experimental

The types in this module are experimental. Errors, builder fields, and reconnect policy may still change.

Structs§

HttpClient
Reusable HTTP stack: TLS config, proxy, and a dedicated current-thread Tokio runtime.
HttpClientBuilder
Builder for HttpClient. Certificate and identity bytes are parsed at build; failures do not wait for the first request.
HttpInput
One explicit HTTP(S) media input.
HttpInputBuilder
Builder for HttpInput.
HttpTimeouts
Connect / header / body-idle deadlines for one input.
ProxyConfig
Explicit proxy endpoint. Password is redacted in Debug.
ReconnectPolicy
Application-level reconnect. Default matches FFmpeg reconnect=0.

Enums§

HttpInputError
Failure from building or opening an crate::http_input::HttpInput.
ManifestKind
Kind of multi-resource manifest that HttpInput refuses.
ProxyPolicy
Proxy selection. Credentials are never printed by Debug.
RootPolicy
Where TLS trust anchors come from.

Constants§

STOP_POLL_TICK
AVIO / runtime stop poll tick. Not a network idle timeout.