gstreamer/gst-libs/gst
Edward Hervey 4aadf50012 adaptivedemux: Calculate values before queue2
In order to calculate the *actual* bitrate for downloading a fragment
we need to take into account the time since we requested the fragment.

Without this, the bitrate calculations (previously reported by queue2)
would be biased since they wouldn't take into account the request latency
(that is the time between the moment we request a specific URI and the
moment we receive the first byte of that request).

Such examples were it would be biased would be high-bandwith but high-latency
networks. If you download 5MB in 500ms, but it takes 200ms to get the first
byte, queue2 would report 80Mbit/s (5Mb in 500ms) , but taking the request
into account it is only 57Mbit/s (5Mb in 700ms).

While this would not cause too much issues if the above fragment represented
a much longer duration (5s of content), it would cause issues with short
ones (say 1s, or when doing keyframe-only requests which are even shorter)
where the code would expect to be able to download up to 80Mbit/s ... whereas
if we take the request time into account it's much lower (and we would
therefore end up doing late requests).

Also calculate the request latency for debugging purposes and further
usage (it could allow us to figure out the maximum request rate for
example).

https://bugzilla.gnome.org/show_bug.cgi?id=733959

https://bugzilla.gnome.org/show_bug.cgi?id=772330
2016-10-08 14:13:51 +02:00
..
adaptivedemux adaptivedemux: Calculate values before queue2 2016-10-08 14:13:51 +02:00
audio Add support for Meson as alternative/parallel build system 2016-08-20 11:35:54 +01:00
base aggregator: Use the event_full function for GstAggregatorPads 2016-09-06 16:30:28 -03:00
basecamerabinsrc Add support for Meson as alternative/parallel build system 2016-08-20 11:35:54 +01:00
codecparsers Add support for Meson as alternative/parallel build system 2016-08-20 11:35:54 +01:00
gl glwindow: don't use g_thread_join() to join the navigation thread 2016-10-05 18:32:09 +11:00
insertbin Add support for Meson as alternative/parallel build system 2016-08-20 11:35:54 +01:00
interfaces Add support for Meson as alternative/parallel build system 2016-08-20 11:35:54 +01:00
mpegts tsdemux: Add conditions to identify ATSC EAC3 2016-10-03 15:14:54 -04:00
player player: Remove Return documentation for function returning void 2016-09-30 13:42:06 +03:00
uridownloader Add support for Meson as alternative/parallel build system 2016-08-20 11:35:54 +01:00
video videoaggregator: Handle if update_caps() returns EMPTY 2016-08-26 03:25:49 +10:00
wayland wayland/Makefile.am: add missing libs 2016-09-21 20:07:06 -04:00
gettext.h Fix FSF address 2012-11-04 00:09:59 +00:00
glib-compat-private.h Update GLib dependency to 2.40.0 2015-10-02 22:24:19 +03:00
gst-i18n-plugin.h Fix FSF address 2012-11-04 00:09:59 +00:00
Makefile.am audio: Move audioaggregator base class to a library 2016-01-22 12:39:48 +02:00
meson.build meson: add some starting build files for GL 2016-09-09 11:22:47 +10:00