[SCM] dvbcut/master: Add patch to build against Libav 0.7, Thanks to Fabrice Coutadeur <fabricesp at ubuntu.com>, Closes: #632415

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sat Jul 2 09:07:08 UTC 2011


The following commit has been merged in the master branch:
commit f5821adc96c468b9070abf02c7302f3895fcae84
Author: Reinhard Tartler <siretart at tauware.de>
Date:   Sat Jul 2 10:55:39 2011 +0200

    Add patch to build against Libav 0.7, Thanks to Fabrice Coutadeur <fabricesp at ubuntu.com>, Closes: #632415

diff --git a/debian/patches/fix-ftbfs-libav0.7.patch b/debian/patches/fix-ftbfs-libav0.7.patch
new file mode 100644
index 0000000..41ae1b4
--- /dev/null
+++ b/debian/patches/fix-ftbfs-libav0.7.patch
@@ -0,0 +1,112 @@
+Description: fix FTBFS with libav 0.7 by replacing deprecated functions with
+ their substitute.
+Author: Fabrice Coutadeur <fabricesp at ubuntu.com>
+Bug-Debian: http://bugs.debian.org/632415
+Forwarded: no
+
+--- dvbcut-0.5.4+svn146.orig/src/lavfmuxer.h
++++ dvbcut-0.5.4+svn146/src/lavfmuxer.h
+@@ -73,7 +73,7 @@ public:
+     avp.dts=dts;
+     avp.stream_index=st[str].stream_index;
+     if (flags & MUXER_FLAG_KEY)
+-      avp.flags |= PKT_FLAG_KEY;
++      avp.flags |= AV_PKT_FLAG_KEY;
+ 
+     int rv=av_interleaved_write_frame(avfc,&avp);
+ 
+--- dvbcut-0.5.4+svn146.orig/src/lavfmuxer.cpp
++++ dvbcut-0.5.4+svn146/src/lavfmuxer.cpp
+@@ -34,12 +34,12 @@ extern "C" {
+ lavfmuxer::lavfmuxer(const char *format, uint32_t audiostreammask, mpgfile &mpg, const char *filename)
+     : muxer(), avfc(0), fileopened(false)
+   {
+-  fmt = guess_format(format, NULL, NULL);
++  fmt = av_guess_format(format, NULL, NULL);
+   if (!fmt) {
+     return;
+     }
+ 
+-  avfc=av_alloc_format_context();
++  avfc=avformat_alloc_context();
+   if (!avfc)
+     return;
+ 
+@@ -73,7 +73,7 @@ lavfmuxer::lavfmuxer(const char *format,
+         av_free(s->codec);
+       s->codec = avcodec_alloc_context();
+       avcodec_get_context_defaults(s->codec);
+-      s->codec->codec_type=CODEC_TYPE_AUDIO;
++      s->codec->codec_type=AVMEDIA_TYPE_AUDIO;
+       s->codec->codec_id = (mpg.getstreamtype(astr)==streamtype::ac3audio) ?
+ 	CODEC_ID_AC3 : CODEC_ID_MP2;
+       s->codec->rc_buffer_size = 224*1024*8;
+@@ -92,6 +92,14 @@ lavfmuxer::lavfmuxer(const char *format,
+ 	    int16_t samples[AVCODEC_MAX_AUDIO_FRAME_SIZE/sizeof(int16_t)];
+ 	    int frame_size=sizeof(samples);
+ 	    //fprintf(stderr, "** decode audio size=%d\n", sd->inbytes());
++#if LIBAVCODEC_VERSION_INT > ((52<<16)+(25<<8)+0)
++	    AVPacket pkt;
++ 	    av_init_packet( &pkt );
++	    pkt.data = (uint8_t*) sd->getdata();
++	    pkt.size = sd->inbytes();
++	    avcodec_decode_audio3
++	      (s->codec,samples,&frame_size, &pkt);
++#else
+ #if LIBAVCODEC_VERSION_INT >= ((52<<16)+(0<<8)+0)
+ 	    avcodec_decode_audio2
+ #else
+@@ -100,6 +108,7 @@ lavfmuxer::lavfmuxer(const char *format,
+ 	      (s->codec,samples,&frame_size,
+ 	       (uint8_t*) sd->getdata(),sd->inbytes());
+ 	    avcodec_close(s->codec);
++#endif
+ 	  }
+ 	  break;
+ 	}
+--- dvbcut-0.5.4+svn146.orig/src/mpgfile.cpp
++++ dvbcut-0.5.4+svn146/src/mpgfile.cpp
+@@ -159,8 +159,17 @@ void mpgfile::decodegop(int start, int s
+       while (decodebytes>0)
+       {
+         frameFinished=0;
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52,23,0)
++        AVPacket pkt;
++        av_init_packet( &pkt );
++        pkt.data = (uint8_t*) data;
++        pkt.size = decodebytes;
++        int bytesDecoded=avcodec_decode_video2( S->avcc, avf,
++                                        &frameFinished, &pkt );
++#else
+         int bytesDecoded=avcodec_decode_video(S->avcc, avf, &frameFinished,
+                                               (uint8_t*) data, decodebytes);
++#endif
+         if (bytesDecoded<0)
+         {
+           fprintf(stderr,"libavcodec error while decoding frame #%d\n",pic);
+@@ -199,7 +208,16 @@ void mpgfile::decodegop(int start, int s
+   if (pic < stop)
+   {
+     int frameFinished=0;
++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(52,23,0)
++    AVPacket pkt;
++    av_init_packet( &pkt );
++    pkt.data = NULL;
++    pkt.size = 0;
++    avcodec_decode_video2( S->avcc, avf,
++                                        &frameFinished, &pkt );
++#else
+     avcodec_decode_video(S->avcc, avf, &frameFinished, NULL, 0);
++#endif
+     if (frameFinished)
+     {
+       if (last_cpn!=avf->coded_picture_number)
+@@ -246,7 +264,7 @@ void mpgfile::initcodeccontexts(int vid)
+     stream *S=&s[VIDEOSTREAM];
+     S->id=vid;
+     S->allocavcc();
+-    S->avcc->codec_type=CODEC_TYPE_VIDEO;
++    S->avcc->codec_type=AVMEDIA_TYPE_VIDEO;
+     S->avcc->codec_id=CODEC_ID_MPEG2VIDEO;
+     S->dec=avcodec_find_decoder(CODEC_ID_MPEG2VIDEO);
+     S->enc=avcodec_find_encoder(CODEC_ID_MPEG2VIDEO);
diff --git a/debian/patches/series b/debian/patches/series
index eff59f7..ac70e1e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 fix-ftbfs-gcc4.6.patch
 port-to-qt4.patch
+fix-ftbfs-libav0.7.patch

-- 
dvbcut packaging



More information about the pkg-multimedia-commits mailing list