Closed whwuth closed 1 month ago
What OS are you using? What version of ffmpeg? If you are running Ubuntu like OS you can find it by typing in the console:
apt list ffmpeg
I'm getting the same errors
ar r .coddle/a/libuxplay.a .coddle/libs_artifacts/uxplay/byteutils.c.o .coddle/libs_artifacts/uxplay/crypto.c.o .coddle/libs_artifacts/uxplay/dnssd.c.o .coddle/libs_artifacts/uxplay/fairplay_playfair.c.o .coddle/libs_artifacts/uxplay/http_request.c.o .coddle/libs_artifacts/uxplay/http_response.c.o .coddle/libs_artifacts/uxplay/httpd.c.o .coddle/libs_artifacts/uxplay/logger.c.o .coddle/libs_artifacts/uxplay/mirror_buffer.c.o .coddle/libs_artifacts/uxplay/netutils.c.o .coddle/libs_artifacts/uxplay/pairing.c.o .coddle/libs_artifacts/uxplay/raop.c.o .coddle/libs_artifacts/uxplay/raop_buffer.c.o .coddle/libs_artifacts/uxplay/raop_ntp.c.o .coddle/libs_artifacts/uxplay/raop_rtp.c.o .coddle/libs_artifacts/uxplay/raop_rtp_mirror.c.o .coddle/libs_artifacts/uxplay/utils.c.o
ar: creating .coddle/a/libuxplay.a
clang++ -std=c++20 $(pkg-config --cflags fdk-aac libavcodec libavutil libobs libswscale) -IUxPlay/lib -IUxPlay/lib/ -Wall -Wextra -gdwarf-3 -O3 -march=native -fPIC -I.coddle/libs_src -c ./h264-decoder.cpp -o .coddle/h264-decoder.cpp.o
clang++ -std=c++20 $(pkg-config --cflags fdk-aac libavcodec libavutil libobs libswscale) -IUxPlay/lib -IUxPlay/lib/ -Wall -Wextra -gdwarf-3 -O3 -march=native -fPIC -I.coddle/libs_src -c ./audio-decoder.cpp -o .coddle/audio-decoder.cpp.o
clang++ -std=c++20 $(pkg-config --cflags fdk-aac libavcodec libavutil libobs libswscale) -IUxPlay/lib -IUxPlay/lib/ -Wall -Wextra -gdwarf-3 -O3 -march=native -fPIC -I.coddle/libs_src -c ./airplay.cpp -o .coddle/airplay.cpp.o
clang++ -std=c++20 $(pkg-config --cflags fdk-aac libavcodec libavutil libobs libswscale) -IUxPlay/lib -IUxPlay/lib/ -Wall -Wextra -gdwarf-3 -O3 -march=native -fPIC -I.coddle/libs_src -c ./plugin.cpp -o .coddle/plugin.cpp.o
./h264-decoder.cpp:14:5: error: cannot initialize a member subobject of type 'struct AVCodec *' with an rvalue of type 'const AVCodec *'
: codec(avcodec_find_decoder(AV_CODEC_ID_H264)),
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./h264-decoder.cpp:48:23: error: use of undeclared identifier 'avcodec_decode_video2'; did you mean 'avcodec_decode_subtitle2'?
const auto result = avcodec_decode_video2(ctx, yuvPicture, &got_picture, pkt);
^~~~~~~~~~~~~~~~~~~~~
avcodec_decode_subtitle2
/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:2545:5: note: 'avcodec_decode_subtitle2' declared here
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
^
./h264-decoder.cpp:48:50: error: cannot initialize a parameter of type 'AVSubtitle *' with an lvalue of type 'struct AVFrame *'
const auto result = avcodec_decode_video2(ctx, yuvPicture, &got_picture, pkt);
^~~~~~~~~~
/usr/include/x86_64-linux-gnu/libavcodec/avcodec.h:2545:65: note: passing argument to parameter 'sub' here
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
^
3 errors generated.
terminate called after throwing an instance of 'int'
[1] 457966 IOT instruction (core dumped) coddle
❯ apt list ffmpeg
Listing... Done
ffmpeg/lunar,now 7:5.1.2-3ubuntu1 amd64 [installed,automatic]
ffmpeg/lunar 7:5.1.2-3ubuntu1 i386
Me too the same error.
> coddle
Loading config: .coddle/remote/libraries.toml
Loading config: coddle-repo/libraries.toml
ar r .coddle/a/libuxplay.a .coddle/libs_artifacts/uxplay/byteutils.c.o .coddle/libs_artifacts/uxplay/crypto.c.o .coddle/libs_artifacts/uxplay/dnssd.c.o .coddle/libs_artifacts/uxplay/fairplay_playfair.c.o .coddle/libs_artifacts/uxplay/http_request.c.o .coddle/libs_artifacts/uxplay/http_response.c.o .coddle/libs_artifacts/uxplay/httpd.c.o .coddle/libs_artifacts/uxplay/logger.c.o .coddle/libs_artifacts/uxplay/mirror_buffer.c.o .coddle/libs_artifacts/uxplay/netutils.c.o .coddle/libs_artifacts/uxplay/pairing.c.o .coddle/libs_artifacts/uxplay/raop.c.o .coddle/libs_artifacts/uxplay/raop_buffer.c.o .coddle/libs_artifacts/uxplay/raop_ntp.c.o .coddle/libs_artifacts/uxplay/raop_rtp.c.o .coddle/libs_artifacts/uxplay/raop_rtp_mirror.c.o .coddle/libs_artifacts/uxplay/utils.c.o
clang++ -std=c++20 $(pkg-config --cflags fdk-aac libavcodec libavutil libobs libswscale) -IUxPlay/lib -IUxPlay/lib/ -Wall -Wextra -gdwarf-3 -O3 -march=native -fPIC -I.coddle/libs_src -c ./h264-decoder.cpp -o .coddle/h264-decoder.cpp.o
./h264-decoder.cpp:14:5: error: cannot initialize a member subobject of type 'struct AVCodec *' with an rvalue of type 'const AVCodec *'
: codec(avcodec_find_decoder(AV_CODEC_ID_H264)),
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./h264-decoder.cpp:48:23: error: use of undeclared identifier 'avcodec_decode_video2'; did you mean 'avcodec_decode_subtitle2'?
const auto result = avcodec_decode_video2(ctx, yuvPicture, &got_picture, pkt);
^~~~~~~~~~~~~~~~~~~~~
avcodec_decode_subtitle2
/usr/include/libavcodec/avcodec.h:2527:5: note: 'avcodec_decode_subtitle2' declared here
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
^
./h264-decoder.cpp:48:50: error: cannot initialize a parameter of type 'AVSubtitle *' with an lvalue of type 'struct AVFrame *'
const auto result = avcodec_decode_video2(ctx, yuvPicture, &got_picture, pkt);
^~~~~~~~~~
/usr/include/libavcodec/avcodec.h:2527:65: note: passing argument to parameter 'sub' here
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub,
^
3 errors generated.
terminate called after throwing an instance of 'int'
[1] 989501 IOT instruction (core dumped) coddle
System: Arch Linux
Linux wcythinkpad 6.1.53-1-lts #1 SMP PREEMPT_DYNAMIC Wed, 13 Sep 2023 09:32:00 +0000 x86_64 GNU/Linux
ffmpeg version:
> ffmpeg -version
ffmpeg version n6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13.2.1 (GCC) 20230801
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
I'm getting similar errors in Debian 12. Borrowing the meat of a patch from MythTV allows it to build without the deprecated call to avcodec_decode_video2()
.
This issue can be closed.
`$ coddle
Loading config: coddle-repo/libraries.toml Loading config: .coddle/remote/libraries.toml ar r .coddle/a/libuxplay.a .coddle/libs_artifacts/uxplay/byteutils.c.o .coddle/libs_artifacts/uxplay/crypto.c.o .coddle/libs_artifacts/uxplay/dnssd.c.o .coddle/libs_artifacts/uxplay/fairplay_playfair.c.o .coddle/libs_artifacts/uxplay/http_request.c.o .coddle/libs_artifacts/uxplay/http_response.c.o .coddle/libs_artifacts/uxplay/httpd.c.o .coddle/libs_artifacts/uxplay/logger.c.o .coddle/libs_artifacts/uxplay/mirror_buffer.c.o .coddle/libs_artifacts/uxplay/netutils.c.o .coddle/libs_artifacts/uxplay/pairing.c.o .coddle/libs_artifacts/uxplay/raop.c.o .coddle/libs_artifacts/uxplay/raop_buffer.c.o .coddle/libs_artifacts/uxplay/raop_ntp.c.o .coddle/libs_artifacts/uxplay/raop_rtp.c.o .coddle/libs_artifacts/uxplay/raop_rtp_mirror.c.o .coddle/libs_artifacts/uxplay/utils.c.o clang++ -std=c++20 $(pkg-config --cflags fdk-aac libavcodec libavutil libobs libswscale) -IUxPlay/lib -IUxPlay/lib/ -Wall -Wextra -gdwarf-3 -O3 -march=native -fPIC -I.coddle/libs_src -c ./h264-decoder.cpp -o .coddle/h264-decoder.cpp.o ./h264-decoder.cpp:14:5: error: cannot initialize a member subobject of type 'struct AVCodec ' with an rvalue of type 'const AVCodec ' : codec(avcodec_find_decoder(AV_CODEC_ID_H264)), ^
~~~~~~~~~~ ./h264-decoder.cpp:48:23: error: use of undeclared identifier 'avcodec_decode_video2'; did you mean 'avcodec_decode_subtitle2'? const auto result = avcodec_decode_video2(ctx, yuvPicture, &got_picture, pkt); ^~~~~avcodec_decode_subtitle2 /usr/include/libavcodec/avcodec.h:2531:5: note: 'avcodec_decode_subtitle2' declared here int avcodec_decode_subtitle2(AVCodecContext avctx, AVSubtitle sub, ^ ./h264-decoder.cpp:48:50: error: cannot initialize a parameter of type 'AVSubtitle ' with an lvalue of type 'struct AVFrame ' const auto result = avcodec_decode_video2(ctx, yuvPicture, &got_picture, pkt); ^~~~~~ /usr/include/libavcodec/avcodec.h:2531:65: note: passing argument to parameter 'sub' here int avcodec_decode_subtitle2(AVCodecContext avctx, AVSubtitle sub, ^ 3 errors generated. terminate called after throwing an instance of 'int' fish: Job 1, 'coddle' terminated by signal SIGABRT (Abort)`