After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 795605 - adaptivedemux: Can't handle HTTP compressed subtitle segments
adaptivedemux: Can't handle HTTP compressed subtitle segments
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-04-27 14:15 UTC by Chris Bass
Modified: 2018-11-03 14:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Allow compressed HTTP responses (1.09 KB, patch)
2018-04-27 14:25 UTC, Chris Bass
none Details | Review

Description Chris Bass 2018-04-27 14:15:19 UTC
The DVB DASH profile requires conformant clients to support gzip HTTP compression. This is generally enabled for TTML subtitle segments, which will compress down nicely. Currently, however, if a server serves subtitle segments with gzip content-coding, souphttpsrc will not decompress the response body and the ISOBMFF parsing code within dashdemux will block trying to find an mdat box, causing the whole pipeline to stall.

The attached patch sets the "compress" option on adaptivedemux's internal souphttpsrcs to true, which fixes the problem.

A consequence of the fix is that every segment request will have an "Accept-Encoding: gzip, deflate" header in it. But, according to the HTTP RFC, servers are always allowed to return uncompressed data to such a request. The default behaviour of browsers seems to be to add this header to every request they make.
Comment 1 Chris Bass 2018-04-27 14:25:03 UTC
Created attachment 371459 [details] [review]
Allow compressed HTTP responses
Comment 2 Sebastian Dröge (slomo) 2018-04-27 14:59:30 UTC
The problem with adding compression by default is that the Content-Length is the compressed one usually, or not? So you don't really know how many uncompressed bytes you'll have to expect
Comment 3 Chris Bass 2018-04-27 15:12:17 UTC
You're right, it is the compressed length. But what's the problem with not knowing the number of uncompressed bytes to expect?
Comment 4 Sebastian Dröge (slomo) 2018-04-27 15:42:21 UTC
Duration estimation and seeking
Comment 5 GStreamer system administrator 2018-11-03 14:22:14 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/697.