Polochon-street / bliss

Bliss music library that can compute distance between songs
https://lelele.io/bliss_old.html
MIT License
79 stars 5 forks source link

Fails to build with ffmpeg-6.0 #162

Closed yurivict closed 1 year ago

yurivict commented 1 year ago
===>  Building for bliss-music-analyzer-1.2.0.6
[  5% 2/17] /usr/bin/cc -Dbliss_EXPORTS -I/usr/local/include -I/wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/include -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing -fPIC   -Wall -Wno-long-long -pedantic -std=c99 -Wall -Wextra -pedantic -MD -MT CMakeFiles/bliss.dir/src/decode.c.o -MF CMakeFiles/bliss.dir/src/decode.c.o.d -o CMakeFiles/bliss.dir/src/decode.c.o -c /wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/src/decode.c
FAILED: CMakeFiles/bliss.dir/src/decode.c.o 
/usr/bin/cc -Dbliss_EXPORTS -I/usr/local/include -I/wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/include -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing -O2 -pipe  -fstack-protector-strong -fno-strict-aliasing -fPIC   -Wall -Wno-long-long -pedantic -std=c99 -Wall -Wextra -pedantic -MD -MT CMakeFiles/bliss.dir/src/decode.c.o -MF CMakeFiles/bliss.dir/src/decode.c.o.d -o CMakeFiles/bliss.dir/src/decode.c.o -c /wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/src/decode.c
/wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/src/decode.c:32:3: error: must use 'struct' tag to refer to type 'AVCodecContext'
  AVCodecContext *codec_context = NULL;
  ^
  struct 
/wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/src/decode.c:50:3: warning: implicit declaration of function 'av_register_all' is invalid in C99 [-Wimplicit-function-declaration]
  av_register_all();
  ^
/wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/src/decode.c:71:64: warning: passing 'AVCodec **' (aka 'struct AVCodec **') to parameter of type 'const AVCodec **' (aka 'const struct AVCodec **') discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
      av_find_best_stream(context, AVMEDIA_TYPE_AUDIO, -1, -1, &codec, 0);
                                                               ^~~~~~
/usr/local/include/libavformat/avformat.h:2161:41: note: passing argument to parameter 'decoder_ret' here
                        const AVCodec **decoder_ret,
                                        ^
/wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/src/decode.c:90:19: warning: implicit declaration of function 'avcodec_alloc_context3' is invalid in C99 [-Wimplicit-function-declaration]
  codec_context = avcodec_alloc_context3(codec);
                  ^
/wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/src/decode.c:90:17: warning: incompatible integer to pointer conversion assigning to 'struct AVCodecContext *' from 'int' [-Wint-conversion]
  codec_context = avcodec_alloc_context3(codec);
                ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/src/decode.c:92:16: error: incomplete definition of type 'struct AVCodecContext'
  codec_context->thread_count = 0;
  ~~~~~~~~~~~~~^
/usr/local/include/libavcodec/codec.h:195:8: note: forward declaration of 'struct AVCodecContext'
struct AVCodecContext;
       ^
/wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/src/decode.c:93:16: error: incomplete definition of type 'struct AVCodecContext'
  codec_context->thread_type = FF_THREAD_FRAME;
  ~~~~~~~~~~~~~^
/usr/local/include/libavcodec/codec.h:195:8: note: forward declaration of 'struct AVCodecContext'
struct AVCodecContext;
       ^
/wrkdirs/usr/ports/audio/bliss/work/bliss-1.2.0-6-ga443635/src/decode.c:93:32: error: use of undeclared identifier 'FF_THREAD_FRAME'
  codec_context->thread_type = FF_THREAD_FRAME;
                               ^

FreeBSD 13.1

Polochon-street commented 1 year ago

Hi! Thanks for reporting.

I just merged a PR that fixes it for me - could you try on your end? :)

diizzyy commented 1 year ago

Yes, seems to fix the issue. Thanks! :-)

yurivict commented 1 year ago

Thanks!