diff options
Diffstat (limited to 'multimedia/arcan')
| -rw-r--r-- | multimedia/arcan/Makefile | 2 | ||||
| -rw-r--r-- | multimedia/arcan/files/ffmpeg.patch | 57 |
2 files changed, 59 insertions, 0 deletions
diff --git a/multimedia/arcan/Makefile b/multimedia/arcan/Makefile index 2e1cfaaa9623..66617ffd2694 100644 --- a/multimedia/arcan/Makefile +++ b/multimedia/arcan/Makefile @@ -13,6 +13,8 @@ LICENSE_FILE_BSD3CLAUSE=${WRKSRC:H}/data/distr/LICENSE.BSD LICENSE_FILE_GPLv2+ = ${WRKSRC:H}/data/distr/LICENSE.GPL LICENSE_FILE_LGPL21+ = ${WRKSRC:H}/data/distr/LICENSE.LGPL +EXTRA_PATCHES= ${FILESDIR}/ffmpeg.patch:-p1 + BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto LIB_DEPENDS= libdrm.so:graphics/libdrm \ libfreetype.so:print/freetype2 diff --git a/multimedia/arcan/files/ffmpeg.patch b/multimedia/arcan/files/ffmpeg.patch new file mode 100644 index 000000000000..c1038e0e3c90 --- /dev/null +++ b/multimedia/arcan/files/ffmpeg.patch @@ -0,0 +1,57 @@ +Index: src/frameserver/encode/default/encode_presets.c +================================================================== +--- src/frameserver/encode/default/encode_presets.c ++++ src/frameserver/encode/default/encode_presets.c +@@ -61,11 +61,11 @@ + + if (avcodec_open2(dst->storage.video.context, + dst->storage.video.codec, NULL) != 0){ + dst->storage.video.codec = NULL; + dst->storage.video.context = NULL; +- avcodec_close(dst->storage.video.context); ++ avcodec_free_context(&dst->storage.video.context); + return false; + } + + return true; + } +@@ -89,11 +89,11 @@ + "got %d kbit/s using %s\n", samplerate, abr, + (int)(ctx->bit_rate / 1000), codec->name); + + if (avcodec_open2( + dst->storage.audio.context, dst->storage.audio.codec, NULL) != 0){ +- avcodec_close(dst->storage.audio.context); ++ avcodec_free_context(&dst->storage.audio.context); + dst->storage.audio.context = NULL; + dst->storage.audio.codec = NULL; + return false; + } + +@@ -179,11 +179,11 @@ + LOG("(encode) video setup @ %d * %d, %f fps, %d kbit / s.\n", + width, height, fps, vbr / 1000); + + if (avcodec_open2(dst->storage.video.context, + dst->storage.video.codec, &opts) != 0){ +- avcodec_close(dst->storage.video.context); ++ avcodec_free_context(&dst->storage.video.context); + dst->storage.video.context = NULL; + dst->storage.video.codec = NULL; + return false; + } + +@@ -245,11 +245,11 @@ + + LOG("(encode) video setup @ %d * %d, %f fps, %d kbit / s.\n", + width, height, fps, vbr / 1024); + if (avcodec_open2(dst->storage.video.context, + dst->storage.video.codec, &opts) != 0){ +- avcodec_close(dst->storage.video.context); ++ avcodec_free_context(&dst->storage.video.context); + dst->storage.video.context = NULL; + dst->storage.video.codec = NULL; + return false; + } + + |
