[pinpoint] Fix racy video, finally (#842063, #952798)
Paul W. Frields
pfrields at fedoraproject.org
Tue Apr 16 21:15:12 UTC 2013
commit b4e6dd9c50ff5765d007e1ba0050f2af0b73c2e4
Author: Paul W. Frields <stickster at gmail.com>
Date: Tue Apr 16 17:15:03 2013 -0400
Fix racy video, finally (#842063, #952798)
pinpoint-0.1.4-racy-video-frame.patch | 60 +++++++++++++++++++++++++++++++++
pinpoint.spec | 7 +++-
2 files changed, 66 insertions(+), 1 deletions(-)
---
diff --git a/pinpoint-0.1.4-racy-video-frame.patch b/pinpoint-0.1.4-racy-video-frame.patch
new file mode 100644
index 0000000..1018915
--- /dev/null
+++ b/pinpoint-0.1.4-racy-video-frame.patch
@@ -0,0 +1,60 @@
+From 591e97ad8c787a257db1eebfb8e1cc2098a02014 Mon Sep 17 00:00:00 2001
+From: Gary Ching-Pang Lin <chingpang at gmail.com>
+Date: Fri, 30 Dec 2011 18:04:37 +0800
+Subject: [PATCH] Skip the frames until the previous frame is rendered
+
+Rendering the thumbnail of the video file may takes longer than
+15 milliseconds, and pinpoint would crash when there are more than
+2 threads to render the frames.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=665756
+---
+ pp-clutter.c | 13 ++++++++++++-
+ 1 files changed, 12 insertions(+), 1 deletions(-)
+
+diff --git a/pp-clutter.c b/pp-clutter.c
+index 1136033..f4ad00a 100644
+--- a/pp-clutter.c
++++ b/pp-clutter.c
+@@ -1638,11 +1638,18 @@ static gboolean update_speaker_screen (ClutterRenderer *renderer)
+ return FALSE;
+
+ point = pp_slidep->data;
++ static gboolean is_updated = TRUE;
+ static float current_slide_time = 0.0;
+ static float current_slide_duration = 0.0;
+ static GList *current_slide = NULL;
+ float nh, nw;
+
++ /* Skip this update since the previous one isn't finished */
++ if (!is_updated)
++ return TRUE;
++
++ is_updated = FALSE;
++
+ if (renderer->reset)
+ {
+ current_slide = NULL;
+@@ -1708,7 +1715,7 @@ static gboolean update_speaker_screen (ClutterRenderer *renderer)
+ }
+
+ if (!renderer->speaker_mode)
+- return TRUE;
++ goto out;
+
+ if (point->speaker_notes)
+ clutter_text_set_text (CLUTTER_TEXT (renderer->speaker_notes),
+@@ -1874,6 +1881,10 @@ static gboolean update_speaker_screen (ClutterRenderer *renderer)
+ nh * 0.35);
+ clutter_actor_set_width (renderer->speaker_notes,
+ nw * 0.5);
++
++out:
++ is_updated = TRUE;
++
+ return TRUE;
+ }
+
+--
+1.7.7
+
diff --git a/pinpoint.spec b/pinpoint.spec
index d4045a6..8cc371d 100644
--- a/pinpoint.spec
+++ b/pinpoint.spec
@@ -1,11 +1,12 @@
Name: pinpoint
Version: 0.1.4
-Release: 12%{?dist}
+Release: 13%{?dist}
Summary: A tool for making hackers do excellent presentations
License: LGPLv2+
URL: https://live.gnome.org/Pinpoint
Source0: http://ftp.gnome.org/pub/GNOME/sources/pinpoint/0.1/pinpoint-%{version}.tar.xz
+Patch0: pinpoint-0.1.4-racy-video-frame.patch
BuildRequires: clutter-devel >= 1.4
BuildRequires: clutter-gst-devel
@@ -21,6 +22,7 @@ beautiful images and small amounts of concise text in slides.
%prep
%setup -q
+%patch0 -p1 -b .racy-video-frame
%build
@@ -39,6 +41,9 @@ make install DESTDIR=$RPM_BUILD_ROOT
%changelog
+* Tue Apr 16 2013 Paul W. Frields <stickster at gmail.com> - 0.1.4-13
+- Fix racy video, finally (#842063, #952798)
+
* Thu Feb 21 2013 Kalev Lember <kalevlember at gmail.com> - 0.1.4-12
- Rebuilt for cogl soname bump
More information about the scm-commits
mailing list