tags 739303 + patch
tags 739303 + pending
thanks

Dear maintainer,

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

Regards.
diff -Nru gnash-0.8.11~git20140121+dfsg/debian/changelog gnash-0.8.11~git20140121+dfsg/debian/changelog
--- gnash-0.8.11~git20140121+dfsg/debian/changelog	2014-01-21 18:58:17.000000000 +0000
+++ gnash-0.8.11~git20140121+dfsg/debian/changelog	2014-03-19 00:50:43.000000000 +0000
@@ -1,3 +1,10 @@
+gnash (0.8.11~git20140121+dfsg-1.1) experimental; urgency=low
+
+  * Non-maintainer upload.
+  * Add libav10.patch and compile against libav10 (Closes: #739303)
+
+ -- Reinhard Tartler <siret...@tauware.de>  Wed, 19 Mar 2014 00:50:40 +0000
+
 gnash (0.8.11~git20140121+dfsg-1) unstable; urgency=medium
 
   * Git snapshot.
diff -Nru gnash-0.8.11~git20140121+dfsg/debian/control gnash-0.8.11~git20140121+dfsg/debian/control
--- gnash-0.8.11~git20140121+dfsg/debian/control	2014-01-21 18:58:17.000000000 +0000
+++ gnash-0.8.11~git20140121+dfsg/debian/control	2014-03-19 00:50:04.000000000 +0000
@@ -20,9 +20,9 @@
                kdelibs5-dev,
                libagg-dev,
                libatk1.0-dev,
-               libavcodec-dev,
-               libavformat-dev,
-               libavresample-dev,
+               libavcodec-dev (>= 6:10~),
+               libavformat-dev (>= 6:10~),
+               libavresample-dev (>= 6:10~),
                libboost-date-time-dev,
                libboost-dev,
                libboost-iostreams-dev,
@@ -44,7 +44,7 @@
                libsdl1.2-dev,
                libspeex-dev,
                libspeexdsp-dev,
-               libswscale-dev,
+               libswscale-dev (>= 6:10~),
                libtool,
                libxmu-dev,
                libxv-dev,
diff -Nru gnash-0.8.11~git20140121+dfsg/debian/patches/libav10.patch gnash-0.8.11~git20140121+dfsg/debian/patches/libav10.patch
--- gnash-0.8.11~git20140121+dfsg/debian/patches/libav10.patch	1970-01-01 00:00:00.000000000 +0000
+++ gnash-0.8.11~git20140121+dfsg/debian/patches/libav10.patch	2014-03-19 00:49:30.000000000 +0000
@@ -0,0 +1,239 @@
+From a3180f2a679c9724d1ca954d63224063defb5ff5 Mon Sep 17 00:00:00 2001
+From: Gabriele Giacone <1o5g4...@gmail.com>
+Date: Tue, 25 Feb 2014 16:35:20 +0000
+Subject: Support libav 10.
+Origin: http://git.savannah.gnu.org/cgit/gnash.git/patch/?id=a3180f2a679c9724d1ca954d63224063defb5ff5
+
+---
+diff --git a/libmedia/ffmpeg/AudioDecoderFfmpeg.cpp b/libmedia/ffmpeg/AudioDecoderFfmpeg.cpp
+index 653e8a2..ce51e88 100644
+--- a/libmedia/ffmpeg/AudioDecoderFfmpeg.cpp
++++ b/libmedia/ffmpeg/AudioDecoderFfmpeg.cpp
+@@ -89,17 +89,17 @@ void AudioDecoderFfmpeg::setup(SoundInfo& info)
+ 
+     switch(info.getFormat()) {
+         case AUDIO_CODEC_RAW:
+-            codec_id = CODEC_ID_PCM_U16LE;
++            codec_id = AV_CODEC_ID_PCM_U16LE;
+             break;
+         case AUDIO_CODEC_ADPCM:
+-            codec_id = CODEC_ID_ADPCM_SWF;
++            codec_id = AV_CODEC_ID_ADPCM_SWF;
+             break;
+         case AUDIO_CODEC_MP3:
+-            codec_id = CODEC_ID_MP3;
++            codec_id = AV_CODEC_ID_MP3;
+             _needsParsing=true;
+             break;
+         case AUDIO_CODEC_AAC:
+-            codec_id = CODEC_ID_AAC;
++            codec_id = AV_CODEC_ID_AAC;
+             _needsParsing=true;
+             break;
+         default:
+@@ -157,10 +157,10 @@ void AudioDecoderFfmpeg::setup(SoundInfo& info)
+     /// @todo do this only if !_needsParsing ?
+     switch (_audioCodecCtx->codec->id)
+     {
+-            case CODEC_ID_MP3:
++            case AV_CODEC_ID_MP3:
+                 break;
+ 
+-            case CODEC_ID_PCM_U16LE:
++            case AV_CODEC_ID_PCM_U16LE:
+                 _audioCodecCtx->channels = (info.isStereo() ? 2 : 1);
+                 _audioCodecCtx->sample_rate = info.getSampleRate();
+                 _audioCodecCtx->sample_fmt = AV_SAMPLE_FMT_S16; // ?! arbitrary ?
+@@ -184,7 +184,7 @@ void AudioDecoderFfmpeg::setup(const AudioInfo& info)
+ #endif
+     avcodec_register_all();// change this to only register need codec?
+ 
+-    enum CODECID codec_id = CODEC_ID_NONE;
++    enum CODECID codec_id = AV_CODEC_ID_NONE;
+ 
+     if (info.type == CODEC_TYPE_CUSTOM)
+     {
+@@ -198,22 +198,22 @@ void AudioDecoderFfmpeg::setup(const AudioInfo& info)
+             case AUDIO_CODEC_UNCOMPRESSED:
+             case AUDIO_CODEC_RAW:
+                 if (info.sampleSize == 2) {
+-                    codec_id = CODEC_ID_PCM_S16LE;
++                    codec_id = AV_CODEC_ID_PCM_S16LE;
+                 } else {
+-                    codec_id = CODEC_ID_PCM_S8;
++                    codec_id = AV_CODEC_ID_PCM_S8;
+                 }
+                 break;
+ 
+             case AUDIO_CODEC_ADPCM:
+-                codec_id = CODEC_ID_ADPCM_SWF;
++                codec_id = AV_CODEC_ID_ADPCM_SWF;
+                 break;
+ 
+             case AUDIO_CODEC_MP3:
+-                codec_id = CODEC_ID_MP3;
++                codec_id = AV_CODEC_ID_MP3;
+                 break;
+ 
+             case AUDIO_CODEC_AAC:
+-                codec_id = CODEC_ID_AAC;
++                codec_id = AV_CODEC_ID_AAC;
+                 break;
+ 
+ #ifdef FFMPEG_NELLYMOSER
+@@ -221,7 +221,7 @@ void AudioDecoderFfmpeg::setup(const AudioInfo& info)
+             //       (but probably not Ffmpeg's fault, he said)
+             //       I'd like to take a look at the testcase --strk
+             case AUDIO_CODEC_NELLYMOSER:
+-                codec_id = CODEC_ID_NELLYMOSER;
++                codec_id = AV_CODEC_ID_NELLYMOSER;
+                 break;
+ #endif
+ 
+@@ -292,15 +292,15 @@ void AudioDecoderFfmpeg::setup(const AudioInfo& info)
+     //       some of the variables
+     switch (codec_id)
+     {
+-            case CODEC_ID_MP3:
++            case AV_CODEC_ID_MP3:
+                 break;
+ 
+-            case CODEC_ID_PCM_S8:
++            case AV_CODEC_ID_PCM_S8:
+                 // Either FFMPEG or the parser are getting this wrong.
+                 _audioCodecCtx->sample_rate = info.sampleRate / 2;
+                 _audioCodecCtx->channels = (info.stereo ? 2 : 1);
+                 break;
+-            case CODEC_ID_PCM_S16LE:
++            case AV_CODEC_ID_PCM_S16LE:
+                 _audioCodecCtx->channels = (info.stereo ? 2 : 1);
+                 _audioCodecCtx->sample_rate = info.sampleRate;
+                 break;
+@@ -500,7 +500,7 @@ AudioDecoderFfmpeg::decodeFrame(const boost::uint8_t* input,
+     av_init_packet(&pkt);
+     pkt.data = const_cast<uint8_t*>(input);
+     pkt.size = inputSize;
+-    ScopedPtr<AVFrame> frm ( avcodec_alloc_frame(), av_free );
++    ScopedPtr<AVFrame> frm ( FRAMEALLOC(), av_free );
+     if (!frm.get()) {
+         log_error(_("failed to allocate frame."));
+         return NULL;
+diff --git a/libmedia/ffmpeg/MediaParserFfmpeg.cpp b/libmedia/ffmpeg/MediaParserFfmpeg.cpp
+index f7cdf2e..a90eef9 100644
+--- a/libmedia/ffmpeg/MediaParserFfmpeg.cpp
++++ b/libmedia/ffmpeg/MediaParserFfmpeg.cpp
+@@ -492,7 +492,7 @@ MediaParserFfmpeg::initializeParser()
+         boost::uint16_t width = _videoStream->codec->width;
+         boost::uint16_t height = _videoStream->codec->height;
+         boost::uint16_t frameRate = static_cast<boost::uint16_t>(
+-                as_double(_videoStream->r_frame_rate));
++                as_double(_videoStream->avg_frame_rate));
+ #if !defined(HAVE_LIBAVFORMAT_AVFORMAT_H) && !defined(HAVE_FFMPEG_AVCODEC_H)
+         boost::uint64_t duration = _videoStream->codec_info_duration;
+ #else
+diff --git a/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp b/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
+index 5c850b8..1150dbb 100644
+--- a/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
++++ b/libmedia/ffmpeg/VideoDecoderFfmpeg.cpp
+@@ -131,7 +131,7 @@ VideoDecoderFfmpeg::VideoDecoderFfmpeg(const VideoInfo& info)
+     _videoCodec(NULL)
+ {
+ 
+-    CODECID codec_id = CODEC_ID_NONE;
++    CODECID codec_id = AV_CODEC_ID_NONE;
+ 
+     if ( info.type == CODEC_TYPE_FLASH )
+     {
+@@ -140,7 +140,7 @@ VideoDecoderFfmpeg::VideoDecoderFfmpeg(const VideoInfo& info)
+     else codec_id = static_cast<CODECID>(info.codec);
+ 
+     // This would cause nasty segfaults.
+-    if (codec_id == CODEC_ID_NONE)
++    if (codec_id == AV_CODEC_ID_NONE)
+     {
+         boost::format msg = boost::format(_("Cannot find suitable "
+                 "decoder for flash codec %d")) % info.codec;
+@@ -266,7 +266,7 @@ VideoDecoderFfmpeg::frameToImage(AVCodecContext* srcCtx,
+     const int height = srcCtx->height;
+ 
+ #ifdef FFMPEG_VP6A
+-    PixelFormat pixFmt = (srcCtx->codec->id == CODEC_ID_VP6A) ?
++    PixelFormat pixFmt = (srcCtx->codec->id == AV_CODEC_ID_VP6A) ?
+         PIX_FMT_RGBA : PIX_FMT_RGB24;
+ #else 
+     PixelFormat pixFmt = PIX_FMT_RGB24;
+@@ -368,7 +368,7 @@ VideoDecoderFfmpeg::decode(const boost::uint8_t* input,
+ 
+     std::auto_ptr<image::GnashImage> ret;
+ 
+-    AVFrame* frame = avcodec_alloc_frame();
++    AVFrame* frame = FRAMEALLOC();
+     if ( ! frame ) {
+         log_error(_("Out of memory while allocating avcodec frame"));
+         return ret;
+@@ -436,23 +436,23 @@ VideoDecoderFfmpeg::flashToFfmpegCodec(videoCodecType format)
+         // Find the decoder and init the parser
+         switch(format) {
+                 case VIDEO_CODEC_H264:
+-                         return CODEC_ID_H264;
++                         return AV_CODEC_ID_H264;
+                 case VIDEO_CODEC_H263:
+-			 // CODEC_ID_H263I didn't work with Lavc51.50.0
++			 // AV_CODEC_ID_H263I didn't work with Lavc51.50.0
+ 			 // and NetStream-SquareTest.swf
+-                         return CODEC_ID_FLV1;
++                         return AV_CODEC_ID_FLV1;
+                 case VIDEO_CODEC_VP6:
+-                        return CODEC_ID_VP6F;
++                        return AV_CODEC_ID_VP6F;
+ #ifdef FFMPEG_VP6A
+                 case VIDEO_CODEC_VP6A:
+-	                return CODEC_ID_VP6A;
++	                return AV_CODEC_ID_VP6A;
+ #endif
+                 case VIDEO_CODEC_SCREENVIDEO:
+-                        return CODEC_ID_FLASHSV;
++                        return AV_CODEC_ID_FLASHSV;
+                 default:
+                         log_error(_("Unsupported video codec %d"),
+                                 static_cast<int>(format));
+-                        return CODEC_ID_NONE;
++                        return AV_CODEC_ID_NONE;
+         }
+ }
+ 
+diff --git a/libmedia/ffmpeg/ffmpegHeaders.h b/libmedia/ffmpeg/ffmpegHeaders.h
+index 5cd3785..0741777 100644
+--- a/libmedia/ffmpeg/ffmpegHeaders.h
++++ b/libmedia/ffmpeg/ffmpegHeaders.h
+@@ -96,6 +96,28 @@ extern "C" {
+ #define AVSampleFormat SampleFormat
+ #endif
+ 
++// till Debian libav 10~beta1
++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,34,1)
++#define AV_CODEC_ID_AAC CODEC_ID_AAC
++#define AV_CODEC_ID_ADPCM_SWF CODEC_ID_ADPCM_SWF
++#define AV_CODEC_ID_FLASHSV CODEC_ID_FLASHSV
++#define AV_CODEC_ID_FLV1 CODEC_ID_FLV1
++#define AV_CODEC_ID_H264 CODEC_ID_H264
++#define AV_CODEC_ID_MP3 CODEC_ID_MP3
++#define AV_CODEC_ID_NELLYMOSER CODEC_ID_NELLYMOSER
++#define AV_CODEC_ID_NONE CODEC_ID_NONE
++#define AV_CODEC_ID_PCM_S8 CODEC_ID_PCM_S8
++#define AV_CODEC_ID_PCM_S16LE CODEC_ID_PCM_S16LE
++#define AV_CODEC_ID_PCM_U16LE CODEC_ID_PCM_U16LE
++#define AV_CODEC_ID_VP6A CODEC_ID_VP6A
++#define AV_CODEC_ID_VP6F CODEC_ID_VP6F
++
++#define avg_frame_rate r_frame_rate
++#define FRAMEALLOC avcodec_alloc_frame
++#else
++#define FRAMEALLOC av_frame_alloc
++#endif
++
+ #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,18,102)
+ #define CODECID AVCodecID
+ #else
+--
+cgit v0.9.0.2
diff -Nru gnash-0.8.11~git20140121+dfsg/debian/patches/series gnash-0.8.11~git20140121+dfsg/debian/patches/series
--- gnash-0.8.11~git20140121+dfsg/debian/patches/series	2014-01-21 18:58:17.000000000 +0000
+++ gnash-0.8.11~git20140121+dfsg/debian/patches/series	2014-03-19 00:47:48.000000000 +0000
@@ -1,2 +1,3 @@
 00sensible
 01sourceless
+libav10.patch

Reply via email to