Patch from the upstream to fix build with newer celt

(bug 681150, GNOME bug 643607)
This commit is contained in:
Mamoru Tasaka 2011-03-03 21:14:58 +09:00
parent f750381064
commit c89363baea
2 changed files with 99 additions and 1 deletions

View File

@ -0,0 +1,84 @@
From 1eb3f7f41fdbef005a62b3f03fdfd373f93c83ed Mon Sep 17 00:00:00 2001
From: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date: Wed, 02 Mar 2011 22:43:42 +0000
Subject: celtenc: Fix compilation with celt >= 0.11.0
Fixes bug #643607.
---
diff --git a/configure.ac b/configure.ac
index a2a38bc..374c7aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -639,6 +639,13 @@ AG_GST_CHECK_FEATURE(CELT, [celt], celt, [
dnl to prevent an error
true
])
+
+ PKG_CHECK_MODULES(CELT_0_11, celt >= 0.11.0, [
+ AC_DEFINE([HAVE_CELT_0_11], 1, [Define if libcelt 0.11 is installed])
+ ], [
+ dnl to prevent an error
+ true
+ ])
AC_SUBST(CELT_CFLAGS)
AC_SUBST(CELT_LIBS)
])
diff --git a/ext/celt/gstceltdec.c b/ext/celt/gstceltdec.c
index 1b3f4eb..66c829e 100644
--- a/ext/celt/gstceltdec.c
+++ b/ext/celt/gstceltdec.c
@@ -510,11 +510,16 @@ celt_dec_chain_parse_header (GstCeltDec * dec, GstBuffer * buf)
goto mode_init_failed;
/* initialize the decoder */
+#ifdef HAVE_CELT_0_11
+ dec->state =
+ celt_decoder_create_custom (dec->mode, dec->header.nb_channels, &error);
+#else
#ifdef HAVE_CELT_0_7
dec->state = celt_decoder_create (dec->mode, dec->header.nb_channels, &error);
#else
dec->state = celt_decoder_create (dec->mode);
#endif
+#endif
if (!dec->state)
goto init_failed;
diff --git a/ext/celt/gstceltenc.c b/ext/celt/gstceltenc.c
index 4fd9ee8..7481579 100644
--- a/ext/celt/gstceltenc.c
+++ b/ext/celt/gstceltenc.c
@@ -629,11 +629,15 @@ gst_celt_enc_setup (GstCeltEnc * enc)
if (!enc->mode)
goto mode_initialization_failed;
+#ifdef HAVE_CELT_0_11
+ celt_header_init (&enc->header, enc->mode, enc->frame_size, enc->channels);
+#else
#ifdef HAVE_CELT_0_7
celt_header_init (&enc->header, enc->mode, enc->channels);
#else
celt_header_init (&enc->header, enc->mode);
#endif
+#endif
enc->header.nb_channels = enc->channels;
#ifdef HAVE_CELT_0_8
@@ -642,11 +646,15 @@ gst_celt_enc_setup (GstCeltEnc * enc)
celt_mode_info (enc->mode, CELT_GET_FRAME_SIZE, &enc->frame_size);
#endif
+#ifdef HAVE_CELT_0_11
+ enc->state = celt_encoder_create_custom (enc->mode, enc->channels, &error);
+#else
#ifdef HAVE_CELT_0_7
enc->state = celt_encoder_create (enc->mode, enc->channels, &error);
#else
enc->state = celt_encoder_create (enc->mode);
#endif
+#endif
if (!enc->state)
goto encoder_creation_failed;
--
cgit v0.8.3-6-g21f6

View File

@ -7,7 +7,7 @@
Summary: GStreamer streaming media framework "bad" plug-ins
Name: gstreamer-plugins-bad-free
Version: 0.10.21
Release: 3%{?dist}
Release: 4%{?dist}
# The freeze and nfs plugins are LGPLv2 (only)
License: LGPLv2+ and LGPLv2
Group: Applications/Multimedia
@ -17,6 +17,9 @@ URL: http://gstreamer.freedesktop.org/
# modified with gst-p-bad-cleanup.sh from SOURCE1
Source: gst-plugins-bad-free-%{version}.tar.bz2
Source1: gst-p-bad-cleanup.sh
# Fix build with celt 0.11.1 (RH bug 681150, GNOME bug 643607)
# Patch from the upstream git tree, commit 1eb3f7f41fdbef005a62b3f03fdfd373f93c83ed
Patch0: gst-plugins-bad-fix-compilation-with-celt.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: %{gstreamer} >= %{gst_minver}
@ -29,6 +32,10 @@ BuildRequires: PyXML
BuildRequires: libXt-devel
BuildRequires: gtk-doc
# For Patch0
BuildRequires: automake
BuildRequires: libtool
BuildRequires: bzip2-devel
BuildRequires: celt-devel
BuildRequires: dirac-devel
@ -134,6 +141,9 @@ aren't tested well enough, or the code is not of good enough quality.
%prep
%setup -q -n gst-plugins-bad-%{version}
%patch0 -p1 -b .celt
env NOCONFIGURE=1 sh autogen.sh
%build
%configure \
--with-package-name="Fedora gstreamer-plugins-bad package" \
@ -297,6 +307,10 @@ aren't tested well enough, or the code is not of good enough quality.
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor}
%changelog
* Thu Mar 03 2011 Mamoru Tasaka <mtasaka@fedorapeoject.org> - 0.10.21-4
- Patch from the upstream to fix build with newer celt
(bug 681150, GNOME bug 643607)
* Wed Feb 16 2011 Peter Robinson <pbrobinson@gmail.com> - 0.10.21-3
- Rebuilt for new celt