mpd/src/decoder
BurroCargado 11d1f56062 Fix seeking HLS on-demand streaming not working
This issue occurs when playing HLS streaming delivered
from a server that does not support partial requests.
The issue is reproduced as follows(using Ubuntu 20.04 PC):

1. Prepare HLS example content.

$ mkdir test
$ ffmpeg -i example.flac -vn -c:a aac -b:a 128000 -f hls -hls_list_size 0 test/output.m3u8
(ffmpeg 4.2.4 is used)

2. Prepare web server without partial requests support.
(Docker version 20.10.12 and NGINX official Docker image is used)

$ docker run --name tmp-nginx-container -d nginx
$ docker cp tmp-nginx-container:/etc/nginx/conf.d/default.conf .
$ docker rm -f tmp-nginx-container

Edit default.conf and add "max_ranges 0;" to "location / {...}".
This disables partial requests support,
removes 'Accept-Ranges: bytes' header from the server response.
Then, run the server:

$ docker run --name test-nginx -v $PWD/test:/usr/share/nginx/html:ro -v $PWD/default.conf:/etc/nginx/conf.d/default.conf -d -p 8080:80 nginx

3. Setup MPD to Play the next URL.

http://address-of-the-server:8080/output.m3u8

Seeking this stream results in "exception: Not seekable".
2022-05-07 12:18:56 +09:00
..
plugins Fix seeking HLS on-demand streaming not working 2022-05-07 12:18:56 +09:00
Bridge.cxx treewide: replace lock_guard with scoped_lock 2021-11-11 17:13:03 -08:00
Bridge.hxx more [[gnu::...]] attributes 2021-10-13 12:07:05 +02:00
Client.hxx more [[gnu::...]] attributes 2021-10-13 12:07:05 +02:00
Command.hxx copyright year 2021 2021-01-01 19:54:28 +01:00
Control.cxx prevent use after move 2021-08-26 13:38:36 -07:00
Control.hxx MixRampInfo: move to tag/ 2021-12-01 17:09:02 +01:00
DecoderAPI.cxx copyright year 2021 2021-01-01 19:54:28 +01:00
DecoderAPI.hxx MixRampInfo: move to tag/ 2021-12-01 17:09:02 +01:00
DecoderBuffer.cxx copyright year 2021 2021-01-01 19:54:28 +01:00
DecoderBuffer.hxx more [[gnu::...]] attributes 2021-10-13 12:07:05 +02:00
DecoderList.cxx Partition, ...: use libfmt for logging 2021-06-24 21:40:11 +02:00
DecoderList.hxx more [[gnu::...]] attributes 2021-10-13 12:07:05 +02:00
DecoderPlugin.cxx Merge branch 'v0.22.x' 2021-01-01 19:59:15 +01:00
DecoderPlugin.hxx more [[gnu::...]] attributes 2021-10-13 12:07:05 +02:00
DecoderPrint.cxx client/Response: add method Fmt() based on libfmt 2021-05-25 16:01:56 +02:00
DecoderPrint.hxx copyright year 2021 2021-01-01 19:54:28 +01:00
Domain.cxx copyright year 2021 2021-01-01 19:54:28 +01:00
Domain.hxx copyright year 2021 2021-01-01 19:54:28 +01:00
meson.build Partition, ...: use libfmt for logging 2021-06-24 21:40:11 +02:00
Reader.cxx copyright year 2021 2021-01-01 19:54:28 +01:00
Reader.hxx fs/io: move to io/ 2021-12-03 14:35:41 +01:00
Thread.cxx treewide: replace lock_guard with scoped_lock 2021-11-11 17:13:03 -08:00