aboutsummaryrefslogtreecommitdiffstats
path: root/devel/renpy
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2016-02-28 03:51:10 +0800
committerjbeich <jbeich@FreeBSD.org>2016-02-28 03:51:10 +0800
commit29632d17bcaf91fa0d5cf67fb828382d4bfc5701 (patch)
tree31f6b087c49442a4f11b2df520c1b12e1c5a3cbb /devel/renpy
parent63d6dd93630f1bba02c92b4433a70e4d070ddf02 (diff)
downloadfreebsd-ports-gnome-29632d17bcaf91fa0d5cf67fb828382d4bfc5701.tar.gz
freebsd-ports-gnome-29632d17bcaf91fa0d5cf67fb828382d4bfc5701.tar.zst
freebsd-ports-gnome-29632d17bcaf91fa0d5cf67fb828382d4bfc5701.zip
devel/renpy: prepare for ffmpeg 3.0 update
Obtained from: upstream
Diffstat (limited to 'devel/renpy')
-rw-r--r--devel/renpy/Makefile1
-rw-r--r--devel/renpy/files/patch-module_ffdecode.c86
2 files changed, 87 insertions, 0 deletions
diff --git a/devel/renpy/Makefile b/devel/renpy/Makefile
index 944215f9e41c..786887472b4a 100644
--- a/devel/renpy/Makefile
+++ b/devel/renpy/Makefile
@@ -3,6 +3,7 @@
PORTNAME= renpy
PORTVERSION= 6.99.8
DISTVERSIONSUFFIX=-sdk
+PORTREVISION= 1
CATEGORIES= devel games
MASTER_SITES= http://www.renpy.org/dl/${PORTVERSION}/
diff --git a/devel/renpy/files/patch-module_ffdecode.c b/devel/renpy/files/patch-module_ffdecode.c
new file mode 100644
index 000000000000..37e6df2ed158
--- /dev/null
+++ b/devel/renpy/files/patch-module_ffdecode.c
@@ -0,0 +1,86 @@
+Author: Markus Koschany <apo@debian.org>
+https://github.com/renpy/renpy/pull/829
+
+--- module/ffdecode.c.orig 2015-03-21 15:29:24 UTC
++++ module/ffdecode.c
+@@ -103,8 +103,8 @@ typedef struct VideoState {
+ compensation */
+
+ #ifndef HAS_RESAMPLE
+- uint8_t audio_buf1[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2] __attribute__ ((aligned (16))) ;
+- uint8_t audio_buf2[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2] __attribute__ ((aligned (16))) ;
++ uint8_t audio_buf1[(192000 * 3) / 2] __attribute__ ((aligned (16))) ;
++ uint8_t audio_buf2[(192000 * 3) / 2] __attribute__ ((aligned (16))) ;
+ #else
+ uint8_t *audio_buf1;
+ #endif
+@@ -583,7 +583,7 @@ static int video_refresh(void *opaque)
+
+ is->first_frame = 0;
+
+- av_free(vp->frame);
++ av_frame_free(&vp->frame);
+ vp->frame = NULL;
+
+ /* update queue size and signal for next picture */
+@@ -635,13 +635,13 @@ static void alloc_picture(void *opaque, PyObject *pysurf)
+
+ pixel = SDL_MapRGBA(surf->format, 1, 2, 3, 4);
+ if (bytes[0] == 4 && bytes[1] == 1) {
+- vp->fmt = PIX_FMT_ARGB;
++ vp->fmt = AV_PIX_FMT_ARGB;
+ } else if (bytes[0] == 4 && bytes[1] == 3) {
+- vp->fmt = PIX_FMT_ABGR;
++ vp->fmt = AV_PIX_FMT_ABGR;
+ } else if (bytes[0] == 1) {
+- vp->fmt = PIX_FMT_RGBA;
++ vp->fmt = AV_PIX_FMT_RGBA;
+ } else {
+- vp->fmt = PIX_FMT_BGRA;
++ vp->fmt = AV_PIX_FMT_BGRA;
+ }
+
+ pixel = SDL_MapRGBA(surf->format, 0, 0, 0, 255);
+@@ -764,7 +764,7 @@ static int video_thread(void *arg)
+ double pts;
+
+ for(;;) {
+- frame = avcodec_alloc_frame();
++ frame = av_frame_alloc();
+
+ while (is->paused && !is->videoq.abort_request) {
+ SDL_Delay(2);
+@@ -824,10 +824,10 @@ static int audio_decode_frame(VideoState *is, double *pts_ptr)
+ int resample_changed, audio_resample;
+
+ if (!is->frame) {
+- if (!(is->frame = avcodec_alloc_frame()))
++ if (!(is->frame = av_frame_alloc()))
+ return AVERROR(ENOMEM);
+ } else
+- avcodec_get_frame_defaults(is->frame);
++ av_frame_unref(is->frame);
+
+ if (flush_complete)
+ break;
+@@ -1244,9 +1244,9 @@ static int stream_component_open(VideoState *is, int stream_index)
+ /* prepare audio output */
+ if (enc->codec_type == AVMEDIA_TYPE_AUDIO) {
+ if (enc->channels > 0) {
+- enc->request_channels = FFMIN(2, enc->channels);
++ enc->request_channel_layout = av_get_default_channel_layout(FFMIN(2, enc->channels));
+ } else {
+- enc->request_channels = 2;
++ enc->request_channel_layout = av_get_default_channel_layout(2);
+ }
+ }
+
+@@ -1653,7 +1653,7 @@ void ffpy_stream_close(VideoState *is)
+ for(i=0; i<VIDEO_PICTURE_QUEUE_SIZE; i++) {
+ vp = &is->pictq[i];
+ if (vp->frame) {
+- av_free(vp->frame);
++ av_frame_free(&vp->frame);
+ }
+ }
+