[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