Control: tags -1 + patch pending

Dear maintainer,

I've prepared an NMU for gnash (versioned as 0.8.11~git20120629-1.1) and
uploaded it to DELAYED/2. Please feel free to tell me if I
should delay it longer.

Regards.
-- 
Sebastian Ramacher
diff -Nru gnash-0.8.11~git20120629/debian/changelog gnash-0.8.11~git20120629/debian/changelog
--- gnash-0.8.11~git20120629/debian/changelog	2012-06-30 02:35:58.000000000 +0200
+++ gnash-0.8.11~git20120629/debian/changelog	2013-09-03 02:39:07.000000000 +0200
@@ -1,3 +1,16 @@
+gnash (0.8.11~git20120629-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * debian/patches:
+    - 02python-config: Call python-config --includes instead of --include.
+      (patch taken from Ubuntu, Closes: #713276)
+    - 03link-boost-system: Link with -lboost-system to fix build failure with
+      Boost 1.54. (patch from Ubuntu)
+    - 04libav9: Fix build failure with libav 9. (upstream patch)
+  * debian/control: Add libboost-system-dev to Build-Depends.
+
+ -- Sebastian Ramacher <sramac...@debian.org>  Tue, 03 Sep 2013 02:39:06 +0200
+
 gnash (0.8.11~git20120629-1) unstable; urgency=low
 
   * Git snapshot.
diff -Nru gnash-0.8.11~git20120629/debian/control gnash-0.8.11~git20120629/debian/control
--- gnash-0.8.11~git20120629/debian/control	2012-06-30 02:35:58.000000000 +0200
+++ gnash-0.8.11~git20120629/debian/control	2013-09-03 02:38:20.000000000 +0200
@@ -27,6 +27,7 @@
                libboost-dev,
                libboost-iostreams-dev,
                libboost-program-options-dev,
+               libboost-system-dev,
                libboost-thread-dev,
                libcurl4-gnutls-dev | libcurl3-gnutls-dev | libcurl4-openssl-dev | libcurl3-openssl-dev,
                libgconf2-dev,
diff -Nru gnash-0.8.11~git20120629/debian/patches/02python-config gnash-0.8.11~git20120629/debian/patches/02python-config
--- gnash-0.8.11~git20120629/debian/patches/02python-config	1970-01-01 01:00:00.000000000 +0100
+++ gnash-0.8.11~git20120629/debian/patches/02python-config	2013-09-03 01:55:07.000000000 +0200
@@ -0,0 +1,16 @@
+Bug: https://savannah.gnu.org/patch/index.php?7995
+Author: Robie Basak <robie.ba...@canonical.com>
+Description: python-config --include is not defined and no longer works
+Last-Update: 2013-04-04
+
+--- a/macros/python.m4
++++ b/macros/python.m4
+@@ -54,7 +54,7 @@
+     dnl If the path hasn't been specified, go look for it.
+     if test x"${ac_cv_path_python_incl}" = x; then
+       if test x"${pythonconfig}" != "x"; then
+-        ac_cv_path_python_incl="`${pythonconfig} --include`"
++        ac_cv_path_python_incl="`${pythonconfig} --includes`"
+       else
+         for i in $incllist; do
+           for j in `ls -dr $i/python2.* 2>/dev/null`;do
diff -Nru gnash-0.8.11~git20120629/debian/patches/03link-boost-system gnash-0.8.11~git20120629/debian/patches/03link-boost-system
--- gnash-0.8.11~git20120629/debian/patches/03link-boost-system	1970-01-01 01:00:00.000000000 +0100
+++ gnash-0.8.11~git20120629/debian/patches/03link-boost-system	2013-09-03 01:55:07.000000000 +0200
@@ -0,0 +1,66 @@
+Description: Link against libboost_system.
+Author: Dmitrijs Ledkovs <dmitrij.led...@ubuntu.com>
+
+--- a/macros/boost.m4
++++ b/macros/boost.m4
+@@ -37,7 +37,7 @@
+   boost_headers="detail/lightweight_mutex.hpp thread/thread.hpp multi_index_container.hpp multi_index/key_extractors.hpp thread/mutex.hpp program_options/options_description.hpp iostreams/stream.hpp"
+   dnl this is a list of *required* libraries. If any of these are missing, this
+   dnl test will return a failure, and Gnash won't build.
+-  boost_libs="thread program_options iostreams"
++  boost_libs="thread program_options iostreams system"
+ 
+   dnl this is a list of *recommended* libraries. If any of these are missing, this
+   dnl test will return a warning, and Gnash will build, but testing won't work.
+--- a/utilities/Makefile.am
++++ b/utilities/Makefile.am
+@@ -92,10 +92,10 @@
+ 	$(NULL)
+ 
+ soldumper_SOURCES = soldumper.cpp
+-soldumper_LDADD = $(GNASH_LIBS) $(CYGNAL_LIBS) $(AM_LDFLAGS)
++soldumper_LDADD = $(GNASH_LIBS) $(CYGNAL_LIBS) $(BOOST_LIBS) $(AM_LDFLAGS)
+ 
+ flvdumper_SOURCES = flvdumper.cpp
+-flvdumper_LDADD = $(GNASH_LIBS) $(CYGNAL_LIBS) $(AM_LDFLAGS)
++flvdumper_LDADD = $(GNASH_LIBS) $(CYGNAL_LIBS) $(BOOST_LIBS) $(AM_LDFLAGS)
+ 
+ endif
+ 
+@@ -112,10 +112,10 @@
+ gprocessor_SOURCES = processor.cpp
+ # export our symbols so they can be used by Gnash plugins
+ gprocessor_LDFLAGS = -export-dynamic
+-gprocessor_LDADD = $(GNASH_LIBS) $(AM_LDFLAGS)
++gprocessor_LDADD = $(GNASH_LIBS) $(BOOST_LIBS) $(AM_LDFLAGS)
+ 
+ rtmpget_SOURCES = rtmpget.cpp 
+-rtmpget_LDADD = $(top_builddir)/libbase/libgnashbase.la $(AM_LDFLAGS)
++rtmpget_LDADD = $(top_builddir)/libbase/libgnashbase.la $(BOOST_LIBS) $(AM_LDFLAGS)
+ 
+ #dumpshm_SOURCES = dumpshm.cpp
+ #dumpshm_LDADD = $(GNASH_LIBS) $(AM_LDFLAGS)
+--- a/libdevice/Makefile.am
++++ b/libdevice/Makefile.am
+@@ -71,7 +71,8 @@
+ 	$(LIBVA_GLX_LIBS) \
+ 	$(TS_LIBS) \
+ 	$(LTDL_LIBS) \
+-	$(GNASH_LIBS)
++	$(GNASH_LIBS) \
++	$(BOOST_LIBS)
+ libgnashdevice_la_LDFLAGS =  -release $(VERSION) 
+ libgnashdevice_la_SOURCES = \
+ 	GnashDevice.h \
+--- a/librender/Makefile.am
++++ b/librender/Makefile.am
+@@ -78,7 +78,8 @@
+ 	$(LIBVA_LIBS) \
+ 	$(LIBVA_X11_LIBS) \
+ 	$(LIBVA_GLX_LIBS) \
+-	$(GNASH_LIBS)
++	$(GNASH_LIBS) \
++	$(BOOST_LIBS)
+ libgnashrender_la_LDFLAGS =  -release $(VERSION) 
+ libgnashrender_la_SOURCES =
+ 
diff -Nru gnash-0.8.11~git20120629/debian/patches/04libav9 gnash-0.8.11~git20120629/debian/patches/04libav9
--- gnash-0.8.11~git20120629/debian/patches/04libav9	1970-01-01 01:00:00.000000000 +0100
+++ gnash-0.8.11~git20120629/debian/patches/04libav9	2013-09-03 02:36:15.000000000 +0200
@@ -0,0 +1,306 @@
+Description: Fix build with libav 9
+Origin: upstream,
+ http://git.savannah.gnu.org/cgit/gnash.git/commit/?id=4b3dae970549d42723c2528c250a1f95248145c7,
+ http://git.savannah.gnu.org/cgit/gnash.git/commit/?id=dfba5258dc230669a7e1ad309e25ef190c77e854
+Last-Update: 2013-09-03
+
+--- gnash-0.8.11~git20120629.orig/libmedia/ffmpeg/AudioDecoderFfmpeg.cpp
++++ gnash-0.8.11~git20120629/libmedia/ffmpeg/AudioDecoderFfmpeg.cpp
+@@ -84,8 +84,10 @@ AudioDecoderFfmpeg::~AudioDecoderFfmpeg(
+ 
+ void AudioDecoderFfmpeg::setup(SoundInfo& info)
+ {
+-    // Init the avdecoder-decoder
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52,6,2)
++    // Starting from this version avcodec_register calls avcodec_init
+     avcodec_init();
++#endif
+     avcodec_register_all();// change this to only register need codec?
+ 
+     enum CodecID codec_id;
+@@ -131,12 +133,20 @@ void AudioDecoderFfmpeg::setup(SoundInfo
+         }
+     }
+ 
++#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(53,8,0)
++    _audioCodecCtx = avcodec_alloc_context3(_audioCodec);
++#else
+     _audioCodecCtx = avcodec_alloc_context();
++#endif
+     if (!_audioCodecCtx) {
+         throw MediaException(_("libavcodec couldn't allocate context"));
+     }
+ 
++#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(53,8,0)
++    int ret = avcodec_open2(_audioCodecCtx, _audioCodec, NULL);
++#else
+     int ret = avcodec_open(_audioCodecCtx, _audioCodec);
++#endif
+     if (ret < 0) {
+         av_free(_audioCodecCtx);
+         _audioCodecCtx=0;
+@@ -158,14 +168,14 @@ void AudioDecoderFfmpeg::setup(SoundInfo
+             case CODEC_ID_PCM_U16LE:
+                 _audioCodecCtx->channels = (info.isStereo() ? 2 : 1);
+                 _audioCodecCtx->sample_rate = info.getSampleRate();
+-                _audioCodecCtx->sample_fmt = SAMPLE_FMT_S16; // ?! arbitrary ?
++                _audioCodecCtx->sample_fmt = AV_SAMPLE_FMT_S16; // ?! arbitrary ?
+                 _audioCodecCtx->frame_size = 1; 
+                 break;
+ 
+             default:
+                 _audioCodecCtx->channels = (info.isStereo() ? 2 : 1);
+                 _audioCodecCtx->sample_rate = info.getSampleRate();
+-                _audioCodecCtx->sample_fmt = SAMPLE_FMT_S16; // ?! arbitrary ?
++                _audioCodecCtx->sample_fmt = AV_SAMPLE_FMT_S16; // ?! arbitrary ?
+                 break;
+     }
+ }
+@@ -173,7 +183,10 @@ void AudioDecoderFfmpeg::setup(SoundInfo
+ void AudioDecoderFfmpeg::setup(const AudioInfo& info)
+ {
+     // Init the avdecoder-decoder
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52,6,2)
++    // Starting from this version avcodec_register calls avcodec_init
+     avcodec_init();
++#endif
+     avcodec_register_all();// change this to only register need codec?
+ 
+     enum CodecID codec_id = CODEC_ID_NONE;
+@@ -254,7 +267,11 @@ void AudioDecoderFfmpeg::setup(const Aud
+     _needsParsing = (_parser != NULL);
+ 
+     // Create an audioCodecCtx from the ffmpeg parser if exists/possible
++#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(53,8,0)
++    _audioCodecCtx = avcodec_alloc_context3(_audioCodec);
++#else
+     _audioCodecCtx = avcodec_alloc_context();
++#endif
+     if (!_audioCodecCtx) {
+         throw MediaException(_("AudioDecoderFfmpeg: libavcodec couldn't "
+                     "allocate context"));
+@@ -297,7 +314,7 @@ void AudioDecoderFfmpeg::setup(const Aud
+                 _audioCodecCtx->channels = (info.stereo ? 2 : 1);
+                 _audioCodecCtx->sample_rate = info.sampleRate;
+                 // was commented out (why?):
+-                _audioCodecCtx->sample_fmt = SAMPLE_FMT_S16; 
++                _audioCodecCtx->sample_fmt = AV_SAMPLE_FMT_S16;
+                 break;
+     }
+ 
+@@ -305,7 +322,11 @@ void AudioDecoderFfmpeg::setup(const Aud
+ #ifdef GNASH_DEBUG_AUDIO_DECODING
+     log_debug("  Opening codec");
+ #endif // GNASH_DEBUG_AUDIO_DECODING
++#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(53,8,0)
++    int ret = avcodec_open2(_audioCodecCtx, _audioCodec, NULL);
++#else
+     int ret = avcodec_open(_audioCodecCtx, _audioCodec);
++#endif
+     if (ret < 0) {
+         //avcodec_close(_audioCodecCtx);
+         av_free(_audioCodecCtx);
+--- gnash-0.8.11~git20120629.orig/libmedia/ffmpeg/MediaParserFfmpeg.cpp
++++ gnash-0.8.11~git20120629/libmedia/ffmpeg/MediaParserFfmpeg.cpp
+@@ -344,8 +344,10 @@ MediaParserFfmpeg::initializeParser()
+ {
+     av_register_all(); // TODO: needs to be invoked only once ?
+ 
++#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(52,107,0)
+     _byteIOCxt.buffer = NULL;
+-    
++#endif
++
+     _inputFmt = probeStream();
+ 
+ #ifdef GNASH_ALLOW_VCODEC_ENV	
+@@ -366,7 +368,11 @@ MediaParserFfmpeg::initializeParser()
+     // which isn't needed.
+     _byteIOBuffer.reset(new unsigned char[byteIOBufferSize]);
+ 
++#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(52,107,0)
+     init_put_byte(&_byteIOCxt,
++#else
++    _avIOCxt = avio_alloc_context(
++#endif
+ 		  _byteIOBuffer.get(), // buffer
+ 		  byteIOBufferSize, // buffer size
+ 		  0, // write flags
+@@ -376,7 +382,11 @@ MediaParserFfmpeg::initializeParser()
+ 		  MediaParserFfmpeg::seekMediaWrapper // seeker callback
+ 		  );
+     
++#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(52,107,0)
+     _byteIOCxt.is_streamed = 1;
++#else
++    _avIOCxt->seekable = 0;
++#endif
+ 
+ #if !defined(LIBAVCODEC_VERSION_MAJOR) || LIBAVCODEC_VERSION_MAJOR < 52
+     // Needed for Lenny.
+@@ -387,12 +397,19 @@ MediaParserFfmpeg::initializeParser()
+ 
+     assert(_formatCtx);
+ 
++#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(52,107,0)
+     // Otherwise av_open_input_stream will reallocate the context.
+     AVFormatParameters ap;
+     std::memset(&ap, 0, sizeof ap);
+     ap.prealloced_context = 1;
+ 
+     if (av_open_input_stream(&_formatCtx, &_byteIOCxt, "", _inputFmt, &ap) < 0)
++#else
++
++    _formatCtx->pb = _avIOCxt;
++
++    if (avformat_open_input(&_formatCtx, "", _inputFmt, NULL) < 0)
++#endif
+     {
+         throw IOException("MediaParserFfmpeg couldn't open input stream");
+     }
+@@ -400,10 +417,17 @@ MediaParserFfmpeg::initializeParser()
+ #if defined(LIBAVCODEC_VERSION_MAJOR) && LIBAVCODEC_VERSION_MAJOR >= 52
+     // Note: in at least some versions of ffmpeg, av_open_input_stream does
+     // not parse metadata; not sure why.
++#if LIBAVUTIL_VERSION_INT < AV_VERSION_INT(51,5,0)
+     AVMetadata* md = _formatCtx->metadata;
+     if (md) {
+         AVMetadataTag* tag = av_metadata_get(md, "album", 0,
+                 AV_METADATA_MATCH_CASE);
++#else
++    AVDictionary* md = _formatCtx->metadata;
++    if (md) {
++        AVDictionaryEntry* tag = av_dict_get(md, "album", 0,
++                AV_DICT_MATCH_CASE);
++#endif
+         if (tag && tag->value) {
+             setId3Info(&Id3Info::album, std::string(tag->value),
+                     _id3Object);
+@@ -620,27 +644,27 @@ MediaParserFfmpeg::seekMedia(boost::int6
+ }
+ 
+ boost::uint16_t
+-MediaParserFfmpeg::SampleFormatToSampleSize(SampleFormat fmt)
++MediaParserFfmpeg::SampleFormatToSampleSize(AVSampleFormat fmt)
+ {
+ 	switch (fmt)
+ 	{
+-		case SAMPLE_FMT_U8: // unsigned 8 bits
++		case AV_SAMPLE_FMT_U8: // unsigned 8 bits
+ 			return 1;
+ 
+-		case SAMPLE_FMT_S16: // signed 16 bits
+-		case SAMPLE_FMT_FLT: // float
++		case AV_SAMPLE_FMT_S16: // signed 16 bits
++		case AV_SAMPLE_FMT_FLT: // float
+ 			return 2;
+ 
+ #if !defined (LIBAVCODEC_VERSION_MAJOR) || LIBAVCODEC_VERSION_MAJOR < 52
+ // Was dropped for version 52.0.0
+-		case SAMPLE_FMT_S24: // signed 24 bits
++		case AV_SAMPLE_FMT_S24: // signed 24 bits
+ 			return 3;
+ #endif
+ 
+-		case SAMPLE_FMT_S32: // signed 32 bits
++		case AV_SAMPLE_FMT_S32: // signed 32 bits
+ 			return 4;
+ 
+-		case SAMPLE_FMT_NONE:
++		case AV_SAMPLE_FMT_NONE:
+ 		default:
+ 			return 8; // arbitrary value
+ 	}
+--- gnash-0.8.11~git20120629.orig/libmedia/ffmpeg/MediaParserFfmpeg.h
++++ gnash-0.8.11~git20120629/libmedia/ffmpeg/MediaParserFfmpeg.h
+@@ -154,7 +154,13 @@ private:
+ 	AVStream* _audioStream;
+ 
+ 	/// ?
+-	ByteIOContext _byteIOCxt;
++#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(52,107,0)
++// AVIOContext was introduced a bit earlier but without version bump, so let's
++// be safe
++        ByteIOContext _byteIOCxt;
++#else
++        AVIOContext* _avIOCxt;
++#endif
+ 
+ 	/// Size of the ByteIO context buffer
+ 	//
+@@ -172,7 +178,7 @@ private:
+ 	//
+ 	/// TODO: move somewhere in ffmpeg utils..
+ 	///
+-	boost::uint16_t SampleFormatToSampleSize(SampleFormat fmt);
++	boost::uint16_t SampleFormatToSampleSize(AVSampleFormat fmt);
+ 
+ 	/// Make an EncodedVideoFrame from an AVPacket and push to buffer
+ 	//
+--- gnash-0.8.11~git20120629.orig/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
++++ gnash-0.8.11~git20120629/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
+@@ -171,7 +171,10 @@ VideoDecoderFfmpeg::init(enum CodecID co
+         boost::uint8_t* extradata, int extradataSize)
+ {
+     // Init the avdecoder-decoder
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52,6,2)
++    // Starting from this version avcodec_register calls avcodec_init
+     avcodec_init();
++#endif
+     avcodec_register_all();// change this to only register need codec?
+ 
+     _videoCodec = avcodec_find_decoder(codecId); 
+@@ -180,7 +183,11 @@ VideoDecoderFfmpeg::init(enum CodecID co
+         throw MediaException(_("libavcodec can't decode this video format"));
+     }
+ 
++#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(53,8,0)
++    _videoCodecCtx.reset(new CodecContextWrapper(avcodec_alloc_context3(_videoCodec)));
++#else
+     _videoCodecCtx.reset(new CodecContextWrapper(avcodec_alloc_context()));
++#endif
+     if (!_videoCodecCtx->getContext()) {
+         throw MediaException(_("libavcodec couldn't allocate context"));
+     }
+@@ -203,7 +210,11 @@ VideoDecoderFfmpeg::init(enum CodecID co
+     }
+ #endif
+ 
++#if LIBAVCODEC_VERSION_INT > AV_VERSION_INT(53,8,0)
++    int ret = avcodec_open2(ctx, _videoCodec, NULL);
++#else
+     int ret = avcodec_open(ctx, _videoCodec);
++#endif
+     if (ret < 0) {
+         boost::format msg = boost::format(_("libavcodec "
+                             "failed to initialize FFMPEG "
+@@ -529,7 +540,11 @@ get_buffer(AVCodecContext* avctx, AVFram
+ 
+     static unsigned int pic_num = 0;
+     pic->type = FF_BUFFER_TYPE_USER;
++#if LIBAVCODEC_VERSION_MAJOR < 54
++    // This field has been unused for longer but has been removed with
++    // libavcodec 54.
+     pic->age  = ++pic_num - surface->getPicNum();
++#endif
+     surface->setPicNum(pic_num);
+     return 0;
+ #endif
+--- gnash-0.8.11~git20120629.orig/libmedia/ffmpeg/ffmpegHeaders.h
++++ gnash-0.8.11~git20120629/libmedia/ffmpeg/ffmpegHeaders.h
+@@ -83,5 +83,15 @@ extern "C" {
+ #define HAVE_SWSCALE_H 1
+ #endif
+ 
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(52,94,1)
++#define AV_SAMPLE_FMT_NONE SAMPLE_FMT_NONE
++#define AV_SAMPLE_FMT_U8   SAMPLE_FMT_U8
++#define AV_SAMPLE_FMT_S16  SAMPLE_FMT_S16
++#define AV_SAMPLE_FMT_S32  SAMPLE_FMT_S32
++#define AV_SAMPLE_FMT_FLT  SAMPLE_FMT_FLT
++#define AV_SAMPLE_FMT_DBL  SAMPLE_FMT_DBL
++
++#define AVSampleFormat SampleFormat
++#endif
+ 
+ #endif // GNASH_MEDIA_FFMPEG_HEADERS_H
diff -Nru gnash-0.8.11~git20120629/debian/patches/series gnash-0.8.11~git20120629/debian/patches/series
--- gnash-0.8.11~git20120629/debian/patches/series	2012-06-30 02:35:58.000000000 +0200
+++ gnash-0.8.11~git20120629/debian/patches/series	2013-09-03 02:25:11.000000000 +0200
@@ -1,2 +1,5 @@
 00sensible
 01gprocessor
+02python-config
+03link-boost-system
+04libav9

Attachment: signature.asc
Description: Digital signature

Reply via email to