[FFmpeg-devel] [PATCH 10/18] avformat/hls: add support for byte-ranged segments
Anssi Hannula
anssi.hannula at iki.fi
Tue Dec 31 04:13:03 CET 2013
31.12.2013 05:05, Michael Niedermayer kirjoitti:
> On Mon, Dec 30, 2013 at 01:14:24PM +0200, Anssi Hannula wrote:
>> Add support for EXT-X-BYTERANGE added in HLS protocol v4.
>>
>> Signed-off-by: Anssi Hannula <anssi.hannula at iki.fi>
>> ---
>> libavformat/hls.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
>> 1 file changed, 61 insertions(+), 2 deletions(-)
>>
[...]
>> @@ -635,8 +671,22 @@ static int open_input(HLSContext *c, struct playlist *pls)
>> else
>> ret = AVERROR(ENOSYS);
>>
>> + /* Seek to the requested position. If this was a HTTP request,
>> + * the offset should already be there. */
>> + if (ret == 0) {
>> + int seekret = ffurl_seek(pls->input, seg->url_offset, SEEK_SET);
>> + if (seekret < 0) {
>> + av_log(pls->parent, AV_LOG_ERROR, "Unable to seek to offset %"PRId64" of HLS segment '%s'\n", seg->url_offset, seg->url);
>> + ret = seekret;
>> + ffurl_close(pls->input);
>> + pls->input = NULL;
>> + }
>> + }
>
> maybe i misunderstand something but why do you need to seek if the
> offset was already provided to the protocol ?
Well, in case the protocol is not HTTP. Of course that is indeed a bit
far-fetched as it is "HTTP Live Streaming" ;)
This was useful for local testing without needing a HTTP server, though.
I'm not too heavily against removing it, but it doesn't really hurt
either so I kept it...
--
Anssi Hannula
More information about the ffmpeg-devel
mailing list