Index: head/audio/libgroove/Makefile =================================================================== --- head/audio/libgroove/Makefile (revision 469019) +++ head/audio/libgroove/Makefile (revision 469020) @@ -1,33 +1,31 @@ # Created by: gahr # $FreeBSD$ PORTNAME= libgroove PORTVERSION= 4.3.0 PORTREVISION= 6 CATEGORIES= audio MAINTAINER= ports@FreeBSD.org COMMENT= Audio dispatching library LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -BROKEN= fails to build with ffmpeg 4.0 - LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \ libchromaprint.so:audio/chromaprint \ libebur128.so:audio/libebur128 \ libspeexdsp.so:audio/speexdsp USE_GITHUB= yes GH_ACCOUNT= andrewrk USES= cmake:outsource USE_SDL= sdl2 USE_LDCONFIG= yes CFLAGS+= -Wno-error=deprecated-declarations # ffmpeg 3.1 PLIST_SUB+= VER1=${PORTVERSION:R:R} \ VER3=${PORTVERSION} .include Index: head/audio/libgroove/files/patch-ffmpeg4 =================================================================== --- head/audio/libgroove/files/patch-ffmpeg4 (nonexistent) +++ head/audio/libgroove/files/patch-ffmpeg4 (revision 469020) @@ -0,0 +1,92 @@ +groove/encoder.c:619:59: error: use of undeclared identifier 'CODEC_CAP_VARIABLE_FRAME_SIZE' + e->sink->buffer_sample_count = (codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) ? + ^ +groove/file.c:284:66: error: use of undeclared identifier 'FF_INPUT_BUFFER_PADDING_SIZE' + uint64_t extra_size = (uint64_t)icodec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE; + ^ +groove/playlist.c:189:63: error: use of undeclared identifier 'CODEC_CAP_DELAY' + if (!pkt_temp->data && dec->codec->capabilities & CODEC_CAP_DELAY) + ^ +groove/playlist.c:574:55: error: use of undeclared identifier 'CODEC_CAP_DELAY' + if (f->audio_st->codec->codec->capabilities & CODEC_CAP_DELAY) { + ^ +groove/playlist.c:990:22: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] + p->volume_filter = avfilter_get_by_name("volume"); + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +groove/playlist.c:997:23: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] + p->compand_filter = avfilter_get_by_name("compand"); + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +groove/playlist.c:1004:23: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] + p->abuffer_filter = avfilter_get_by_name("abuffer"); + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +groove/playlist.c:1011:22: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] + p->asplit_filter = avfilter_get_by_name("asplit"); + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +groove/playlist.c:1018:23: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] + p->aformat_filter = avfilter_get_by_name("aformat"); + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +groove/playlist.c:1025:27: error: assigning to 'AVFilter *' (aka 'struct AVFilter *') from 'const AVFilter *' (aka 'const struct AVFilter *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] + p->abuffersink_filter = avfilter_get_by_name("abuffersink"); + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- groove/encoder.c.orig 2015-05-26 01:32:01 UTC ++++ groove/encoder.c +@@ -616,7 +616,7 @@ int groove_encoder_attach(struct GrooveEncoder *encode + + e->sink->audio_format = encoder->actual_audio_format; + e->sink->buffer_size = encoder->sink_buffer_size; +- e->sink->buffer_sample_count = (codec->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE) ? ++ e->sink->buffer_sample_count = (codec->capabilities & AV_CODEC_CAP_VARIABLE_FRAME_SIZE) ? + 0 : e->stream->codec->frame_size; + e->sink->gain = encoder->gain; + +--- groove/file.c.orig 2015-05-26 01:32:01 UTC ++++ groove/file.c +@@ -281,7 +281,7 @@ int groove_file_save(struct GrooveFile *file) { + ocodec->rc_buffer_size = icodec->rc_buffer_size; + ocodec->field_order = icodec->field_order; + +- uint64_t extra_size = (uint64_t)icodec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE; ++ uint64_t extra_size = (uint64_t)icodec->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE; + if (extra_size > INT_MAX) { + cleanup_save(file); + av_log(NULL, AV_LOG_ERROR, "codec extra size too big\n"); +--- groove/playlist.c.orig 2015-05-26 01:32:01 UTC ++++ groove/playlist.c +@@ -54,12 +54,12 @@ struct GroovePlaylistPrivate { + AVFilterGraph *filter_graph; + AVFilterContext *abuffer_ctx; + +- AVFilter *volume_filter; +- AVFilter *compand_filter; +- AVFilter *abuffer_filter; +- AVFilter *asplit_filter; +- AVFilter *aformat_filter; +- AVFilter *abuffersink_filter; ++ const AVFilter *volume_filter; ++ const AVFilter *compand_filter; ++ const AVFilter *abuffer_filter; ++ const AVFilter *asplit_filter; ++ const AVFilter *aformat_filter; ++ const AVFilter *abuffersink_filter; + + pthread_mutex_t drain_cond_mutex; + int drain_cond_mutex_inited; +@@ -186,7 +186,7 @@ static int audio_decode_frame(struct GroovePlaylist *p + + if (!got_frame) { + // stop sending empty packets if the decoder is finished +- if (!pkt_temp->data && dec->codec->capabilities & CODEC_CAP_DELAY) ++ if (!pkt_temp->data && dec->codec->capabilities & AV_CODEC_CAP_DELAY) + return 0; + continue; + } +@@ -571,7 +571,7 @@ static int decode_one_frame(struct GroovePlaylist *pla + pthread_mutex_unlock(&f->seek_mutex); + + if (f->eof) { +- if (f->audio_st->codec->codec->capabilities & CODEC_CAP_DELAY) { ++ if (f->audio_st->codec->codec->capabilities & AV_CODEC_CAP_DELAY) { + av_init_packet(pkt); + pkt->data = NULL; + pkt->size = 0; Property changes on: head/audio/libgroove/files/patch-ffmpeg4 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property