ffmpeg-php (0.6.0-2.2) debian-dir only changes

Summary

 debian/changelog                                              |  100 ++
 debian/compat                                                 |    1 
 debian/control                                                |   21 
 debian/copyright                                              |   51 +
 debian/docs                                                   |    3 
 debian/ffmpeg.ini                                             |    9 
 debian/patches/allow_persistent_on_persistentMovie.phpt.patch |   11 
 debian/patches/find_multiarch_libavcodec.so.patch             |   13 
 debian/patches/fix_ftbfs_libav-0.7.patch                      |  291 ++++++++
 debian/patches/fix_ftbfs_pix_fmt_rgba32.patch                 |   46 +
 debian/patches/fix_id3_test.patch                             |   10 
 debian/patches/fix_php5.4_list_entry.patch                    |   29 
 debian/patches/gdtoimage_fix.patch                            |   24 
 debian/patches/series                                         |    8 
 debian/patches/test_fixes.patch                               |  347 ++++++++++
 debian/postinst                                               |   10 
 debian/preinst                                                |    8 
 debian/prerm                                                  |   10 
 debian/rules                                                  |   87 ++
 debian/watch                                                  |    3 
 20 files changed, 1082 insertions(+)

    
download this patch

Patch contents

--- ffmpeg-php-0.6.0.orig/debian/rules
+++ ffmpeg-php-0.6.0/debian/rules
@@ -0,0 +1,87 @@
+#!/usr/bin/make -f
+EXTN=ffmpeg
+BUILD=$(CURDIR)/debian/php5-$(EXTN)
+PHP_EX=$(shell /usr/bin/php-config5 --extension-dir)
+LFSFLAGS += $(shell getconf LFS_CFLAGS)
+CFLAGS ?= -g -O2
+
+include /usr/share/quilt/quilt.make
+
+DEB_BUILD_HARDENING_PIE:=0
+include /usr/share/hardening-includes/hardening.make
+
+CFLAGS += $(HARDENING_CFLAGS)
+LDFLAGS += $(HARDENING_LDFLAGS)
+
+modules/$(EXTN).so: build-stamp
+build-stamp: $(QUILT_STAMPFN)
+	dh_testdir
+	phpize5
+	CFLAGS="$(CFLAGS) $(LFSFLAGS)" LDFLAGS="$(LDFLAGS)" \
+	./configure --disable-rpath --prefix=$(BUILD)/usr \
+		--mandir=\$${prefix}/share/man \
+		--infodir=\$${prefix}/share/info \
+		--with-php-config=/usr/bin/php-config5 \
+		--enable-skip-gd-check
+	$(MAKE) DESTDIR=$(BUILD)
+
+	touch build-stamp
+
+test: test-stamp
+test-stamp: modules/$(EXTN).so
+	dh_testdir
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+	# prevent php from throwing warnings, causing the tests to fail
+	ln -s $(PHP_EX)/*.so $(CURDIR)/modules/
+	NO_INTERACTION=1 $(MAKE) test 2>&1 | tee test-results.txt
+	# Print the failed tests output:
+	@sed -r 's,^ffmpeg\s+[^\[]+\s+\[(tests/\w+)\.phpt\]$$,\1.log,g' \
+		< test-results.txt | egrep "^tests/.*\.log" | \
+		xargs cat
+else
+	echo 'Skipping test...'
+endif
+	touch $@
+
+build: patch build-stamp test
+
+clean:  unpatch
+	dh_testdir
+	dh_testroot
+	$(RM) build-stamp test-stamp test-results.txt
+	[ ! -d modules ] || { for l in modules/*; do \
+		[ ! -L "$$l" ] || unlink "$$l"; \
+		done; \
+	}
+	[ ! -f Makefile ] || $(MAKE) clean
+	phpize5 --clean
+	dh_clean
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_installdirs
+	install -D -m 644 modules/$(EXTN).so debian/php5-$(EXTN)$(PHP_EX)/$(EXTN).so
+	-chrpath -l debian/php5-$(EXTN)$(PHP_EX)/$(EXTN).so
+	-chrpath -d debian/php5-$(EXTN)$(PHP_EX)/$(EXTN).so
+	install -D -m 644 debian/$(EXTN).ini debian/php5-$(EXTN)/etc/php5/mods-available/$(EXTN).ini
+
+binary-indep:
+
+binary-arch: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs ChangeLog 
+	dh_installdocs
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_shlibdeps
+	echo "php:Depends=phpapi-`php-config5 --phpapi`" >> debian/php5-$(EXTN).substvars
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: clean binary-indep binary-arch binary install test
--- ffmpeg-php-0.6.0.orig/debian/compat
+++ ffmpeg-php-0.6.0/debian/compat
@@ -0,0 +1 @@
+5
--- ffmpeg-php-0.6.0.orig/debian/copyright
+++ ffmpeg-php-0.6.0/debian/copyright
@@ -0,0 +1,51 @@
+This package was debianized by Raphael Geissert <atomo64@gmail.com> on
+Fri, 13 Apr 2007 13:03:17 -0500.
+
+It was downloaded from: http://ffmpeg-php.sourceforge.net/
+
+Upstream authors:
+    Todd Kirby <ffmpeg.php@gmail.com>
+    Martin Prangl <martin.prangl@itec.uni-klu.ac.at>
+    Alexey Zakhlestin <indeyets@gmail.com>
+
+Some portions of this software are:
+Copyright (C) 2004-2008 by Todd Kirby <ffmpeg.php@gmail.com>
+Copyright (C) 2008 by Alexey Zakhlestin <indeyets@gmail.com>
+
+License:
+
+   This package is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This package is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this package; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+   In addition, as a special exception, the copyright holders of ffmpeg-php
+   give you permission to combine ffmpeg-php with code included in the
+   standard release of PHP under the PHP license (or modified versions of
+   such code, with unchanged license). You may copy and distribute such a
+   system following the terms of the GNU GPL for ffmpeg-php and the licenses
+   of the other code concerned, provided that you include the source code of
+   that other code when and as the GNU GPL requires distribution of source code.
+
+   You must obey the GNU General Public License in all respects for all of the
+   code used other than standard release of PHP. If you modify this file, you
+   may extend this exception to your version of the file, but you are not
+   obligated to do so. If you do not wish to do so, delete this exception
+   statement from your version.
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL-2'.
+
+The Debian packaging is: 
+Copyright (C) 2007, 2008, 2009, 2010 by Raphael Geissert <atomo64@gmail.com>
+And is licensed under the GNU GPL version 2 or (at your option) any 
+later version.
--- ffmpeg-php-0.6.0.orig/debian/docs
+++ ffmpeg-php-0.6.0/debian/docs
@@ -0,0 +1,3 @@
+CREDITS
+TODO
+EXPERIMENTAL
--- ffmpeg-php-0.6.0.orig/debian/postinst
+++ ffmpeg-php-0.6.0/debian/postinst
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -e
+
+dpkg-maintscript-helper mv_conffile /etc/php5/conf.d/ffmpeg.ini /etc/php5/mods-available/ffmpeg.ini 0.6.0-2.1 -- "$@"
+
+[ "$1" = "configure" ] && php5enmod ffmpeg
+
+#DEBHELPER#
+
+exit 0
--- ffmpeg-php-0.6.0.orig/debian/watch
+++ ffmpeg-php-0.6.0/debian/watch
@@ -0,0 +1,3 @@
+version=3
+
+http://sf.net/ffmpeg-php/ffmpeg-php-(.*)\.tbz2
--- ffmpeg-php-0.6.0.orig/debian/ffmpeg.ini
+++ ffmpeg-php-0.6.0/debian/ffmpeg.ini
@@ -0,0 +1,9 @@
+; configuration for the ffmpeg-php module
+
+extension=ffmpeg.so
+
+; Turn ffmpeg warnings into PHP warnings
+;ffmpeg.show_warnings=0
+
+; Persistent movies
+;ffmpeg.allow_persistent=0
--- ffmpeg-php-0.6.0.orig/debian/preinst
+++ ffmpeg-php-0.6.0/debian/preinst
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+
+dpkg-maintscript-helper mv_conffile /etc/php5/conf.d/ffmpeg.ini /etc/php5/mods-available/ffmpeg.ini 0.6.0-2.1 -- "$@"
+
+#DEBHELPER#
+
+exit 0
--- ffmpeg-php-0.6.0.orig/debian/control
+++ ffmpeg-php-0.6.0/debian/control
@@ -0,0 +1,21 @@
+Source: ffmpeg-php
+Section: php
+Priority: optional
+Maintainer: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org>
+Uploaders: Raphael Geissert <geissert@debian.org>
+Build-Depends: debhelper (>= 5), php5-dev (>= 5.2.0), libavformat-dev, libavcodec-dev, libswscale-dev, libgd2-xpm-dev, php5-cli (>= 5.2.0), php5-gd, quilt, chrpath, hardening-includes
+Build-Conflicts: php5-ffmpeg
+Standards-Version: 3.8.4
+Homepage: http://ffmpeg-php.sourceforge.net/
+Vcs-Git: git://git.debian.org/pkg-php/ffmpeg-php.git
+Vcs-Browser: http://git.debian.org/?p=pkg-php/ffmpeg-php.git;a=summary
+
+Package: php5-ffmpeg
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${php:Depends}
+Recommends: php5-gd
+Description: audio and video support via ffmpeg for php5
+ Provides access and retrieval of meta-data from all the movies and
+ audio file formats supported by ffmpeg. Extra features include retrieving and
+ manipulating frames from video files that can later be also manipulated by
+ PHP's own image functions.
--- ffmpeg-php-0.6.0.orig/debian/changelog
+++ ffmpeg-php-0.6.0/debian/changelog
@@ -0,0 +1,100 @@
+ffmpeg-php (0.6.0-2.2) unstable; urgency=low
+
+  * Use php5{en,dis}mod for conffile handling (Closes: #667765)
+
+ -- Ondřej Surý <ondrej@debian.org>  Fri, 06 Apr 2012 18:21:53 +0200
+
+ffmpeg-php (0.6.0-2.1) unstable; urgency=low
+
+  * Non-maintainer upload
+  * Fix FTBFS with new ffmpeg (Closes: #586550)
+  * Fix FTBFS: ffmpeg_frame.c:335: error: 'PIX_FMT_RGBA32' undeclared
+    (first use in this function) (Closes: #614474)
+  * Fix FTBFS with PHP 5.4 (Closes: #664837)
+
+ -- Ondřej Surý <ondrej@debian.org>  Wed, 21 Mar 2012 10:02:54 +0100
+
+ffmpeg-php (0.6.0-2) unstable; urgency=low
+
+  * Update my email address
+  * Drop DM-UA field
+  * Update VCS fields to reflect switch to git
+  * Update standards version to 3.8.4, no changes needed
+  * Switch to section 'php' instead of 'web'
+  * Use tee to print the test suite progress
+  * Drop ORed dependency on php5 (Closes: #566299)
+  * Define default CFLAGS, properly pass LFSFLAGS and build with
+    hardening flags
+  * Bump copyright year
+  * Actually redirect the testsuite's output to tee
+  * Remove the test-results.txt file on 'clean'
+  * Update the allow_persist... patch to use --INI--
+  * Ignore ffmpeg's info/debug messages on the test suite
+
+ -- Raphael Geissert <geissert@debian.org>  Tue, 09 Feb 2010 23:17:17 -0600
+
+ffmpeg-php (0.6.0-1) unstable; urgency=low
+
+  * New upstream release (Closes: #516365)
+    - Support for the ffmpeg swscale API (Closes: #487643)
+    - API Changes:
+      + Removed obsolete resize() and crop() functions.
+      + Removed animated gif class.
+    - Added check to ensure that gd loads before ffmpeg-php if both are
+      compiled as extensions.
+  * debian/control:
+    + Improve the package description.
+    + Add an ORed dependency on a real php5 SAPI package.
+    + Add a BuildDep on libswscale-dev
+  * debian/rules:
+    + Minor cleanup.
+  * debian/copyright:
+    + Update copyright years
+
+ -- Raphael Geissert <atomo64@gmail.com>  Sun, 22 Feb 2009 20:42:18 -0600
+
+ffmpeg-php (0.5.3.1-3) unstable; urgency=low
+
+  * gdtoimage_fix.patch (Closes: #496079)
+    + fix the toGDImage method by not using gdImageBoundsSafeMacro
+    - Thanks to Patrick Matthäi <patrick.matthaei@web.de> for the patch
+
+ -- Raphael Geissert <atomo64@gmail.com>  Mon, 07 Jul 2008 18:24:47 -0500
+
+ffmpeg-php (0.5.3.1-2) unstable; urgency=low
+
+  * Fix build failure caused by chrpath returning an exit status of 2.
+
+ -- Raphael Geissert <atomo64@gmail.com>  Mon, 07 Jul 2008 17:50:11 -0500
+
+ffmpeg-php (0.5.3.1-1) unstable; urgency=low
+
+  * New upstream release
+  * debian/control:
+    + Added Homepage and Vcs-* fields
+    + Bumped Standards-Version: 3.8.0, no changes needed
+    + Added XS-DM-Upload-Allowed: yes
+  * debian/patches/:
+    + 01gd.patch: dropped, included by upstream
+    + allow_persistent_on_persistentMovie.phpt.patch: fixes a test
+  * Run test suite at build time
+    + Depend on php5-cli and php5-gd, and conflict php5-ffmpeg
+  * debian/copyright: Added more credits
+  * debian/rules: removed some useless stuff
+  * debian/ffmpeg.ini: added some new options as comments
+
+ -- Raphael Geissert <atomo64@gmail.com>  Mon, 30 Jun 2008 18:25:05 -0500
+
+ffmpeg-php (0.5.1-2) unstable; urgency=low
+
+  * Fixed libgd-xpm-dev dependency
+  * Replaced -$(MAKE) clean with [ ! -f Makefile ] || $(MAKE) clean
+
+ -- Raphael Geissert <atomo64@gmail.com>  Mon, 16 Jul 2007 14:09:27 -0500
+
+ffmpeg-php (0.5.1-1) unstable; urgency=low
+
+  * Initial release (Closes: #397462)
+
+ -- Raphael Geissert <atomo64@gmail.com>  Thu, 21 Jun 2007 11:18:17 -0500
+
--- ffmpeg-php-0.6.0.orig/debian/prerm
+++ ffmpeg-php-0.6.0/debian/prerm
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -e
+
+dpkg-maintscript-helper mv_conffile /etc/php5/conf.d/ffmpeg.ini /etc/php5/mods-available/ffmpeg.ini 0.6.0-2.1 -- "$@"
+
+[ "$1" = "remove" ] && php5dismod ffmpeg
+
+#DEBHELPER#
+
+exit 0
--- ffmpeg-php-0.6.0.orig/debian/patches/fix_ftbfs_pix_fmt_rgba32.patch
+++ ffmpeg-php-0.6.0/debian/patches/fix_ftbfs_pix_fmt_rgba32.patch
@@ -0,0 +1,46 @@
+Description: Fix FTBFS with ffmpeg >= 0.6 as it doesn't define PIX_FMT_RGBA32 anymore.
+Author: Felix Geyer <debfx-pkg@fobos.de>
+Origin: backport, http://ffmpeg-php.svn.sourceforge.net/viewvc/ffmpeg-php?view=rev&revision=677
+
+--- a/ffmpeg_frame.c
++++ b/ffmpeg_frame.c
+@@ -60,6 +60,12 @@
+     ZEND_FETCH_RESOURCE(gd_img, gdImagePtr, ret, -1, "Image", le_gd); \
+ }
+ 
++#if PIX_FMT_RGBA32
++#define FFMPEG_PHP_FFMPEG_RGB_PIX_FORMAT PIX_FMT_RGBA32
++#else
++#define FFMPEG_PHP_FFMPEG_RGB_PIX_FORMAT PIX_FMT_RGB32
++#endif
++
+ // Borrowed from gd.c
+ #define gdImageBoundsSafeMacro(im, x, y) (!((((y) < (im)->cy1) || ((y) > (im)->cy2)) || (((x) < (im)->cx1) || ((x) > (im)->cx2))))
+ 
+@@ -332,7 +338,7 @@ FFMPEG_PHP_METHOD(ffmpeg_frame, toGDImag
+ 
+     GET_FRAME_RESOURCE(getThis(), ff_frame);
+ 
+-    _php_convert_frame(ff_frame, PIX_FMT_RGBA32);
++    _php_convert_frame(ff_frame, FFMPEG_PHP_FFMPEG_RGB_PIX_FORMAT);
+ 
+     return_value->value.lval = _php_get_gd_image(ff_frame->width, 
+             ff_frame->height);
+@@ -417,7 +423,7 @@ FFMPEG_PHP_METHOD(ffmpeg_frame, ffmpeg_f
+ 
+             /* create a an av_frame and allocate space for it */
+             frame = avcodec_alloc_frame();
+-            avpicture_alloc((AVPicture*)frame, PIX_FMT_RGBA32, width, height);
++            avpicture_alloc((AVPicture*)frame, FFMPEG_PHP_FFMPEG_RGB_PIX_FORMAT, width, height);
+ 
+             /* copy the gd image to the av_frame */
+             _php_gd_image_to_avframe(gd_img, frame, width, height);
+@@ -428,7 +434,7 @@ FFMPEG_PHP_METHOD(ffmpeg_frame, ffmpeg_f
+             /* set the ffpmeg_frame's properties */
+             ff_frame->width = width;
+             ff_frame->height = height;
+-            ff_frame->pixel_format = PIX_FMT_RGBA32;
++            ff_frame->pixel_format = FFMPEG_PHP_FFMPEG_RGB_PIX_FORMAT;
+             break;
+         default:
+             zend_error(E_ERROR, "Invalid argument\n");
--- ffmpeg-php-0.6.0.orig/debian/patches/fix_ftbfs_libav-0.7.patch
+++ ffmpeg-php-0.6.0/debian/patches/fix_ftbfs_libav-0.7.patch
@@ -0,0 +1,291 @@
+Description: Fix FTFS with libav 0.7 because of undefined CODEC_TYPE_*,
+ PKT_FLAG_KEY, hurry_up and MAX_STREAMS variables as well as datas (comment,
+ title, author, album, copyright, genre, track, year) in AVFormatContext
+ (replaced by av_dict_get functions)
+Author: Fabrice Coutadeur <fabricesp@ubuntu.com>
+
+--- a/ffmpeg_movie.c
++++ b/ffmpeg_movie.c
+@@ -45,6 +45,10 @@
+ 
+ #include "ffmpeg_frame.h"
+ #include "ffmpeg_movie.h"
++
++#if LIBAVFORMAT_VERSION_MAJOR >= 53
++#define MAX_STREAMS 20	/* arbitrary sanity check value */
++#endif
+    
+ #define GET_MOVIE_RESOURCE(ff_movie_ctx) {\
+     zval **_tmp_zval;\
+@@ -149,7 +153,7 @@ static int _php_get_stream_index(AVForma
+  */
+ static AVStream *_php_get_video_stream(AVFormatContext *fmt_ctx)
+ {
+-    int i = _php_get_stream_index(fmt_ctx, CODEC_TYPE_VIDEO);
++    int i = _php_get_stream_index(fmt_ctx, AVMEDIA_TYPE_VIDEO);
+     
+     return i < 0 ? NULL : fmt_ctx->streams[i];
+ }
+@@ -162,7 +166,7 @@ static AVStream *_php_get_video_stream(A
+  */
+ static AVStream *_php_get_audio_stream(AVFormatContext *fmt_ctx)
+ {
+-    int i = _php_get_stream_index(fmt_ctx, CODEC_TYPE_AUDIO);
++    int i = _php_get_stream_index(fmt_ctx, AVMEDIA_TYPE_AUDIO);
+     
+     return i < 0 ? NULL : fmt_ctx->streams[i];
+ }
+@@ -481,7 +485,7 @@ static AVCodecContext* _php_get_decoder_
+     stream_index = _php_get_stream_index(ffmovie_ctx->fmt_ctx, stream_type);
+     if (stream_index < 0) {
+         // FIXME: factor out the conditional.
+-        if (stream_type == CODEC_TYPE_VIDEO) {
++        if (stream_type == AVMEDIA_TYPE_VIDEO) {
+             zend_error(E_WARNING, "Can't find video stream in %s", 
+                     _php_get_filename(ffmovie_ctx));
+             return NULL;
+@@ -528,8 +532,8 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getComme
+ 
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+     
+-    RETURN_STRINGL(ffmovie_ctx->fmt_ctx->comment,
+-            strlen(ffmovie_ctx->fmt_ctx->comment), 1);
++    RETURN_STRINGL(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "comment", NULL, 0)->value,
++            strlen(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "comment", NULL, 0)->value), 1);
+ }
+ /* }}} */
+ 
+@@ -543,8 +547,8 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getTitle
+     
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    RETURN_STRINGL(ffmovie_ctx->fmt_ctx->title,
+-            strlen(ffmovie_ctx->fmt_ctx->title), 1);
++    RETURN_STRINGL(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "title", NULL, 0)->value,
++            strlen(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "title", NULL, 0)->value), 1);
+ }
+ /* }}} */
+ 
+@@ -558,8 +562,8 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getAutho
+     
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    RETURN_STRINGL(ffmovie_ctx->fmt_ctx->author,
+-            strlen(ffmovie_ctx->fmt_ctx->author), 1);
++    RETURN_STRINGL(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "artist", NULL, 0)->value,
++            strlen(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "artist", NULL, 0)->value), 1);
+ }
+ /* }}} */
+ 
+@@ -572,8 +576,8 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getCopyr
+     
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    RETURN_STRINGL(ffmovie_ctx->fmt_ctx->copyright,
+-            strlen(ffmovie_ctx->fmt_ctx->copyright), 1);
++    RETURN_STRINGL(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "copyright", NULL, 0)->value,
++            strlen(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "copyright", NULL, 0)->value), 1);
+ }
+ /* }}} */
+ 
+@@ -587,8 +591,8 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getAlbum
+     
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    RETURN_STRINGL(ffmovie_ctx->fmt_ctx->album,
+-            strlen(ffmovie_ctx->fmt_ctx->album), 1);
++    RETURN_STRINGL(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "album", NULL, 0)->value,
++            strlen(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "album", NULL, 0)->value), 1);
+ }
+ /* }}} */
+ 
+@@ -601,8 +605,8 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getGenre
+     
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    RETURN_STRINGL(ffmovie_ctx->fmt_ctx->genre,
+-            strlen(ffmovie_ctx->fmt_ctx->genre), 1);
++    RETURN_STRINGL(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "genre", NULL, 0)->value,
++            strlen(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "genre", NULL, 0)->value), 1);
+ }
+ /* }}} */
+ 
+@@ -616,7 +620,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getTrack
+     
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+     
+-    RETURN_LONG(ffmovie_ctx->fmt_ctx->track);
++    RETURN_LONG(strtol(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "track", NULL, 0)->value, NULL, 10));
+ }
+ /* }}} */
+ 
+@@ -629,7 +633,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getYear)
+     
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+     
+-    RETURN_LONG(ffmovie_ctx->fmt_ctx->year);
++    RETURN_LONG(strtol(av_dict_get(ffmovie_ctx->fmt_ctx->metadata, "date", NULL, 0)->value, NULL, 10));
+ }
+ /* }}} */
+ 
+@@ -675,7 +679,7 @@ static float _php_get_framerate(ff_movie
+     }
+ 
+ #if LIBAVCODEC_BUILD > 4753 
+-    if (GET_CODEC_FIELD(st->codec, codec_type) == CODEC_TYPE_VIDEO){
++    if (GET_CODEC_FIELD(st->codec, codec_type) == AVMEDIA_TYPE_VIDEO){
+         if (st->r_frame_rate.den && st->r_frame_rate.num) {
+             rate = av_q2d(st->r_frame_rate);
+         } else {
+@@ -807,7 +811,7 @@ static long _php_get_framenumber(ff_movi
+ {
+     AVCodecContext *decoder_ctx = NULL;
+ 
+-    decoder_ctx = _php_get_decoder_context(ffmovie_ctx, CODEC_TYPE_VIDEO);
++    decoder_ctx = _php_get_decoder_context(ffmovie_ctx, AVMEDIA_TYPE_VIDEO);
+     if (!decoder_ctx) {
+         return 0;
+     }
+@@ -847,7 +851,7 @@ static int _php_get_pixelformat(ff_movie
+ {
+     AVCodecContext *decoder_ctx;
+     
+-    decoder_ctx = _php_get_decoder_context(ffmovie_ctx, CODEC_TYPE_VIDEO);
++    decoder_ctx = _php_get_decoder_context(ffmovie_ctx, AVMEDIA_TYPE_VIDEO);
+ 
+     return decoder_ctx ? decoder_ctx->pix_fmt : 0;
+ }
+@@ -960,7 +964,7 @@ static const char* _php_get_codec_name(f
+         codec_name = decoder_ctx->codec_name;
+     } else {
+         /* output avi tags */
+-        if (decoder_ctx->codec_type == CODEC_TYPE_VIDEO) {
++        if (decoder_ctx->codec_type == AVMEDIA_TYPE_VIDEO) {
+             snprintf(buf1, sizeof(buf1), "%c%c%c%c",
+                     decoder_ctx->codec_tag & 0xff,
+                     (decoder_ctx->codec_tag >> 8) & 0xff,
+@@ -986,7 +990,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getVideo
+ 
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    codec_name = (char*)_php_get_codec_name(ffmovie_ctx, CODEC_TYPE_VIDEO);
++    codec_name = (char*)_php_get_codec_name(ffmovie_ctx, AVMEDIA_TYPE_VIDEO);
+  
+     if (codec_name) {
+         RETURN_STRINGL(codec_name, strlen(codec_name), 1);
+@@ -1006,7 +1010,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getAudio
+ 
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    codec_name = (char*)_php_get_codec_name(ffmovie_ctx, CODEC_TYPE_AUDIO);
++    codec_name = (char*)_php_get_codec_name(ffmovie_ctx, AVMEDIA_TYPE_AUDIO);
+  
+     if (codec_name) {
+         RETURN_STRINGL(codec_name, strlen(codec_name), 1);
+@@ -1026,7 +1030,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getVideo
+     
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+    
+-    stream_id= _php_get_stream_index(ffmovie_ctx->fmt_ctx, CODEC_TYPE_VIDEO); 
++    stream_id= _php_get_stream_index(ffmovie_ctx->fmt_ctx, AVMEDIA_TYPE_VIDEO);
+ 
+ 	if( stream_id == -1 )
+ 	{
+@@ -1048,7 +1052,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getAudio
+     
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+    
+-    stream_id= _php_get_stream_index(ffmovie_ctx->fmt_ctx, CODEC_TYPE_AUDIO); 
++    stream_id= _php_get_stream_index(ffmovie_ctx->fmt_ctx, AVMEDIA_TYPE_AUDIO);
+ 
+ 	if( stream_id == -1 )
+ 	{
+@@ -1086,7 +1090,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getAudio
+ 
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    channels = _php_get_codec_channels(ffmovie_ctx, CODEC_TYPE_AUDIO);
++    channels = _php_get_codec_channels(ffmovie_ctx, AVMEDIA_TYPE_AUDIO);
+  
+     if (channels) {
+         RETURN_LONG(channels);
+@@ -1122,7 +1126,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getAudio
+ 
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    sample_rate = _php_get_codec_sample_rate(ffmovie_ctx, CODEC_TYPE_AUDIO);
++    sample_rate = _php_get_codec_sample_rate(ffmovie_ctx, AVMEDIA_TYPE_AUDIO);
+  
+     if (sample_rate) {
+         RETURN_LONG(sample_rate);
+@@ -1158,7 +1162,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getAudio
+ 
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    bit_rate = _php_get_codec_bit_rate(ffmovie_ctx, CODEC_TYPE_AUDIO);
++    bit_rate = _php_get_codec_bit_rate(ffmovie_ctx, AVMEDIA_TYPE_AUDIO);
+  
+     if (bit_rate) {
+         RETURN_LONG(bit_rate);
+@@ -1178,7 +1182,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, getVideo
+ 
+     GET_MOVIE_RESOURCE(ffmovie_ctx);
+ 
+-    bit_rate = _php_get_codec_bit_rate(ffmovie_ctx, CODEC_TYPE_VIDEO);
++    bit_rate = _php_get_codec_bit_rate(ffmovie_ctx, AVMEDIA_TYPE_VIDEO);
+  
+     if (bit_rate) {
+         RETURN_LONG(bit_rate);
+@@ -1201,7 +1205,7 @@ static AVFrame* _php_read_av_frame(ff_mo
+     int got_frame; 
+ 
+     video_stream = _php_get_stream_index(ffmovie_ctx->fmt_ctx, 
+-            CODEC_TYPE_VIDEO);
++            AVMEDIA_TYPE_VIDEO);
+     if (video_stream < 0) {
+         return NULL;
+     }
+@@ -1212,11 +1216,10 @@ static AVFrame* _php_read_av_frame(ff_mo
+     while (av_read_frame(ffmovie_ctx->fmt_ctx, &packet) >= 0) {
+         if (packet.stream_index == video_stream) {
+         
+-            avcodec_decode_video(decoder_ctx, frame, &got_frame,
+-                    packet.data, packet.size);
++            avcodec_decode_video2(decoder_ctx, frame, &got_frame, &packet);
+         
+             if (got_frame) {
+-                *is_keyframe = (packet.flags & PKT_FLAG_KEY);
++                *is_keyframe = (packet.flags & AV_PKT_FLAG_KEY);
+                 *pts = packet.pts;
+                 av_free_packet(&packet);
+                 return frame;
+@@ -1243,7 +1246,7 @@ static AVFrame* _php_get_av_frame(ff_mov
+     AVCodecContext *decoder_ctx = NULL;
+     AVFrame *frame = NULL;
+ 
+-    decoder_ctx = _php_get_decoder_context(ffmovie_ctx, CODEC_TYPE_VIDEO);
++    decoder_ctx = _php_get_decoder_context(ffmovie_ctx, AVMEDIA_TYPE_VIDEO);
+     if (decoder_ctx == NULL) {
+         return NULL;
+     }
+@@ -1279,9 +1282,9 @@ static AVFrame* _php_get_av_frame(ff_mov
+                 wanted_frame != GETFRAME_NEXTFRAME &&
+                 wanted_frame - ffmovie_ctx->frame_number > 
+                 decoder_ctx->gop_size + 1) {
+-            decoder_ctx->hurry_up = 1;
++            decoder_ctx->skip_frame = AVDISCARD_NONREF;
+         } else {
+-            decoder_ctx->hurry_up = 0;
++            decoder_ctx->skip_frame = AVDISCARD_DEFAULT;
+         }
+         ffmovie_ctx->frame_number++; 
+ 
+@@ -1440,7 +1443,7 @@ static double _php_get_sample_aspect_rat
+     AVCodecContext *decoder_ctx;
+ 	
+ 
+-    decoder_ctx = _php_get_decoder_context(ffmovie_ctx, CODEC_TYPE_VIDEO);
++    decoder_ctx = _php_get_decoder_context(ffmovie_ctx, AVMEDIA_TYPE_VIDEO);
+     if (!decoder_ctx) {
+         return -1;
+     }
--- ffmpeg-php-0.6.0.orig/debian/patches/series
+++ ffmpeg-php-0.6.0/debian/patches/series
@@ -0,0 +1,8 @@
+allow_persistent_on_persistentMovie.phpt.patch
+gdtoimage_fix.patch
+test_fixes.patch
+fix_ftbfs_pix_fmt_rgba32.patch
+fix_ftbfs_libav-0.7.patch
+find_multiarch_libavcodec.so.patch
+fix_id3_test.patch
+fix_php5.4_list_entry.patch
--- ffmpeg-php-0.6.0.orig/debian/patches/find_multiarch_libavcodec.so.patch
+++ ffmpeg-php-0.6.0/debian/patches/find_multiarch_libavcodec.so.patch
@@ -0,0 +1,13 @@
+--- a/config.m4
++++ b/config.m4
+@@ -65,6 +65,10 @@ if test "$PHP_FFMPEG" != "no"; then
+     if test -f $i/lib/libavcodec.dylib; then
+       FFMPEG_LIBDIR=$i/lib
+     fi
++    DEB_HOST_MULTIARCH=`dpkg-architecture -qDEB_HOST_MULTIARCH`
++    if test -f $i/lib/$DEB_HOST_MULTIARCH/libavcodec.so; then
++      FFMPEG_LIBDIR=$i/lib/$DEB_HOST_MULTIARCH
++    fi
+     done
+ 
+     PHP_ADD_LIBRARY_WITH_PATH(avcodec, $FFMPEG_LIBDIR, FFMPEG_SHARED_LIBADD)
--- ffmpeg-php-0.6.0.orig/debian/patches/allow_persistent_on_persistentMovie.phpt.patch
+++ ffmpeg-php-0.6.0/debian/patches/allow_persistent_on_persistentMovie.phpt.patch
@@ -0,0 +1,11 @@
+--- a/tests/persistentMovie.phpt
++++ b/tests/persistentMovie.phpt
+@@ -2,6 +2,8 @@
+ ffmpeg persistent movie test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.allow_persistent=1
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi', 1);
--- ffmpeg-php-0.6.0.orig/debian/patches/gdtoimage_fix.patch
+++ ffmpeg-php-0.6.0/debian/patches/gdtoimage_fix.patch
@@ -0,0 +1,24 @@
+--- a/ffmpeg_frame.c
++++ b/ffmpeg_frame.c
+@@ -284,15 +284,14 @@ static int _php_avframe_to_gd_image(AVFr
+     int x, y;
+     int *src = (int*)frame->data[0];
+ 
++	if(width > dest->sx || height > dest->sy){
++		return -1;
++	}
++
+     for (y = 0; y < height; y++) {
+         for (x = 0; x < width; x++) {
+-		
+-			if (gdImageBoundsSafeMacro(dest, x, y)) {
+-                /* copy pixel to gdimage buffer zeroing the alpha channel */
+-                dest->tpixels[y][x] = src[x] & 0x00ffffff;
+-            } else {
+-                return -1;
+-            }
++            /* copy pixel to gdimage buffer zeroing the alpha channel */
++			dest->tpixels[y][x] = src[x] & 0x00ffffff;
+         }
+         src += width;
+     }
--- ffmpeg-php-0.6.0.orig/debian/patches/test_fixes.patch
+++ ffmpeg-php-0.6.0/debian/patches/test_fixes.patch
@@ -0,0 +1,347 @@
+--- a/tests/getAudioBitRate.phpt
++++ b/tests/getAudioBitRate.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getAudioBitRate test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getAudioChannels.phpt
++++ b/tests/getAudioChannels.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getAudioChannels test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getAudioCodec.phpt
++++ b/tests/getAudioCodec.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getAudioCodec test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getAudioSampleRate.phpt
++++ b/tests/getAudioSampleRate.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getAudioSampleRate test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getAudioStreamId.phpt
++++ b/tests/getAudioStreamId.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getAudioStreamId test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getBitRate.phpt
++++ b/tests/getBitRate.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getBitRate test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getDuration.phpt
++++ b/tests/getDuration.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getDuration test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded\n"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getFileName.phpt
++++ b/tests/getFileName.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getFileName test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getFrame.phpt
++++ b/tests/getFrame.phpt
+@@ -6,6 +6,9 @@ extension_loaded('ffmpeg') or die("skip
+ extension_loaded('gd') or die("skip gd extension not avaliable.\n");
+ function_exists("imagecreatetruecolor") or die("skip function imagecreatetruecolor unavailable");
+ ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $frame = 73;
+--- a/tests/getFrameCount.phpt
++++ b/tests/getFrameCount.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getFrameCount test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded\n"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getFrameHeight.phpt
++++ b/tests/getFrameHeight.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getFrameHeight test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded\n"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getFrameNumber.phpt
++++ b/tests/getFrameNumber.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getFrameNumber test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded\n"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getFrameRate.phpt
++++ b/tests/getFrameRate.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getFrameRate test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded\n"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getFrameWidth.phpt
++++ b/tests/getFrameWidth.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getFrameWidth test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded\n"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getFramesBackwards.phpt
++++ b/tests/getFramesBackwards.phpt
+@@ -6,6 +6,9 @@ extension_loaded('ffmpeg') or die("skip
+ extension_loaded('gd') or die("skip gd extension not avaliable.");
+ function_exists("imagecreatetruecolor") or die("skip function imagecreatetruecolor unavailable");
+ ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getFramesForward.phpt
++++ b/tests/getFramesForward.phpt
+@@ -6,6 +6,9 @@ extension_loaded('ffmpeg') or die("skip
+ extension_loaded('gd') or die("skip gd extension not avaliable.");
+ function_exists("imagecreatetruecolor") or die("skip function imagecreatetruecolor unavailable");
+ ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getFramesForwardPassedEnd.phpt
++++ b/tests/getFramesForwardPassedEnd.phpt
+@@ -6,6 +6,9 @@ extension_loaded('ffmpeg') or die("skip
+ extension_loaded('gd') or die("skip gd extension not avaliable.");
+ function_exists("imagecreatetruecolor") or die("skip function imagecreatetruecolor unavailable");
+ ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getFramesNoArg.phpt
++++ b/tests/getFramesNoArg.phpt
+@@ -6,6 +6,9 @@ extension_loaded('ffmpeg') or die("skip
+ extension_loaded('gd') or die("skip gd extension not avaliable.");
+ function_exists("imagecreatetruecolor") or die("skip function imagecreatetruecolor unavailable");
+ ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getID3Info.phpt
++++ b/tests/getID3Info.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getID3Info() test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/16Hz-20kHz-Exp-1f-5sec.mp3');
+--- a/tests/getNextKeyFrame.phpt
++++ b/tests/getNextKeyFrame.phpt
+@@ -6,6 +6,9 @@ extension_loaded('ffmpeg') or die("skip
+ extension_loaded('gd') or die("skip gd extension not avaliable.");
+ function_exists("imagecreatetruecolor") or die("skip function imagecreatetruecolor unavailable");
+ ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getPTS.phpt
++++ b/tests/getPTS.phpt
+@@ -6,6 +6,9 @@ extension_loaded('ffmpeg') or die("skip
+ extension_loaded('gd') or die("skip gd extension not avaliable.");
+ function_exists("imagecreatetruecolor") or die("skip function imagecreatetruecolor unavailable");
+ ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getPixelAspectRatio.phpt
++++ b/tests/getPixelAspectRatio.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getPixelAspectRatio test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getPixelFormat.phpt
++++ b/tests/getPixelFormat.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getPixelFormat test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getVideoBitRate.phpt
++++ b/tests/getVideoBitRate.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getVideoBitRate test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getVideoCodec.phpt
++++ b/tests/getVideoCodec.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getVideoCodec test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/getVideoStreamId.phpt
++++ b/tests/getVideoStreamId.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg getVideoStreamId test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/hasAudio.phpt
++++ b/tests/hasAudio.phpt
+@@ -2,6 +2,9 @@
+ ffmpeg hasAudio test
+ --SKIPIF--
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded\n"); ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/isKeyFrame.phpt
++++ b/tests/isKeyFrame.phpt
+@@ -6,6 +6,9 @@ extension_loaded('ffmpeg') or die("skip
+ extension_loaded('gd') or die("skip gd extension not avaliable.");
+ function_exists("imagecreatetruecolor") or die("skip function imagecreatetruecolor unavailable");
+ ?>
++--INI--
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi');
+--- a/tests/persistentMovie.phpt
++++ b/tests/persistentMovie.phpt
+@@ -4,6 +4,8 @@ ffmpeg persistent movie test
+ <?php extension_loaded('ffmpeg') or die("ffmpeg extension not loaded"); ?>
+ --INI--
+ ffmpeg.allow_persistent=1
++ffmpeg.show_warnings=1
++error_reporting = E_ALL & ~E_NOTICE
+ --FILE--
+ <?php
+ $mov = new ffmpeg_movie(dirname(__FILE__) . '/test_media/robot.avi', 1);
--- ffmpeg-php-0.6.0.orig/debian/patches/fix_php5.4_list_entry.patch
+++ ffmpeg-php-0.6.0/debian/patches/fix_php5.4_list_entry.patch
@@ -0,0 +1,29 @@
+--- a/ffmpeg_movie.c
++++ b/ffmpeg_movie.c
+@@ -312,7 +312,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, __constr
+     } 
+ 
+     if (persistent) {
+-        list_entry *le;
++        zend_rsrc_list_entry *le;
+         /* resolve the fully-qualified path name to use as the hash key */
+         fullpath = expand_filepath(filename, NULL TSRMLS_CC);
+ 
+@@ -347,7 +347,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, __constr
+             }
+             
+         } else { /* no existing persistant movie, create one */
+-            list_entry new_le;
++            zend_rsrc_list_entry new_le;
+             ffmovie_ctx = _php_alloc_ffmovie_ctx(1);
+ 
+             if (_php_open_movie_file(ffmovie_ctx, filename)) {
+@@ -361,7 +361,7 @@ FFMPEG_PHP_METHOD(ffmpeg_movie, __constr
+             new_le.ptr = ffmovie_ctx;
+ 
+             if (FAILURE == zend_hash_update(&EG(persistent_list), hashkey, 
+-                        hashkey_length+1, (void *)&new_le, sizeof(list_entry),
++                        hashkey_length+1, (void *)&new_le, sizeof(zend_rsrc_list_entry),
+                         NULL)) {
+                 php_error_docref(NULL TSRMLS_CC, E_WARNING, 
+                         "Failed to register persistent resource");
--- ffmpeg-php-0.6.0.orig/debian/patches/fix_id3_test.patch
+++ ffmpeg-php-0.6.0/debian/patches/fix_id3_test.patch
@@ -0,0 +1,10 @@
+--- a/tests/getID3Info.phpt
++++ b/tests/getID3Info.phpt
+@@ -20,6 +20,6 @@ printf("ffmpeg getYear(): %s\n", $mov->g
+ ffmpeg getTitle(): Test mp3
+ ffmpeg getArtist(): Alexander Thomas
+ ffmpeg getAlbum(): MP3 test files (http://www.dr-lex.be/software/testsounds.html#Tones)
+-ffmpeg getGenre(): (37)
++ffmpeg getGenre(): Sound Clip
+ ffmpeg getTrackNumber(): 3
+ ffmpeg getYear(): 2008