svn commit: r428398 - in head/graphics/gegl: . files
Jan Beich
jbeich at FreeBSD.org
Mon Dec 12 08:08:42 UTC 2016
Author: jbeich
Date: Mon Dec 12 08:08:41 2016
New Revision: 428398
URL: https://svnweb.freebsd.org/changeset/ports/428398
Log:
graphics/gegl: unbreak FFMPEG=on runtime
$ gimp /path/to/file.png
GEGL-geglmodule.c-Message: Module '/usr/local/lib/gegl-0.2/ff-load.so'
load error: /usr/local/lib/gegl-0.2/ff-load.so: Undefined symbol "av_read_packet"
$ echo CFLAGS+=-Werror=implicit-function-declaration >>Makefile.local
$ make
[...]
./ff-load.c:140:9: error: implicit declaration of function 'av_close_input_file' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
av_close_input_file (p->ic);
^
./ff-load.c:219:23: error: implicit declaration of function 'av_read_packet' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
if (av_read_packet (p->ic, &p->pkt) < 0)
^
./ff-load.c:274:13: error: implicit declaration of function 'av_open_input_file' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
err = av_open_input_file (&p->ic, o->path, NULL, 0, NULL);
^
./ff-load.c:279:13: error: implicit declaration of function 'av_find_stream_info' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
err = av_find_stream_info (p->ic);
^
./ff-load.c:279:13: note: did you mean 'avformat_find_stream_info'?
/usr/local/include/libavformat/avformat.h:2217:5: note: 'avformat_find_stream_info' declared here
int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options);
^
./ff-load.c:315:11: error: implicit declaration of function 'avcodec_open' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
if (avcodec_open (p->enc, p->codec) < 0)
^
./ff-load.c:315:11: note: did you mean 'avcodec_open2'?
/usr/local/include/libavcodec/avcodec.h:4324:5: note: 'avcodec_open2' declared here
int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);
^
./ff-load.c:324:23: error: implicit declaration of function 'avcodec_alloc_frame' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
p->lavc_frame = avcodec_alloc_frame ();
^
PR: 207547
Approved by: portmgr blanket
Added:
head/graphics/gegl/files/patch-operations_external_ff-load.c (contents, props changed)
Modified:
head/graphics/gegl/Makefile (contents, props changed)
Modified: head/graphics/gegl/Makefile
==============================================================================
--- head/graphics/gegl/Makefile Mon Dec 12 07:27:09 2016 (r428397)
+++ head/graphics/gegl/Makefile Mon Dec 12 08:08:41 2016 (r428398)
@@ -3,7 +3,7 @@
PORTNAME= gegl
PORTVERSION= 0.2.0
-PORTREVISION= 18
+PORTREVISION= 19
CATEGORIES= graphics
MASTER_SITES= GIMP
Added: head/graphics/gegl/files/patch-operations_external_ff-load.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/graphics/gegl/files/patch-operations_external_ff-load.c Mon Dec 12 08:08:41 2016 (r428398)
@@ -0,0 +1,59 @@
+https://git.gnome.org/browse/gegl/commit/?id=97067622352e
+https://git.gnome.org/browse/gegl/commit/?id=6d50c42e2c9a
+
+--- operations/external/ff-load.c.orig 2012-04-01 11:17:57 UTC
++++ operations/external/ff-load.c
+@@ -137,7 +137,7 @@ ff_cleanup (GeglChantO *o)
+ if (p->enc)
+ avcodec_close (p->enc);
+ if (p->ic)
+- av_close_input_file (p->ic);
++ avformat_close_input(&p->ic);
+ if (p->lavc_frame)
+ av_free (p->lavc_frame);
+
+@@ -216,9 +216,9 @@ decode_frame (GeglOperation *operation,
+ {
+ do
+ {
+- if (av_read_packet (p->ic, &p->pkt) < 0)
++ if (av_read_frame (p->ic, &p->pkt) < 0)
+ {
+- fprintf (stderr, "av_read_packet failed for %s\n",
++ fprintf (stderr, "av_read_frame failed for %s\n",
+ o->path);
+ return -1;
+ }
+@@ -271,12 +271,12 @@ prepare (GeglOperation *operation)
+ gint err;
+
+ ff_cleanup (o);
+- err = av_open_input_file (&p->ic, o->path, NULL, 0, NULL);
++ err = avformat_open_input(&p->ic, o->path, NULL, 0);
+ if (err < 0)
+ {
+ print_error (o->path, err);
+ }
+- err = av_find_stream_info (p->ic);
++ err = avformat_find_stream_info (p->ic, NULL);
+ if (err < 0)
+ {
+ g_warning ("ff-load: error finding stream info for %s", o->path);
+@@ -312,7 +312,7 @@ prepare (GeglOperation *operation)
+ if (p->codec->capabilities & CODEC_CAP_TRUNCATED)
+ p->enc->flags |= CODEC_FLAG_TRUNCATED;
+
+- if (avcodec_open (p->enc, p->codec) < 0)
++ if (avcodec_open2 (p->enc, p->codec, NULL) < 0)
+ {
+ g_warning ("error opening codec %s", p->enc->codec->name);
+ return;
+@@ -321,7 +321,7 @@ prepare (GeglOperation *operation)
+ p->width = p->enc->width;
+ p->height = p->enc->height;
+ p->frames = 10000000;
+- p->lavc_frame = avcodec_alloc_frame ();
++ p->lavc_frame = av_frame_alloc ();
+
+ if (p->fourcc)
+ g_free (p->fourcc);
More information about the svn-ports-all
mailing list