Date: Thursday, July 16, 2015 @ 22:00:40 Author: heftig Revision: 242292
Fix some spurious crashes Added: clutter-gst/trunk/stream-crash.patch Modified: clutter-gst/trunk/PKGBUILD --------------------+ PKGBUILD | 15 +++++++++--- stream-crash.patch | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 4 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-07-16 19:59:37 UTC (rev 242291) +++ PKGBUILD 2015-07-16 20:00:40 UTC (rev 242292) @@ -1,9 +1,9 @@ # $Id$ -# Maintainer: Jan "heftig" Steffens <jan.steff...@gmail.com> +# Maintainer: Jan Alexander Steffens (heftig) <jan.steff...@gmail.com> pkgname=clutter-gst pkgver=3.0.6 -pkgrel=3 +pkgrel=4 pkgdesc="GStreamer bindings for clutter" arch=(i686 x86_64) url="http://www.clutter-project.org/" @@ -10,9 +10,16 @@ license=(LGPL) depends=(clutter gst-plugins-base-libs libxdamage libgudev) makedepends=(gobject-introspection) -source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz) -sha256sums=('d6d5493ae57cc175deee479304569c419d2bb90de3be124e6f3350ae7e73df76') +source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz + stream-crash.patch) +sha256sums=('d6d5493ae57cc175deee479304569c419d2bb90de3be124e6f3350ae7e73df76' + '891315e34c1f8dbe7e89d78f59707b567b14953e2e5151ffcbe021ab5a0fe9c2') +prepare() { + cd $pkgname-$pkgver + patch -Np1 -i ../stream-crash.patch +} + build() { cd $pkgname-$pkgver ./configure \ Added: stream-crash.patch =================================================================== --- stream-crash.patch (rev 0) +++ stream-crash.patch 2015-07-16 20:00:40 UTC (rev 242292) @@ -0,0 +1,61 @@ +From 1a60f2d443a6ce9345441220c9b847431dfefdec Mon Sep 17 00:00:00 2001 +From: Lionel Landwerlin <lionel.g.landwer...@intel.com> +Date: Thu, 9 Jul 2015 16:27:10 +0100 +Subject: video-sink: force upload of video frames when creating textures + +https://bugzilla.gnome.org/show_bug.cgi?id=752098 + +diff --git a/clutter-gst/clutter-gst-video-sink.c b/clutter-gst/clutter-gst-video-sink.c +index 6136027..4f52762 100644 +--- a/clutter-gst/clutter-gst-video-sink.c ++++ b/clutter-gst/clutter-gst-video-sink.c +@@ -1052,40 +1052,15 @@ video_texture_new_from_data (CoglContext *ctx, + int rowstride, + const uint8_t *data) + { +- CoglBitmap *bitmap; + CoglTexture *tex; + CoglError *internal_error = NULL; + +- bitmap = cogl_bitmap_new_for_data (ctx, +- width, height, +- format, +- rowstride, +- (uint8_t *) data); +- +- if ((is_pot (cogl_bitmap_get_width (bitmap)) && +- is_pot (cogl_bitmap_get_height (bitmap))) || +- cogl_has_feature (ctx, COGL_FEATURE_ID_TEXTURE_NPOT_BASIC)) +- { +- tex = cogl_texture_2d_new_from_bitmap (bitmap); +- if (!tex) +- { +- cogl_error_free (internal_error); +- internal_error = NULL; +- } +- } +- else +- tex = NULL; +- +- if (!tex) +- { +- /* Otherwise create a sliced texture */ +- tex = cogl_texture_2d_sliced_new_from_bitmap (bitmap, +- -1); /* no maximum waste */ +- } +- +- cogl_object_unref (bitmap); +- +- cogl_texture_set_premultiplied (tex, FALSE); ++ tex = cogl_texture_2d_new_from_data (ctx, width, height, format, ++ rowstride, data, &internal_error); ++ if (tex == NULL) { ++ GST_WARNING ("Cannot allocate Cogl texture : %s", internal_error->message); ++ return NULL; ++ } + + return tex; + } +-- +cgit v0.10.2 +