Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile error #1

Open
whwuth opened this issue Aug 7, 2022 · 4 comments
Open

Compile error #1

whwuth opened this issue Aug 7, 2022 · 4 comments

Comments

@whwuth
Copy link

whwuth commented Aug 7, 2022

`$ 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)`

@mika314
Copy link
Owner

mika314 commented Aug 7, 2022

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

@revmischa
Copy link

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

@jerrywcy
Copy link

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

@jlfranklin
Copy link
Contributor

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().

jlfranklin added a commit to jlfranklin/obs-airplay that referenced this issue Jun 16, 2024
jlfranklin added a commit to jlfranklin/obs-airplay that referenced this issue Jun 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants