debdiff minidlna_1.1.2+dfsg-1.dsc minidlna_1.1.2+dfsg-1.1.dsc
diff -Nru minidlna-1.1.2+dfsg/debian/changelog 
minidlna-1.1.2+dfsg/debian/changelog
--- minidlna-1.1.2+dfsg/debian/changelog        2014-04-28 21:33:25.000000000 
+0100
+++ minidlna-1.1.2+dfsg/debian/changelog        2014-06-16 11:01:30.000000000 
+0100
@@ -1,3 +1,12 @@
+minidlna (1.1.2+dfsg-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTBFS with libav10.
+    Add 0012-Fix-FTBFS-with-libav10.patch from upstream.
+    Closes: #747813, #751011.
+
+ -- Anibal Monsalve Salazar <ani...@debian.org>  Mon, 16 Jun 2014 10:59:59 
+0100
+
 minidlna (1.1.2+dfsg-1) unstable; urgency=low
 
   * New upstream version (Closes: #711234)
diff -Nru minidlna-1.1.2+dfsg/debian/patches/0012-Fix-FTBFS-with-libav10.patch 
minidlna-1.1.2+dfsg/debian/patches/0012-Fix-FTBFS-with-libav10.patch
--- minidlna-1.1.2+dfsg/debian/patches/0012-Fix-FTBFS-with-libav10.patch        
1970-01-01 01:00:00.000000000 +0100
+++ minidlna-1.1.2+dfsg/debian/patches/0012-Fix-FTBFS-with-libav10.patch        
2014-06-16 10:30:32.000000000 +0100
@@ -0,0 +1,329 @@
+From eb4bb68691bc0cfeecf032bdfcaf0b499b9abb33 Mon Sep 17 00:00:00 2001
+From: Florian Will <florian.w...@gmail.com>
+Date: Thu, 15 May 2014 11:18:57 +0200
+Subject: [PATCH] Fix FTBFS with libav10
+
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747813
+
+Two upstream commits squashed into one:
+361bc3: metadata: add libavcodec > 54 compatibility
+05cde8: metadata: more libav10 compatibility changes
+---
+ libav.h    | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ metadata.c | 93 ++++++++++++++++----------------------------------------------
+ 2 files changed, 104 insertions(+), 70 deletions(-)
+
+diff --git a/libav.h b/libav.h
+index 4e53164..69680a9 100644
+--- a/libav.h
++++ b/libav.h
+@@ -78,7 +78,88 @@
+ #define AVMEDIA_TYPE_VIDEO CODEC_TYPE_VIDEO
+ #endif
+ 
++#if LIBAVCODEC_VERSION_INT <= ((51<<16)+(50<<8)+1)
++#define CODEC_ID_WMAPRO CODEC_ID_NONE
++#endif
++
++#if LIBAVCODEC_VERSION_MAJOR < 55
++#define AV_CODEC_ID_AAC CODEC_ID_AAC
++#define AV_CODEC_ID_AC3 CODEC_ID_AC3
++#define AV_CODEC_ID_ADPCM_IMA_QT CODEC_ID_ADPCM_IMA_QT
++#define AV_CODEC_ID_AMR_NB CODEC_ID_AMR_NB
++#define AV_CODEC_ID_DTS CODEC_ID_DTS
++#define AV_CODEC_ID_H264 CODEC_ID_H264
++#define AV_CODEC_ID_MP2 CODEC_ID_MP2
++#define AV_CODEC_ID_MP3 CODEC_ID_MP3
++#define AV_CODEC_ID_MPEG1VIDEO CODEC_ID_MPEG1VIDEO
++#define AV_CODEC_ID_MPEG2VIDEO CODEC_ID_MPEG2VIDEO
++#define AV_CODEC_ID_MPEG4 CODEC_ID_MPEG4
++#define AV_CODEC_ID_MSMPEG4V3 CODEC_ID_MSMPEG4V3
++#define AV_CODEC_ID_PCM_S16LE CODEC_ID_PCM_S16LE
++#define AV_CODEC_ID_VC1 CODEC_ID_VC1
++#define AV_CODEC_ID_WMAPRO CODEC_ID_WMAPRO
++#define AV_CODEC_ID_WMAV1 CODEC_ID_WMAV1
++#define AV_CODEC_ID_WMAV2 CODEC_ID_WMAV2
++#define AV_CODEC_ID_WMV3 CODEC_ID_WMV3
++#endif
++
+ #if LIBAVUTIL_VERSION_INT < ((50<<16)+(13<<8)+0)
+ #define av_strerror(x, y, z) snprintf(y, z, "%d", x)
+ #endif
+ 
++#if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(31<<8)+0)
++# if LIBAVUTIL_VERSION_INT < ((51<<16)+(5<<8)+0) && 
!defined(FF_API_OLD_METADATA2)
++#define AV_DICT_IGNORE_SUFFIX AV_METADATA_IGNORE_SUFFIX
++#define av_dict_get av_metadata_get
++typedef AVMetadataTag AVDictionaryEntry;
++# endif
++#endif
++
++static inline int
++lav_open(AVFormatContext **ctx, const char *filename)
++{
++      int ret;
++#if LIBAVFORMAT_VERSION_INT >= ((53<<16)+(17<<8)+0)
++      ret = avformat_open_input(ctx, filename, NULL, NULL);
++      if (ret == 0)
++              avformat_find_stream_info(*ctx, NULL);
++#else
++      ret = av_open_input_file(ctx, filename, NULL, 0, NULL);
++      if (ret == 0)
++              av_find_stream_info(*ctx);
++#endif
++      return ret;
++}
++
++static inline void
++lav_close(AVFormatContext *ctx)
++{
++#if LIBAVFORMAT_VERSION_INT >= ((53<<16)+(17<<8)+0)
++      avformat_close_input(&ctx);
++#else
++      av_close_input_file(ctx);
++#endif
++}
++
++static inline int
++lav_get_fps(AVStream *s)
++{
++#if LIBAVCODEC_VERSION_MAJOR < 54
++      if (s->r_frame_rate.den)
++              return s->r_frame_rate.num / s->r_frame_rate.den;
++#else
++      if (s->avg_frame_rate.den)
++              return s->avg_frame_rate.num / s->avg_frame_rate.den;
++#endif
++      return 0;
++}
++
++static inline int
++lav_get_interlaced(AVCodecContext *vc, AVStream *s)
++{
++#if LIBAVCODEC_VERSION_MAJOR < 54
++      return (vc->time_base.den ? (s->r_frame_rate.num / vc->time_base.den) : 
0);
++#else
++      return (vc->time_base.den ? (s->avg_frame_rate.num / vc->time_base.den) 
: 0);
++#endif
++}
+diff --git a/metadata.c b/metadata.c
+index dd6eae8..6f3f031 100644
+--- a/metadata.c
++++ b/metadata.c
+@@ -57,9 +57,8 @@
+ #define FLAG_RESOLUTION       0x00000400
+ #define FLAG_BITRATE  0x00000800
+ #define FLAG_FREQUENCY        0x00001000
+-#define FLAG_BPS      0x00002000
+-#define FLAG_CHANNELS 0x00004000
+-#define FLAG_ROTATION 0x00008000
++#define FLAG_CHANNELS 0x00002000
++#define FLAG_ROTATION 0x00004000
+ 
+ /* Audio profile flags */
+ enum audio_profiles {
+@@ -76,40 +75,6 @@ enum audio_profiles {
+       PROFILE_AUDIO_AMR
+ };
+ 
+-static inline int
+-lav_open(AVFormatContext **ctx, const char *filename)
+-{
+-      int ret;
+-#if LIBAVFORMAT_VERSION_INT >= ((53<<16)+(17<<8)+0)
+-      ret = avformat_open_input(ctx, filename, NULL, NULL);
+-      if (ret == 0)
+-              avformat_find_stream_info(*ctx, NULL);
+-#else
+-      ret = av_open_input_file(ctx, filename, NULL, 0, NULL);
+-      if (ret == 0)
+-              av_find_stream_info(*ctx);
+-#endif
+-      return ret;
+-}
+-
+-static inline void
+-lav_close(AVFormatContext *ctx)
+-{
+-#if LIBAVFORMAT_VERSION_INT >= ((53<<16)+(17<<8)+0)
+-      avformat_close_input(&ctx);
+-#else
+-      av_close_input_file(ctx);
+-#endif
+-}
+-
+-#if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(31<<8)+0)
+-# if LIBAVUTIL_VERSION_INT < ((51<<16)+(5<<8)+0) && 
!defined(FF_API_OLD_METADATA2)
+-#define AV_DICT_IGNORE_SUFFIX AV_METADATA_IGNORE_SUFFIX
+-#define av_dict_get av_metadata_get
+-typedef AVMetadataTag AVDictionaryEntry;
+-# endif
+-#endif
+-
+ /* This function shamelessly copied from libdlna */
+ #define MPEG_TS_SYNC_CODE 0x47
+ #define MPEG_TS_PACKET_LENGTH 188
+@@ -299,8 +264,6 @@ free_metadata(metadata_t *m, uint32_t flags)
+               free(m->bitrate);
+       if( flags & FLAG_FREQUENCY )
+               free(m->frequency);
+-      if( flags & FLAG_BPS )
+-              free(m->bps);
+       if( flags & FLAG_CHANNELS )
+               free(m->channels);
+       if( flags & FLAG_ROTATION )
+@@ -772,10 +735,10 @@ GetVideoMetadata(const char *path, char *name)
+               aac_object_type_t aac_type = AAC_INVALID;
+               switch( ac->codec_id )
+               {
+-                      case CODEC_ID_MP3:
++                      case AV_CODEC_ID_MP3:
+                               audio_profile = PROFILE_AUDIO_MP3;
+                               break;
+-                      case CODEC_ID_AAC:
++                      case AV_CODEC_ID_AAC:
+                               if( !ac->extradata_size ||
+                                   !ac->extradata )
+                               {
+@@ -816,12 +779,12 @@ GetVideoMetadata(const char *path, char *name)
+                                               break;
+                               }
+                               break;
+-                      case CODEC_ID_AC3:
+-                      case CODEC_ID_DTS:
++                      case AV_CODEC_ID_AC3:
++                      case AV_CODEC_ID_DTS:
+                               audio_profile = PROFILE_AUDIO_AC3;
+                               break;
+-                      case CODEC_ID_WMAV1:
+-                      case CODEC_ID_WMAV2:
++                      case AV_CODEC_ID_WMAV1:
++                      case AV_CODEC_ID_WMAV2:
+                               /* WMA Baseline: stereo, up to 48 KHz, up to 
192,999 bps */
+                               if ( ac->bit_rate <= 193000 )
+                                       audio_profile = PROFILE_AUDIO_WMA_BASE;
+@@ -829,31 +792,24 @@ GetVideoMetadata(const char *path, char *name)
+                               else if ( ac->bit_rate <= 385000 )
+                                       audio_profile = PROFILE_AUDIO_WMA_FULL;
+                               break;
+-                      #if LIBAVCODEC_VERSION_INT > ((51<<16)+(50<<8)+1)
+-                      case CODEC_ID_WMAPRO:
++                      case AV_CODEC_ID_WMAPRO:
+                               audio_profile = PROFILE_AUDIO_WMA_PRO;
+                               break;
+-                      #endif
+-                      case CODEC_ID_MP2:
++                      case AV_CODEC_ID_MP2:
+                               audio_profile = PROFILE_AUDIO_MP2;
+                               break;
+-                      case CODEC_ID_AMR_NB:
++                      case AV_CODEC_ID_AMR_NB:
+                               audio_profile = PROFILE_AUDIO_AMR;
+                               break;
+                       default:
+-                              if( (ac->codec_id >= CODEC_ID_PCM_S16LE) &&
+-                                  (ac->codec_id < CODEC_ID_ADPCM_IMA_QT) )
++                              if( (ac->codec_id >= AV_CODEC_ID_PCM_S16LE) &&
++                                  (ac->codec_id < AV_CODEC_ID_ADPCM_IMA_QT) )
+                                       audio_profile = PROFILE_AUDIO_PCM;
+                               else
+                                       DPRINTF(E_DEBUG, L_METADATA, "Unhandled 
audio codec [0x%X]\n", ac->codec_id);
+                               break;
+               }
+               xasprintf(&m.frequency, "%u", ac->sample_rate);
+-              #if LIBAVCODEC_VERSION_INT < (52<<16)
+-              xasprintf(&m.bps, "%u", ac->bits_per_sample);
+-              #else
+-              xasprintf(&m.bps, "%u", ac->bits_per_coded_sample);
+-              #endif
+               xasprintf(&m.channels, "%u", ac->channels);
+       }
+       if( vc )
+@@ -879,7 +835,7 @@ GetVideoMetadata(const char *path, char *name)
+               if( strcmp(ctx->iformat->name, "avi") == 0 )
+               {
+                       xasprintf(&m.mime, "video/x-msvideo");
+-                      if( vc->codec_id == CODEC_ID_MPEG4 )
++                      if( vc->codec_id == AV_CODEC_ID_MPEG4 )
+                       {
+                               fourcc[0] = vc->codec_tag     & 0xff;
+                               fourcc[1] = vc->codec_tag>>8  & 0xff;
+@@ -903,7 +859,7 @@ GetVideoMetadata(const char *path, char *name)
+ 
+               switch( vc->codec_id )
+               {
+-                      case CODEC_ID_MPEG1VIDEO:
++                      case AV_CODEC_ID_MPEG1VIDEO:
+                               if( strcmp(ctx->iformat->name, "mpeg") == 0 )
+                               {
+                                       if( (vc->width  == 352) &&
+@@ -914,7 +870,7 @@ GetVideoMetadata(const char *path, char *name)
+                                       xasprintf(&m.mime, "video/mpeg");
+                               }
+                               break;
+-                      case CODEC_ID_MPEG2VIDEO:
++                      case AV_CODEC_ID_MPEG2VIDEO:
+                               m.dlna_pn = malloc(64);
+                               off = sprintf(m.dlna_pn, "MPEG_");
+                               if( strcmp(ctx->iformat->name, "mpegts") == 0 )
+@@ -987,7 +943,7 @@ GetVideoMetadata(const char *path, char *name)
+                                       m.dlna_pn = NULL;
+                               }
+                               break;
+-                      case CODEC_ID_H264:
++                      case AV_CODEC_ID_H264:
+                               m.dlna_pn = malloc(128);
+                               off = sprintf(m.dlna_pn, "AVC_");
+ 
+@@ -1005,11 +961,8 @@ GetVideoMetadata(const char *path, char *name)
+                                                         vc->height * 
vc->sample_aspect_ratio.den,
+                                                         1024*1024);
+                                       }
+-                                      if 
(ctx->streams[video_stream]->r_frame_rate.den)
+-                                              fps = 
ctx->streams[video_stream]->r_frame_rate.num / 
ctx->streams[video_stream]->r_frame_rate.den;
+-                                      else
+-                                              fps = 0;
+-                                      interlaced = vc->time_base.den ? 
(ctx->streams[video_stream]->r_frame_rate.num / vc->time_base.den) : 0;
++                                      fps = 
lav_get_fps(ctx->streams[video_stream]);
++                                      interlaced = lav_get_interlaced(vc, 
ctx->streams[video_stream]);
+                                       if( ((((vc->width == 1920 || vc->width 
== 1440) && vc->height == 1080) ||
+                                             (vc->width == 720 && vc->height 
== 480)) && fps == 59 && interlaced) ||
+                                           ((vc->width == 1280 && vc->height 
== 720) && fps == 59 && !interlaced) )
+@@ -1298,7 +1251,7 @@ GetVideoMetadata(const char *path, char *name)
+                               }
+                               DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s 
is h.264\n", video_stream, basepath);
+                               break;
+-                      case CODEC_ID_MPEG4:
++                      case AV_CODEC_ID_MPEG4:
+                               fourcc[0] = vc->codec_tag     & 0xff;
+                               fourcc[1] = vc->codec_tag>>8  & 0xff;
+                               fourcc[2] = vc->codec_tag>>16 & 0xff;
+@@ -1361,7 +1314,7 @@ GetVideoMetadata(const char *path, char *name)
+                                       }
+                               }
+                               break;
+-                      case CODEC_ID_WMV3:
++                      case AV_CODEC_ID_WMV3:
+                               /* I'm not 100% sure this is correct, but it 
works on everything I could get my hands on */
+                               if( vc->extradata_size > 0 )
+                               {
+@@ -1370,7 +1323,7 @@ GetVideoMetadata(const char *path, char *name)
+                                       if( !((vc->extradata[0] >> 6) & 1) )
+                                               vc->profile = 0;
+                               }
+-                      case CODEC_ID_VC1:
++                      case AV_CODEC_ID_VC1:
+                               if( strcmp(ctx->iformat->name, "asf") != 0 )
+                               {
+                                       DPRINTF(E_DEBUG, L_METADATA, "Skipping 
DLNA parsing for non-ASF VC1 file %s\n", path);
+@@ -1469,7 +1422,7 @@ GetVideoMetadata(const char *path, char *name)
+                                       }
+                               }
+                               break;
+-                      case CODEC_ID_MSMPEG4V3:
++                      case AV_CODEC_ID_MSMPEG4V3:
+                               xasprintf(&m.mime, "video/x-msvideo");
+                       default:
+                               DPRINTF(E_DEBUG, L_METADATA, "Stream %d of %s 
is %s [type %d]\n",
+-- 
+1.9.1
diff -Nru minidlna-1.1.2+dfsg/debian/patches/series 
minidlna-1.1.2+dfsg/debian/patches/series
--- minidlna-1.1.2+dfsg/debian/patches/series   2014-04-28 21:33:35.000000000 
+0100
+++ minidlna-1.1.2+dfsg/debian/patches/series   2014-06-16 10:28:52.000000000 
+0100
@@ -9,3 +9,4 @@
 0009-Remove-warning-about-media_dir-from-minidlna.conf.patch
 0010-Use-var-cache-minidlna-as-the-default-db_dir.patch
 0011-Make-sure-the-database-is-closed-after-scanning.patch
+0012-Fix-FTBFS-with-libav10.patch

Attachment: signature.asc
Description: Digital signature



Reply via email to