Your message dated Tue, 03 Nov 2015 07:33:44 +0000
with message-id <e1ztw6c-0006l8...@franck.debian.org>
and subject line Bug#803824: fixed in harvid 0.8.0-3
has caused the Debian Bug report #803824,
regarding harvid: FTBFS with FFmpeg 2.9
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
803824: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803824
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: harvid
Version: 0.8.0-2
Severity: important
Tags: patch
User: pkg-multimedia-maintainers@lists.alioth.debian.org
Usertags: ffmpeg2.9

Dear Maintainer,

your package fails to build with the upcoming ffmpeg 2.9.
This bug will become release-critical at some point when the
ffmpeg2.9 transition gets closer.

Attached is a patch replacing the deprecated functionality.
It also works with ffmpeg 2.8.
Please apply this patch and forward it upstream, if necessary.

These changes have little regression potential.

Best regards,
Andreas

diff --git a/debian/patches/ffmpeg_2.9.patch b/debian/patches/ffmpeg_2.9.patch
new file mode 100644
index 0000000..04de003
--- /dev/null
+++ b/debian/patches/ffmpeg_2.9.patch
@@ -0,0 +1,299 @@
+Description: Replace deprecated FFmpeg API
+Author: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
+Last-Update: <2015-11-02>
+
+--- harvid-0.8.0.orig/libharvid/decoder_ctrl.c
++++ harvid-0.8.0/libharvid/decoder_ctrl.c
+@@ -29,7 +29,7 @@
+ #include "ffcompat.h"
+ #include "dlog.h"
+ 
+-#define DEFAULT_PIX_FMT (PIX_FMT_RGB24) // TODO global default
++#define DEFAULT_PIX_FMT (AV_PIX_FMT_RGB24) // TODO global default
+ 
+ //#define HASH_EMIT_KEYS 3
+ #define HASH_FUNCTION HASH_SAX
+@@ -104,15 +104,15 @@ static inline int my_open_movie(void **v
+   }
+   ff_create(vd);
+   assert (
+-         render_fmt == PIX_FMT_YUV420P
+-      || render_fmt == PIX_FMT_YUV440P
+-      || render_fmt == PIX_FMT_YUYV422
+-      || render_fmt == PIX_FMT_UYVY422
+-      || render_fmt == PIX_FMT_RGB24
+-      || render_fmt == PIX_FMT_BGR24
+-      || render_fmt == PIX_FMT_RGBA
+-      || render_fmt == PIX_FMT_ARGB
+-      || render_fmt == PIX_FMT_BGRA
++         render_fmt == AV_PIX_FMT_YUV420P
++      || render_fmt == AV_PIX_FMT_YUV440P
++      || render_fmt == AV_PIX_FMT_YUYV422
++      || render_fmt == AV_PIX_FMT_UYVY422
++      || render_fmt == AV_PIX_FMT_RGB24
++      || render_fmt == AV_PIX_FMT_BGR24
++      || render_fmt == AV_PIX_FMT_RGBA
++      || render_fmt == AV_PIX_FMT_ARGB
++      || render_fmt == AV_PIX_FMT_BGRA
+       );
+ 
+   if (!ff_open_movie (*vd, fn, render_fmt)) {
+@@ -144,7 +144,7 @@ static inline void my_get_info_canonical
+ static JVOBJECT *newjvo (JVOBJECT *jvo, pthread_mutex_t *appendlock) {
+   debugmsg(DEBUG_DCTL, "DCTL: newjvo() allocated new decoder object\n");
+   JVOBJECT *n = calloc(1, sizeof(JVOBJECT));
+-  n->fmt = PIX_FMT_NONE;
++  n->fmt = AV_PIX_FMT_NONE;
+   n->frame = -1;
+   pthread_mutex_init(&n->lock, NULL);
+   JVOBJECT *cptr = jvo;
+@@ -175,8 +175,8 @@ static JVOBJECT *testjvd(JVOBJECT *jvo,
+     if (!(cptr->flags&VOF_VALID) || cptr->id != id) {
+       continue;
+     }
+-    if (fmt != PIX_FMT_NONE && cptr->fmt != fmt
+-        && cptr->fmt != PIX_FMT_NONE
++    if (fmt != AV_PIX_FMT_NONE && cptr->fmt != fmt
++        && cptr->fmt != AV_PIX_FMT_NONE
+         ) {
+       continue;
+     }
+@@ -324,7 +324,7 @@ static int clearjvo(JVD *jvd, int f, int
+       my_destroy(&cptr->decoder);
+       cptr->decoder = NULL;
+       cptr->flags &= ~VOF_OPEN;
+-      cptr->fmt = PIX_FMT_NONE;
++      cptr->fmt = AV_PIX_FMT_NONE;
+     }
+ 
+     hashref_delete_jvo(jvd, cptr);
+@@ -410,7 +410,7 @@ static JVOBJECT *getjvo(JVD *jvd) {
+         if (cptr->flags&(VOF_OPEN)) {
+           my_destroy(&cptr->decoder); // close it.
+           cptr->decoder = NULL; // not really need..
+-          cptr->fmt = PIX_FMT_NONE;
++          cptr->fmt = AV_PIX_FMT_NONE;
+         }
+ 
+         hashref_delete_jvo(jvd, cptr);
+@@ -563,7 +563,7 @@ static JVOBJECT *new_video_object(JVD *j
+ 
+ 
+   jvo->id = id;
+-  jvo->fmt = fmt == PIX_FMT_NONE ? DEFAULT_PIX_FMT : fmt;
++  jvo->fmt = fmt == AV_PIX_FMT_NONE ? DEFAULT_PIX_FMT : fmt;
+   jvo->frame = -1;
+   jvo->flags |= VOF_VALID;
+ 
+@@ -619,7 +619,7 @@ static void * dctrl_get_decoder(void *p,
+    * use it IFF frame == -1  (ie. non-blocking info lookups) */
+   if (frame < 0) {
+     pthread_rwlock_rdlock(&jvd->lock_jdh);
+-    if (fmt == PIX_FMT_NONE) {
++    if (fmt == AV_PIX_FMT_NONE) {
+       HASH_FIND(hhi, jvd->jvi, &id, sizeof(unsigned short), jvo);
+     } else {
+       const JVOBJECT jvt = {id, fmt, 0};
+@@ -670,7 +670,7 @@ static void * dctrl_get_decoder(void *p,
+       jvo->lru = time(NULL);
+       pthread_mutex_unlock(&jvo->lock);
+ 
+-      if (fmt == PIX_FMT_NONE) fmt = DEFAULT_PIX_FMT;
++      if (fmt == AV_PIX_FMT_NONE) fmt = DEFAULT_PIX_FMT;
+ 
+       if (!my_open_movie(&jvo->decoder, get_fn(jvd, jvo->id), fmt)) {
+         pthread_mutex_lock(&jvo->lock);
+@@ -798,7 +798,7 @@ int dctrl_decode(void *p, unsigned short
+ 
+ int dctrl_get_info(void *p, unsigned short id, VInfo *i) {
+   int err = 0;
+-  JVOBJECT *jvo = (JVOBJECT*) dctrl_get_decoder(p, id, PIX_FMT_NONE, -1, &err);
++  JVOBJECT *jvo = (JVOBJECT*) dctrl_get_decoder(p, id, AV_PIX_FMT_NONE, -1, &err);
+   if (!jvo) return err;
+   my_get_info(jvo->decoder, i);
+   jvo->hitcount_info++;
+--- harvid-0.8.0.orig/libharvid/ffdecoder.c
++++ harvid-0.8.0/libharvid/ffdecoder.c
+@@ -103,7 +103,7 @@ static int ff_getbuffersize(void *ptr, s
+ 
+ static void render_empty_frame(ffst *ff, uint8_t* buf, int w, int h, int xoff, int ys) {
+   switch (ff->render_fmt) {
+-    case PIX_FMT_UYVY422:
++    case AV_PIX_FMT_UYVY422:
+       {
+ 	int i;
+ 	for (i = 0; i < w*h*2; i += 2) {
+@@ -111,7 +111,7 @@ static void render_empty_frame(ffst *ff,
+ 	}
+       }
+       break;
+-    case PIX_FMT_YUYV422:
++    case AV_PIX_FMT_YUYV422:
+       {
+ 	int i;
+ 	for (i = 0; i < w*h*2; i += 2) {
+@@ -119,25 +119,25 @@ static void render_empty_frame(ffst *ff,
+ 	}
+       }
+       break;
+-    case PIX_FMT_YUV420P:
++    case AV_PIX_FMT_YUV420P:
+       {
+ 	size_t Ylen = w * h;
+ 	memset(buf, 0, Ylen);
+ 	memset(buf+Ylen, 0x80, Ylen/2);
+       }
+       break;
+-    case PIX_FMT_YUV440P:
++    case AV_PIX_FMT_YUV440P:
+       {
+ 	size_t Ylen = w * h;
+ 	memset(buf, 0, Ylen);
+ 	memset(buf+Ylen, 0x80, Ylen);
+       }
+       break;
+-    case PIX_FMT_BGR24:
+-    case PIX_FMT_RGB24:
+-    case PIX_FMT_RGBA:
+-    case PIX_FMT_BGRA:
+-    case PIX_FMT_ARGB:
++    case AV_PIX_FMT_BGR24:
++    case AV_PIX_FMT_RGB24:
++    case AV_PIX_FMT_RGBA:
++    case AV_PIX_FMT_BGRA:
++    case AV_PIX_FMT_ARGB:
+       memset(buf, 0, ff_getbuffersize(ff, NULL));
+       break;
+     default:
+@@ -148,8 +148,8 @@ static void render_empty_frame(ffst *ff,
+ #if 1 // draw cross
+   int x,y;
+   switch (ff->render_fmt) {
+-    case PIX_FMT_YUV420P:
+-    case PIX_FMT_YUV440P:
++    case AV_PIX_FMT_YUV420P:
++    case AV_PIX_FMT_YUV440P:
+       for (x = 0, y = 0; x < w-1; x++, y = h * x / w) {
+ 	int off = (x + w * y);
+ 	buf[off]=127; buf[off+1]=127;
+@@ -157,8 +157,8 @@ static void render_empty_frame(ffst *ff,
+ 	buf[off]=127; buf[off+1]=127;
+       }
+       break;
+-    case PIX_FMT_YUYV422:
+-    case PIX_FMT_UYVY422:
++    case AV_PIX_FMT_YUYV422:
++    case AV_PIX_FMT_UYVY422:
+       for (x = 0, y = 0; x < w-1; x++, y = h * x / w) {
+ 	int off = (x + w * y) * 2;
+ 	buf[off] = 127; buf[off+1] = 127;
+@@ -166,8 +166,8 @@ static void render_empty_frame(ffst *ff,
+ 	buf[off] = 127; buf[off+1] = 127;
+       }
+       break;
+-    case PIX_FMT_RGB24:
+-    case PIX_FMT_BGR24:
++    case AV_PIX_FMT_RGB24:
++    case AV_PIX_FMT_BGR24:
+       for (x = 0, y = 0; x < w-1; x++, y = h * x / w) {
+ 	int off = 3 * (x + w * y);
+ 	buf[off]=255; buf[off+1]=255; buf[off+2]=255;
+@@ -175,11 +175,11 @@ static void render_empty_frame(ffst *ff,
+ 	buf[off]=255; buf[off+1]=255; buf[off+2]=255;
+       }
+       break;
+-    case PIX_FMT_RGBA:
+-    case PIX_FMT_BGRA:
+-    case PIX_FMT_ARGB:
++    case AV_PIX_FMT_RGBA:
++    case AV_PIX_FMT_BGRA:
++    case AV_PIX_FMT_ARGB:
+       {
+-      const int O = (ff->render_fmt == PIX_FMT_ARGB) ? 1 : 0;
++      const int O = (ff->render_fmt == AV_PIX_FMT_ARGB) ? 1 : 0;
+       for (x = 0, y = 0; x < w-1; x++, y = h * x / w) {
+ 	int off = 4 * (x + w * y) + O;
+ 	buf[off]=255; buf[off+1]=255; buf[off+2]=255;
+@@ -726,7 +726,7 @@ void ff_get_info_canonical(void *ptr, VI
+ 
+ void ff_create(void **ff) {
+   (*((ffst**)ff)) = (ffst*) calloc(1, sizeof(ffst));
+-  (*((ffst**)ff))->render_fmt = PIX_FMT_RGB24;
++  (*((ffst**)ff))->render_fmt = AV_PIX_FMT_RGB24;
+   (*((ffst**)ff))->want_ignstart = 0;
+   (*((ffst**)ff))->want_genpts = 0;
+   (*((ffst**)ff))->packet.data = NULL;
+@@ -769,25 +769,25 @@ void ff_resize(void *ptr, int w, int h,
+ 
+ const char * ff_fmt_to_text(int fmt) {
+   switch (fmt) {
+-    case PIX_FMT_NONE:
++    case AV_PIX_FMT_NONE:
+       return "-";
+-    case PIX_FMT_BGR24:
++    case AV_PIX_FMT_BGR24:
+       return "BGR24";
+-    case PIX_FMT_RGB24:
++    case AV_PIX_FMT_RGB24:
+       return "RGB24";
+-    case PIX_FMT_RGBA:
++    case AV_PIX_FMT_RGBA:
+       return "RGBA";
+-    case PIX_FMT_BGRA:
++    case AV_PIX_FMT_BGRA:
+       return "BGRA";
+-    case PIX_FMT_ARGB:
++    case AV_PIX_FMT_ARGB:
+       return "ARGB";
+-    case PIX_FMT_YUV420P:
++    case AV_PIX_FMT_YUV420P:
+       return "YUV420P";
+-    case PIX_FMT_YUYV422:
++    case AV_PIX_FMT_YUYV422:
+       return "YUYV422";
+-    case PIX_FMT_UYVY422:
++    case AV_PIX_FMT_UYVY422:
+       return "UYVY422";
+-    case PIX_FMT_YUV440P:
++    case AV_PIX_FMT_YUV440P:
+       return "YUV440P";
+     default:
+       return "?";
+--- harvid-0.8.0.orig/src/ics_handler.c
++++ harvid-0.8.0/src/ics_handler.c
+@@ -109,16 +109,16 @@ void parse_param(struct queryparserstate
+     else if (!strncmp(val, "jpeg",4)) {qps->a->render_fmt = FMT_JPG; qps->a->misc_int = atoi(&val[4]);}
+     else if (!strcmp(val, "png"))      qps->a->render_fmt = FMT_PNG;
+     else if (!strcmp(val, "ppm"))      qps->a->render_fmt = FMT_PPM;
+-    else if (!strcmp(val, "yuv"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_YUV420P;}
+-    else if (!strcmp(val, "yuv420"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_YUV420P;}
+-    else if (!strcmp(val, "yuv440"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_YUV440P;}
+-    else if (!strcmp(val, "yuv422"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_YUYV422;}
+-    else if (!strcmp(val, "uyv422"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_UYVY422;}
+-    else if (!strcmp(val, "rgb"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_RGB24;}
+-    else if (!strcmp(val, "bgr"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_BGR24;}
+-    else if (!strcmp(val, "rgba"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_RGBA;}
+-    else if (!strcmp(val, "argb"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_ARGB;}
+-    else if (!strcmp(val, "bgra"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = PIX_FMT_BGRA;}
++    else if (!strcmp(val, "yuv"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_YUV420P;}
++    else if (!strcmp(val, "yuv420"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_YUV420P;}
++    else if (!strcmp(val, "yuv440"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_YUV440P;}
++    else if (!strcmp(val, "yuv422"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_YUYV422;}
++    else if (!strcmp(val, "uyv422"))  {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_UYVY422;}
++    else if (!strcmp(val, "rgb"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_RGB24;}
++    else if (!strcmp(val, "bgr"))     {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_BGR24;}
++    else if (!strcmp(val, "rgba"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_RGBA;}
++    else if (!strcmp(val, "argb"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_ARGB;}
++    else if (!strcmp(val, "bgra"))    {qps->a->render_fmt = FMT_RAW; qps->a->decode_fmt = AV_PIX_FMT_BGRA;}
+     /* info, version, rc,... format */
+     else if (!strcmp(val, "html"))    qps->a->render_fmt = OUT_HTML;
+     else if (!strcmp(val, "xhtml"))   qps->a->render_fmt = OUT_HTML;
+@@ -141,7 +141,7 @@ static void parse_http_query_params(stru
+ static int parse_http_query(CONN *c, char *query, httpheader *h, ics_request_args *a) {
+   struct queryparserstate qps = {a, NULL, 0};
+ 
+-  a->decode_fmt = PIX_FMT_RGB24;
++  a->decode_fmt = AV_PIX_FMT_RGB24;
+   a->render_fmt = FMT_PNG;
+   a->frame = 0;
+   a->misc_int = 0;
diff --git a/debian/patches/series b/debian/patches/series
index 80c0dd0..9192c6f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 0001-Fix-build-with-libav-10.patch
 0002-spelling.patch
+ffmpeg_2.9.patch

--- End Message ---
--- Begin Message ---
Source: harvid
Source-Version: 0.8.0-3

We believe that the bug you reported is fixed in the latest version of
harvid, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 803...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Jaromír Mikeš <mira.mi...@seznam.cz> (supplier of updated harvid package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Tue, 03 Nov 2015 08:21:08 +0100
Source: harvid
Binary: harvid
Architecture: source amd64
Version: 0.8.0-3
Distribution: unstable
Urgency: medium
Maintainer: Debian Multimedia Maintainers 
<pkg-multimedia-maintainers@lists.alioth.debian.org>
Changed-By: Jaromír Mikeš <mira.mi...@seznam.cz>
Description:
 harvid     - HTTP Ardour Video Server
Closes: 803824
Changes:
 harvid (0.8.0-3) unstable; urgency=medium
 .
   * Add ffmpeg_2.9.patch (Closes: #803824)
   * Remove libav patch.
   * Build parallel.
   * Add gitigonere file.
   * Add local-options file.
   * Fix more spelling errors.
   * Update copyright file.
Checksums-Sha1:
 c9b21b478f883f726057474fc933ad1a136d9890 2108 harvid_0.8.0-3.dsc
 7c563c9a3e7270329b548c6697c9e4be911e9817 6332 harvid_0.8.0-3.debian.tar.xz
 5766b6eab9440da65b4252dc26f5b8c037536a71 77798 harvid_0.8.0-3_amd64.deb
Checksums-Sha256:
 7fd230c4b59439d6ac7bf69a3458771e3f04996645bf9d8f62a8174023e356c2 2108 
harvid_0.8.0-3.dsc
 ed6ded46cf74596d07ba4b4750b4460036180b7569b29be749636ba22617b2db 6332 
harvid_0.8.0-3.debian.tar.xz
 d9531b9cfe53a40d0ad2a35db48e201aa794dea6a3bcc37063f5f1b1b0a84293 77798 
harvid_0.8.0-3_amd64.deb
Files:
 0af9e98a5057314cdcae51856742027d 2108 video optional harvid_0.8.0-3.dsc
 00a40541eea35fbb01e6d349878786ba 6332 video optional 
harvid_0.8.0-3.debian.tar.xz
 24cf6b172755742e8502d82a011a6e06 77798 video optional harvid_0.8.0-3_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJWOGEvAAoJEFsBlFXiuE+l4X8P+wYjLhsXNtpzAEWMidHLt243
zsDTzhFDspFBuVf9QIU2zqltzxPNCnhCGwjbM9OUaMCGUqnI8cVdLNEQaqS+HK+F
lS1pDzr0UAgjpReRxpvCB77NwpOyqi9joQtJ+Qc32oQnYE+X2dk8K+GbHSPqQuQd
GEtlIhXt11mbre9MtuD4Gtv0wOMQS6AZYMOvb3g39bVVQN7J9n9CYDP3c/z1G+hM
sGOaITEKX4k1+DITXtQtHfARm0iDfpRszCU93rNMEmKXaMczR3WjC9N+pJOO6eQg
K4m51775mcvdjLykYyXfduBMD5+V98A77IzopR3J3aJJAmh4Q2zXRSaRSKxd00Yk
WUrqZp28C+UPAZZuSrhkCdtcoujB5ojEhyQ6znVo8qhlREKN/7bidmYYlnOy+QAH
QxAiTNVNSPu1Bkj1f/BRLWZ3FFo9JSMUYCjPWynLnlp+AcXtfxKOllVIrYofoilZ
oXGqrizAriFE/SZQqXj9T1vmoiSx78z3m8twbzJHi+85arwt1GJpLOhBv0s3DZag
T099mO/CzgIOevLzKyqC4mmaKnz7652b/RSMcOkrqEBQKVKTP2NFCovHQsFUp/+5
BufAjuabyvTkunyrTc+8l9tv9K2XdlyYNkPpQY/M2S5jAzmm9tzMHU5RWlCEoztI
+lo4n58bZ0tXThctUtuo
=Fp96
-----END PGP SIGNATURE-----

--- End Message ---
_______________________________________________
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers

Reply via email to