[Bug 675624] [PATCH] [souphttpsrc] Add new features required to support DASH streaming

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Dec 6 04:52:52 PST 2012


https://bugzilla.gnome.org/show_bug.cgi?id=675624
  GStreamer | gst-plugins-good | 0.10.36

--- Comment #2 from Gianluca Gennari <gennarone at gmail.com> 2012-12-06 12:52:46 UTC ---
Hi Julien,
thanks for the review.
I agree with most of your comments. At the time the project was started,
the intention was to use it just as an internal tool to evaluate the new
DASH standard, and only later we decided to release it as open source.
Also, this was my first big GStreamer project, so I was not completely
aware of some of the "best practices".

Anyway, this is completely solved today as the original project has been
dropped in favor of a new design based on the HLSdemux plugin structure,
that is called "dashdemux" (jointly developed by Orange and STM).

Anyway, I still have a couple of observation:
- persistent connections are explicitly disabled by souphttpsrc, by
hardcoding the corresponding HTTP header "Connection" to "close". So, at
least, we need a property to enable persistent connections explicitly.
- hlsdemux and dashdemux use the URI handler interface of the HTTP
downloader element to set the URI of the segment to download; as far as
I can understand, there is no API to directly set extra headers in the
URI handler interface.
In dashdemux we implemented support for partial GET requests by
appending a string similar to this:
"?range=0-1000"
to the requested URI, and patching souphttpsrc to handle this extra
information. This approach follows the suggestion in Appendix E of the
DASH standard. Do you think this is a viable solution? Is there a way to
set the extra headers property using the URI handler interface?

Thanks for your comments,
Gianluca Gennari

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list