[FFmpeg-devel] No way to pass options to TCP through HLS

Tom Gaudasiński tomg at records.headdesk.com.au
Sun Nov 24 05:05:10 EET 2019


This appears to have been raised before in almost exactly the same form:
https://lists.ffmpeg.org/pipermail/libav-user/2015-January/007841.html


On 24/11/19 1:41 pm, Tom Gaudasiński wrote:
> I supply an options dictionary to avformat_open_input(). The first stack
> trace passes the option correctly down to tcp.c, because the stack is:
>
> #0 tcp_open
> #1 ffurl_connect
> #2 ffurl_open_whitelist
> #3 http_open_cnx_internal
> #4 http_open_cnx
> #5 http_open
> #6 ffurl_connect
> #7 ffurl_open_whitelist
> #8 ffio_open_whitelist
> #9 io_open_default
> #10 init_input
> #11 avformat_open_input
>
> However, this is the connection to retrieve th m3u8 file. Which, in
> turn, causes ffmpeg to open a HLS stream, where the stack is:
>
> #0  open_url
> #1  open_input
> #2  read_data
> #3  read_packet_wrapper
> #4  fill_buffer
> #5  avio_read
> #6  av_probe_input_buffer2
> #7  av_probe_input_buffer
> #8  hls_read_header
> #9  avformat_open_input
>
> But in hls.c, in open_input(), the options dict is initialised as NULL.
> c->avio_opts is passed down to open_url, but that doesn't contain my
> options.
>
> How do I specify options at the ffmpeg API level to make sure they
> propagate down the stack all the way to the underlying protocol?
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".




More information about the ffmpeg-devel mailing list