From 29b0a8d94480e04212ac4186e505a45919963f13 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Mon, 7 Jun 2010 17:27:32 +0000 Subject: [PATCH] - Add patch to fix download buffering in Totem --- ...-queue2-don-t-wait-for-data-when-EOS.patch | 31 +++++++++++++++++++ gstreamer.spec | 9 +++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 0001-queue2-don-t-wait-for-data-when-EOS.patch diff --git a/0001-queue2-don-t-wait-for-data-when-EOS.patch b/0001-queue2-don-t-wait-for-data-when-EOS.patch new file mode 100644 index 0000000..3b1b27e --- /dev/null +++ b/0001-queue2-don-t-wait-for-data-when-EOS.patch @@ -0,0 +1,31 @@ +From 15141b3954fdfb46002783463f1cace148480fe9 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Mon, 7 Jun 2010 10:16:04 +0200 +Subject: [PATCH] queue2: don't wait for data when EOS + +When in download mode and we need to provide data for an offset that we don't +have, also perform a seek to the requested location when we are EOS. The reason +why we shouldn't wait for more data is because after EOS, there simply will be +no more data and we end up waiting forever. + +Fixes #620500 +--- + plugins/elements/gstqueue2.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/plugins/elements/gstqueue2.c b/plugins/elements/gstqueue2.c +index d3e8e2c..df8aaea 100644 +--- a/plugins/elements/gstqueue2.c ++++ b/plugins/elements/gstqueue2.c +@@ -1051,7 +1051,7 @@ gst_queue2_have_data (GstQueue2 * queue, guint64 offset, guint length) + GST_INFO_OBJECT (queue, "not found in any range"); + /* we don't have the range, see how far away we are, FIXME, find a good + * threshold based on the incomming rate. */ +- if (queue->current) { ++ if (!queue->is_eos && queue->current) { + if (offset < queue->current->writing_pos + 200000) { + update_cur_pos (queue, queue->current, offset + length); + GST_INFO_OBJECT (queue, "wait for data"); +-- +1.7.0.1 + diff --git a/gstreamer.spec b/gstreamer.spec index 2596634..5da174b 100644 --- a/gstreamer.spec +++ b/gstreamer.spec @@ -8,7 +8,7 @@ Name: %{gstreamer} Version: 0.10.29 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GStreamer streaming media framework runtime Group: Applications/Multimedia @@ -42,6 +42,9 @@ Patch1: gstreamer-inspect-rpm-format.patch Source1: gstreamer.prov Source2: macros.gstreamer +# https://bugzilla.gnome.org/show_bug.cgi?id=620500 +Patch2: 0001-queue2-don-t-wait-for-data-when-EOS.patch + ### documentation requirements BuildRequires: python2 BuildRequires: openjade @@ -120,6 +123,7 @@ with different major/minor versions of GStreamer. %setup -q -n gstreamer-%{version} %patch1 -p1 -b .rpm-provides +%patch2 -p1 -b .wait-eos %build # 0.10.0: manuals do not build due to an openjade error; disable for now @@ -245,6 +249,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_datadir}/gtk-doc/html/gstreamer-plugins-%{majorminor} %changelog +* Mon Jun 07 2010 Bastien Nocera 0.10.29-2 +- Add patch to fix download buffering in Totem + * Wed Apr 28 2010 Benjamin Otte 0.10.29-1 - Update to 0.10.29