From 3c16844f4daa3aec53feef316f59bfb329cdea5d Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 15 Jun 2012 15:48:42 +0200 Subject: [PATCH] docs: review the buffering docs --- docs/design/part-buffering.txt | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/design/part-buffering.txt b/docs/design/part-buffering.txt index c6cb51600b..c1b3fb6930 100644 --- a/docs/design/part-buffering.txt +++ b/docs/design/part-buffering.txt @@ -18,7 +18,6 @@ We want to be able to implement the following features: - caching of semi-live streams to a local, on disk, ringbuffer with seeking in the cached area. This is similar to tivo-like timeshifting. - progress report about the buffering operations - - easy (backward compatible) application notification of buffering - the possibility for the application to do more complex buffering Some use cases: @@ -211,6 +210,17 @@ range in a specific format and the estimated time to complete: this information to estimate the amount of remaining time to download the complete file. + "buffering-ranges", G_TYPE_ARRAY of GstQueryBufferingRange + - contains optionally the downloaded areas in the format given above. One + of the ranges contains the same start/stop position as above. + + typedef struct + { + gint64 start; + gint64 stop; + } GstQueryBufferingRange; + + For the "download" and "timeshift" buffering-modes, the start and stop positions specify the ranges where efficient seeking in the downloaded media is possible. Seeking outside of these ranges might be slow or not at all possible. @@ -235,6 +245,7 @@ A GstBaseSrc with random access replies to the BUFFERING query with: "start" = 0 "stop" = the total filesize "estimated-total" = 0 + "buffering-ranges" = NULL A GstBaseSrc in push mode replies to the BUFFERING query with: @@ -247,6 +258,7 @@ A GstBaseSrc in push mode replies to the BUFFERING query with: "start" = current position "stop" = current position "estimated-total" = -1 + "buffering-ranges" = NULL Buffering strategies