[FFmpeg-devel] [PATCH] avformat/hls: copy rw_timeout from parent to child AVIOContexts.
Steven Liu
lq at chinaffmpeg.org
Tue Apr 3 08:15:39 EEST 2018
> On 3 Apr 2018, at 12:33, Richard Shaffer <rshaffer at tunein.com> wrote:
>
> On Mon, Apr 2, 2018 at 8:31 PM, Steven Liu <lq at chinaffmpeg.org> wrote:
>>
>>
>>> On 3 Apr 2018, at 09:12, rshaffer at tunein.com wrote:
>>>
>>> From: Richard Shaffer <rshaffer at tunein.com>
>>>
>>> The rw_timeout option is currently not applied when opening media playlist,
>>> segment, or encryption key URLs. This can cause the HLS demuxer to block
>>> indefinitely, even when the rw_timeout option has been specified. This change
>>> simply enables carrying over the rw_timeout option when the demuxer opens these
>>> URLs.
>>> ---
>>> libavformat/hls.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/libavformat/hls.c b/libavformat/hls.c
>>> index c578bf86e3..6663244ddf 100644
>>> --- a/libavformat/hls.c
>>> +++ b/libavformat/hls.c
>>> @@ -1661,7 +1661,7 @@ static int save_avio_options(AVFormatContext *s)
>>> {
>>> HLSContext *c = s->priv_data;
>>> static const char * const opts[] = {
>>> - "headers", "http_proxy", "user_agent", "user-agent", "cookies", "referer", NULL };
>>> + "headers", "http_proxy", "user_agent", "user-agent", "cookies", "referer", "rw_timeout", NULL };
>> This table is used for http header.
>> You could add the option into hls_options.
>
> Thanks for looking at the change. While the options currently in the
> table are related to HTTP and rw_timeout is more general, I'm not
> aware of a reason not to preserve the rw_timeout option here as well.
> It seems unnecessary to define another HLS-specific option for
> rw_timeout when the existing option exists and does what is intended.
> I'm not sure whether you're objecting to the change and/or have a
> different suggestion. Do you mind elaborating on your comment?
Is the rw_timeout in to HTTP RFC? If yes, this is ok, If not, i think that is a ffmpeg option , not a http header content.
>
>>> const char * const * opt = opts;
>>> uint8_t *buf;
>>> int ret = 0;
>>> --
>>> 2.15.1 (Apple Git-101)
>>>
>>> _______________________________________________
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel at ffmpeg.org
>>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> Thanks
>> Steven
>>
>>
>>
>>
>>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Thanks
Steven
More information about the ffmpeg-devel
mailing list