diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2016-05-07 17:21:25 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2016-05-07 17:21:25 +0000 |
commit | 5b150cfc0b43fbf15d7988d7b2e32b588b87fb5e (patch) | |
tree | 9845db68066f3bc657f0438cc9fa1ecf1280fb0a /textproc | |
parent | - fix missing dependency [1] (diff) |
textproc/libextractor: unbreak build with ffmpeg 3.0
thumbnailffmpeg_extractor.c:156:22: error: variable has incomplete type 'enum PixelFormat'
enum PixelFormat src_pixfmt,
^
thumbnailffmpeg_extractor.c:212:40: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'?
av_malloc (avpicture_get_size (PIX_FMT_RGB24, dst_width, dst_height))))
^~~~~~~~~~~~~
thumbnailffmpeg_extractor.c:223:19: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'?
PIX_FMT_RGB24, dst_width, dst_height);
^~~~~~~~~~~~~
thumbnailffmpeg_extractor.c:258:32: error: use of undeclared identifier 'PIX_FMT_RGB24'; did you mean 'AV_PIX_FMT_RGB24'?
encoder_codec_ctx->pix_fmt = PIX_FMT_RGB24;
^~~~~~~~~~~~~
thumbnailffmpeg_extractor.c:455:44: error: argument type 'enum PixelFormat' is incomplete
frame->linesize, codec_ctx->pix_fmt,
^~~~~~~~~~~~~~~~~~
thumbnailffmpeg_extractor.c:630:44: error: argument type 'enum PixelFormat' is incomplete
frame->linesize, codec_ctx->pix_fmt,
^~~~~~~~~~~~~~~~~~
PR: 209121
Reported by: antoine (via exp-run)
Submitted by: Ben Woods <woodsb02@gmail.com>
Obtained from: Debian
Notes
Notes:
svn path=/head/; revision=414776
Diffstat (limited to 'textproc')
-rw-r--r-- | textproc/libextractor/Makefile | 2 | ||||
-rw-r--r-- | textproc/libextractor/files/patch-ffmpeg29 | 350 |
2 files changed, 351 insertions, 1 deletions
diff --git a/textproc/libextractor/Makefile b/textproc/libextractor/Makefile index 7a6ec8181470..73d0f4d6bb76 100644 --- a/textproc/libextractor/Makefile +++ b/textproc/libextractor/Makefile @@ -3,7 +3,7 @@ PORTNAME= libextractor PORTVERSION= 1.3 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= textproc MASTER_SITES= GNU diff --git a/textproc/libextractor/files/patch-ffmpeg29 b/textproc/libextractor/files/patch-ffmpeg29 new file mode 100644 index 000000000000..ccdccea70483 --- /dev/null +++ b/textproc/libextractor/files/patch-ffmpeg29 @@ -0,0 +1,350 @@ +Description: update to new API in FFmpeg 2.9, fix FTBS +Origin: upstream +Applied-Upstream: commit: r35548:r35549 and r36975 +--- src/plugins/thumbnailffmpeg_extractor.c.orig ++++ src/plugins/thumbnailffmpeg_extractor.c +@@ -59,6 +59,20 @@ + #include <ffmpeg/swscale.h> + #endif + ++#if USE_JPEG ++#ifdef PIX_FMT_YUVJ420P ++#define PIX_OUTPUT_FORMAT PIX_FMT_YUVJ420P ++#else ++#define PIX_OUTPUT_FORMAT AV_PIX_FMT_YUVJ420P ++#endif ++#else ++#ifdef PIX_FMT_RGB24 ++#define PIX_OUTPUT_FORMAT PIX_FMT_RGB24 ++#else ++#define PIX_OUTPUT_FORMAT AV_PIX_FMT_RGB24 ++#endif ++#endif ++ + /** + * Set to 1 to enable debug output. + */ +@@ -153,7 +167,7 @@ + static size_t + create_thumbnail (int src_width, int src_height, + int src_stride[], +- enum PixelFormat src_pixfmt, ++ enum AVPixelFormat src_pixfmt, + const uint8_t * const src_data[], + int dst_width, int dst_height, + uint8_t **output_data, +@@ -189,7 +203,8 @@ + if (NULL == + (scaler_ctx = + sws_getContext (src_width, src_height, src_pixfmt, +- dst_width, dst_height, PIX_FMT_RGB24, ++ dst_width, dst_height, ++ PIX_OUTPUT_FORMAT, + SWS_BILINEAR, NULL, NULL, NULL))) + { + #if DEBUG +@@ -199,7 +214,12 @@ + return 0; + } + +- if (NULL == (dst_frame = avcodec_alloc_frame ())) ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ dst_frame = av_frame_alloc (); ++#else ++ dst_frame = avcodec_alloc_frame(); ++#endif ++ if (NULL == dst_frame) + { + #if DEBUG + fprintf (stderr, +@@ -209,18 +229,24 @@ + return 0; + } + if (NULL == (dst_buffer = +- av_malloc (avpicture_get_size (PIX_FMT_RGB24, dst_width, dst_height)))) ++ av_malloc (avpicture_get_size (PIX_OUTPUT_FORMAT, ++ dst_width, dst_height)))) + { + #if DEBUG + fprintf (stderr, + "Failed to allocate the destination image buffer\n"); + #endif +- av_free (dst_frame); ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&dst_frame); ++#else ++ avcodec_free_frame (&dst_frame); ++#endif + sws_freeContext (scaler_ctx); + return 0; + } + avpicture_fill ((AVPicture *) dst_frame, dst_buffer, +- PIX_FMT_RGB24, dst_width, dst_height); ++ PIX_OUTPUT_FORMAT, ++ dst_width, dst_height); + sws_scale (scaler_ctx, + src_data, + src_stride, +@@ -236,7 +262,11 @@ + "Failed to allocate the encoder output buffer\n"); + #endif + av_free (dst_buffer); +- av_free (dst_frame); ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&dst_frame); ++#else ++ avcodec_free_frame (&dst_frame); ++#endif + sws_freeContext (scaler_ctx); + return 0; + } +@@ -249,13 +279,17 @@ + #endif + av_free (encoder_output_buffer); + av_free (dst_buffer); +- av_free (dst_frame); ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&dst_frame); ++#else ++ avcodec_free_frame (&dst_frame); ++#endif + sws_freeContext (scaler_ctx); + return 0; + } + encoder_codec_ctx->width = dst_width; + encoder_codec_ctx->height = dst_height; +- encoder_codec_ctx->pix_fmt = PIX_FMT_RGB24; ++ encoder_codec_ctx->pix_fmt = PIX_OUTPUT_FORMAT; + opts = NULL; + if (avcodec_open2 (encoder_codec_ctx, encoder_codec, &opts) < 0) + { +@@ -263,10 +297,14 @@ + fprintf (stderr, + "Failed to open the encoder\n"); + #endif +- av_free (encoder_codec_ctx); ++ avcodec_free_context (&encoder_codec_ctx); + av_free (encoder_output_buffer); + av_free (dst_buffer); +- av_free (dst_frame); ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&dst_frame); ++#else ++ avcodec_free_frame (&dst_frame); ++#endif + sws_freeContext (scaler_ctx); + return 0; + } +@@ -295,9 +333,13 @@ + cleanup: + av_dict_free (&opts); + avcodec_close (encoder_codec_ctx); +- av_free (encoder_codec_ctx); ++ avcodec_free_context (&encoder_codec_ctx); + av_free (dst_buffer); +- av_free (dst_frame); ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&dst_frame); ++#else ++ avcodec_free_frame (&dst_frame); ++#endif + sws_freeContext (scaler_ctx); + *output_data = encoder_output_buffer; + +@@ -406,18 +448,23 @@ + fprintf (stderr, + "Failed to open image codec\n"); + #endif +- av_free (codec_ctx); ++ avcodec_free_context (&codec_ctx); + return; + } + av_dict_free (&opts); +- if (NULL == (frame = avcodec_alloc_frame ())) ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ frame = av_frame_alloc (); ++#else ++ frame = avcodec_alloc_frame(); ++#endif ++ if (NULL == frame) + { + #if DEBUG + fprintf (stderr, + "Failed to allocate frame\n"); + #endif + avcodec_close (codec_ctx); +- av_free (codec_ctx); ++ avcodec_free_context (&codec_ctx); + return; + } + +@@ -441,9 +488,13 @@ + fprintf (stderr, + "Failed to decode a complete frame\n"); + #endif +- av_free (frame); ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&frame); ++#else ++ avcodec_free_frame (&frame); ++#endif + avcodec_close (codec_ctx); +- av_free (codec_ctx); ++ avcodec_free_context (&codec_ctx); + return; + } + calculate_thumbnail_dimensions (codec_ctx->width, codec_ctx->height, +@@ -467,9 +518,13 @@ + err); + av_free (encoded_thumbnail); + } +- av_free (frame); ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&frame); ++#else ++ avcodec_free_frame (&frame); ++#endif + avcodec_close (codec_ctx); +- av_free (codec_ctx); ++ avcodec_free_context (&codec_ctx); + } + + +@@ -563,7 +618,12 @@ + return; + } + +- if (NULL == (frame = avcodec_alloc_frame ())) ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ frame = av_frame_alloc (); ++#else ++ frame = avcodec_alloc_frame(); ++#endif ++ if (NULL == frame) + { + #if DEBUG + fprintf (stderr, +@@ -616,7 +676,11 @@ + fprintf (stderr, + "Failed to decode a complete frame\n"); + #endif +- av_free (frame); ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&frame); ++#else ++ avcodec_free_frame (&frame); ++#endif + avcodec_close (codec_ctx); + avformat_close_input (&format_ctx); + av_free (io_ctx); +@@ -643,7 +707,11 @@ + err); + av_free (encoded_thumbnail); + } +- av_free (frame); ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&frame); ++#else ++ avcodec_free_frame (&frame); ++#endif + avcodec_close (codec_ctx); + avformat_close_input (&format_ctx); + av_free (io_ctx); +--- src/plugins/previewopus_extractor.c.orig ++++ src/plugins/previewopus_extractor.c +@@ -296,7 +296,12 @@ + /** Initialize one audio frame for reading from the input file */ + static int init_input_frame(AVFrame **frame) + { +- if (!(*frame = avcodec_alloc_frame())) { ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ *frame = av_frame_alloc (); ++#else ++ *frame = avcodec_alloc_frame(); ++#endif ++ if (NULL == *frame) { + #if DEBUG + fprintf(stderr, "Could not allocate input frame\n"); + #endif +@@ -655,7 +660,11 @@ + av_freep(&converted_input_samples[0]); + free(converted_input_samples); + } ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&input_frame); ++#else + avcodec_free_frame(&input_frame); ++#endif + + return ret; + } +@@ -671,7 +680,12 @@ + int error; + + /** Create a new frame to store the audio samples. */ +- if (!(*frame = avcodec_alloc_frame())) { ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ *frame = av_frame_alloc (); ++#else ++ *frame = avcodec_alloc_frame(); ++#endif ++ if (NULL == *frame) { + #if DEBUG + fprintf(stderr, "Could not allocate output frame\n"); + #endif +@@ -702,7 +716,11 @@ + #if DEBUG + fprintf(stderr, "Could allocate output frame samples (error '%s')\n", get_error_text(error)); + #endif ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (frame); ++#else + avcodec_free_frame(frame); ++#endif + return error; + } + +@@ -783,17 +801,29 @@ + #if DEBUG + fprintf(stderr, "Could not read data from FIFO\n"); + #endif ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&output_frame); ++#else + avcodec_free_frame(&output_frame); ++#endif + return AVERROR_EXIT; + } + + /** Encode one frame worth of audio samples. */ + if (encode_audio_frame(output_frame, output_format_context, + output_codec_context, &data_written)) { ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&output_frame); ++#else + avcodec_free_frame(&output_frame); ++#endif + return AVERROR_EXIT; + } ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ av_frame_free (&output_frame); ++#else + avcodec_free_frame(&output_frame); ++#endif + return 0; + } + /** Write the trailer of the output file container. */ +@@ -907,7 +937,12 @@ + return; + } + +- if (NULL == (frame = avcodec_alloc_frame ())) ++#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1) ++ frame = av_frame_alloc (); ++#else ++ frame = avcodec_alloc_frame(); ++#endif ++ if (NULL == frame) + { + #if DEBUG + fprintf (stderr, |