Opened 3 years ago

Last modified 3 years ago

#9069 new defect

HLS (EXT-X-BYTERANGE) -and Transfer-Encoding=chunked

Reported by: e2iplayer Owned by:
Priority: normal Component: avformat
Version: unspecified Keywords: hls
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
ffmpeg has problem when HLS segment with byterange format are served by server using Transfer-Encoding=chunked.

In problematic case server response looks like:Status=OK - 200

Server=nginx/1.16.1
Date=Wed, 20 Jan 2021 10:30:40 GMT
Content-Type=video/mp2t
Transfer-Encoding=chunked
Connection=keep-alive
Access-Control-Allow-Origin=*
Access-Control-Allow-Methods=GET,OPTIONS
Access-Control-Allow-Headers=*
Expires=2021-01-21 10:30:40.437227315 +0000 UTC
Cache-Control=public, max-age=86400, no-transform
Content-Disposition=attachment; filename=untitled.ts

there is no "Content-Range" in server response, what causes http_connect(...) error:
err = (off == s->off) ? 0 : -1;

off is not set during headers parsing because "Content-Range" is not in server response.
According to http spec "Content-Range" should not be set when Transfer-Encoding=chunked i used.

Change History (1)

comment:1 by Carl Eugen Hoyos, 3 years ago

Analyzed by developer: unset
Keywords: hls added; hsl byterange chunked removed
Reproduced by developer: unset
Note: See TracTickets for help on using tickets.