h4tr3d / avcpp

C++ wrapper for FFmpeg
Other
448 stars 81 forks source link

Broken with FFmpeg 5.1 #102

Closed kb-1000 closed 2 years ago

kb-1000 commented 2 years ago

With FFmpeg 5.1, I get compilation errors:

Compiler log ``` [1/16] Building CXX object src/CMakeFiles/avcpp.dir/avutils.cpp.o FAILED: src/CMakeFiles/avcpp.dir/avutils.cpp.o /usr/bin/c++ -Davcpp_EXPORTS -I/home/user/avcpp/src -I/home/user/ffmpeg/include -fPIC -Wall -Wextra -std=gnu++17 -MD -MT src/CMakeFiles/avcpp.dir/avutils.cpp.o -MF src/CMakeFiles/avcpp.dir/avutils.cpp.o.d -o src/CMakeFiles/avcpp.dir/avutils.cpp.o -c /home/user/avcpp/src/avutils.cpp In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h: In function ‘uint64_t av::frame::get_channel_layout(const AVFrame*)’: /home/user/avcpp/src/frame.h:37:19: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 37 | return frame->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:37:19: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 37 | return frame->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:37:19: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 37 | return frame->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h: In function ‘void av::frame::set_channel_layout(AVFrame*, uint64_t)’: /home/user/avcpp/src/frame.h:45:12: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 45 | frame->channel_layout = layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:45:12: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 45 | frame->channel_layout = layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:45:12: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 45 | frame->channel_layout = layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h: In function ‘int av::frame::get_channels(const AVFrame*)’: /home/user/avcpp/src/frame.h:54:19: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 54 | return frame->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:54:19: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 54 | return frame->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:54:19: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 54 | return frame->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h: In member function ‘T av::Frame::clone(size_t) const’: /home/user/avcpp/src/frame.h:174:47: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 174 | result.m_raw->channel_layout = m_raw->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:174:47: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 174 | result.m_raw->channel_layout = m_raw->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:174:47: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 174 | result.m_raw->channel_layout = m_raw->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:175:47: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 175 | result.m_raw->channels = m_raw->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:175:47: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 175 | result.m_raw->channels = m_raw->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:175:47: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 175 | result.m_raw->channels = m_raw->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h: In member function ‘size_t av::Frame::size() const’: /home/user/avcpp/src/frame.h:300:52: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 300 | } else if (m_raw->nb_samples && m_raw->channel_layout) { | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:300:52: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 300 | } else if (m_raw->nb_samples && m_raw->channel_layout) { | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:300:52: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 300 | } else if (m_raw->nb_samples && m_raw->channel_layout) { | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ /home/user/avcpp/src/avutils.cpp: In member function ‘bool av::v1::AvDeleter::operator()(av::v1::AVCodecContext*&)’: /home/user/avcpp/src/avutils.cpp:217:26: error: cannot convert ‘av::v1::AVCodecContext**’ to ‘AVCodecContext**’ 217 | avcodec_free_context(&codecContext); | ^~~~~~~~~~~~~ | | | av::v1::AVCodecContext** In file included from /home/user/avcpp/src/avutils.cpp:13: /home/user/ffmpeg/include/libavcodec/avcodec.h:2348:44: note: initializing argument 1 of ‘void avcodec_free_context(AVCodecContext**)’ 2348 | void avcodec_free_context(AVCodecContext **avctx); | ~~~~~~~~~~~~~~~~~^~~~~ [2/16] Building CXX object src/CMakeFiles/avcpp-static.dir/avutils.cpp.o FAILED: src/CMakeFiles/avcpp-static.dir/avutils.cpp.o /usr/bin/c++ -I/home/user/avcpp/src -I/home/user/ffmpeg/include -Wall -Wextra -std=gnu++17 -MD -MT src/CMakeFiles/avcpp-static.dir/avutils.cpp.o -MF src/CMakeFiles/avcpp-static.dir/avutils.cpp.o.d -o src/CMakeFiles/avcpp-static.dir/avutils.cpp.o -c /home/user/avcpp/src/avutils.cpp In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h: In function ‘uint64_t av::frame::get_channel_layout(const AVFrame*)’: /home/user/avcpp/src/frame.h:37:19: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 37 | return frame->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:37:19: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 37 | return frame->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:37:19: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 37 | return frame->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h: In function ‘void av::frame::set_channel_layout(AVFrame*, uint64_t)’: /home/user/avcpp/src/frame.h:45:12: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 45 | frame->channel_layout = layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:45:12: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 45 | frame->channel_layout = layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:45:12: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 45 | frame->channel_layout = layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h: In function ‘int av::frame::get_channels(const AVFrame*)’: /home/user/avcpp/src/frame.h:54:19: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 54 | return frame->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:54:19: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 54 | return frame->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:54:19: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 54 | return frame->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h: In member function ‘T av::Frame::clone(size_t) const’: /home/user/avcpp/src/frame.h:174:47: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 174 | result.m_raw->channel_layout = m_raw->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:174:47: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 174 | result.m_raw->channel_layout = m_raw->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:174:47: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 174 | result.m_raw->channel_layout = m_raw->channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:175:47: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 175 | result.m_raw->channels = m_raw->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:175:47: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 175 | result.m_raw->channels = m_raw->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:175:47: warning: ‘AVFrame::channels’ is deprecated [-Wdeprecated-declarations] 175 | result.m_raw->channels = m_raw->channels; | ^~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:643:9: note: declared here 643 | int channels; | ^~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h: In member function ‘size_t av::Frame::size() const’: /home/user/avcpp/src/frame.h:300:52: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 300 | } else if (m_raw->nb_samples && m_raw->channel_layout) { | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:300:52: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 300 | } else if (m_raw->nb_samples && m_raw->channel_layout) { | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ In file included from /home/user/avcpp/src/avutils.cpp:10: /home/user/avcpp/src/frame.h:300:52: warning: ‘AVFrame::channel_layout’ is deprecated [-Wdeprecated-declarations] 300 | } else if (m_raw->nb_samples && m_raw->channel_layout) { | ^~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavutil/hwcontext.h:23, from /home/user/ffmpeg/include/libavcodec/codec.h:27, from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/avutils.h:12, from /home/user/avcpp/src/avutils.cpp:8: /home/user/ffmpeg/include/libavutil/frame.h:510:14: note: declared here 510 | uint64_t channel_layout; | ^~~~~~~~~~~~~~ /home/user/avcpp/src/avutils.cpp: In member function ‘bool av::v1::AvDeleter::operator()(av::v1::AVCodecContext*&)’: /home/user/avcpp/src/avutils.cpp:217:26: error: cannot convert ‘av::v1::AVCodecContext**’ to ‘AVCodecContext**’ 217 | avcodec_free_context(&codecContext); | ^~~~~~~~~~~~~ | | | av::v1::AVCodecContext** In file included from /home/user/avcpp/src/avutils.cpp:13: /home/user/ffmpeg/include/libavcodec/avcodec.h:2348:44: note: initializing argument 1 of ‘void avcodec_free_context(AVCodecContext**)’ 2348 | void avcodec_free_context(AVCodecContext **avctx); | ~~~~~~~~~~~~~~~~~^~~~~ [3/16] Building CXX object src/CMakeFiles/avcpp.dir/codec.cpp.o FAILED: src/CMakeFiles/avcpp.dir/codec.cpp.o /usr/bin/c++ -Davcpp_EXPORTS -I/home/user/avcpp/src -I/home/user/ffmpeg/include -fPIC -Wall -Wextra -std=gnu++17 -MD -MT src/CMakeFiles/avcpp.dir/codec.cpp.o -MF src/CMakeFiles/avcpp.dir/codec.cpp.o.d -o src/CMakeFiles/avcpp.dir/codec.cpp.o -c /home/user/avcpp/src/codec.cpp /home/user/avcpp/src/codec.cpp: In member function ‘bool av::Codec::canEncode() const’: /home/user/avcpp/src/codec.cpp:23:24: error: ‘const struct AVCodec’ has no member named ‘encode’ 23 | return (m_raw->encode || m_raw->encode2); | ^~~~~~ /home/user/avcpp/src/codec.cpp:23:41: error: ‘const struct AVCodec’ has no member named ‘encode2’ 23 | return (m_raw->encode || m_raw->encode2); | ^~~~~~~ /home/user/avcpp/src/codec.cpp: In member function ‘bool av::Codec::canDecode() const’: /home/user/avcpp/src/codec.cpp:38:23: error: ‘const struct AVCodec’ has no member named ‘decode’ 38 | return m_raw->decode; | ^~~~~~ /home/user/avcpp/src/codec.cpp: In member function ‘std::deque av::Codec::supportedChannelLayouts() const’: /home/user/avcpp/src/codec.cpp:107:31: warning: ‘AVCodec::channel_layouts’ is deprecated [-Wdeprecated-declarations] 107 | array_to_container(m_raw->channel_layouts, channelLayouts, [](uint64_t layout) { | ^~~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/codec.h:8, from /home/user/avcpp/src/codec.cpp:1: /home/user/ffmpeg/include/libavcodec/codec.h:226:21: note: declared here 226 | const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 | ^~~~~~~~~~~~~~~ /home/user/avcpp/src/codec.cpp:107:31: warning: ‘AVCodec::channel_layouts’ is deprecated [-Wdeprecated-declarations] 107 | array_to_container(m_raw->channel_layouts, channelLayouts, [](uint64_t layout) { | ^~~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/codec.h:8, from /home/user/avcpp/src/codec.cpp:1: /home/user/ffmpeg/include/libavcodec/codec.h:226:21: note: declared here 226 | const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 | ^~~~~~~~~~~~~~~ /home/user/avcpp/src/codec.cpp:107:31: warning: ‘AVCodec::channel_layouts’ is deprecated [-Wdeprecated-declarations] 107 | array_to_container(m_raw->channel_layouts, channelLayouts, [](uint64_t layout) { | ^~~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/codec.h:8, from /home/user/avcpp/src/codec.cpp:1: /home/user/ffmpeg/include/libavcodec/codec.h:226:21: note: declared here 226 | const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 | ^~~~~~~~~~~~~~~ [4/16] Building CXX object src/CMakeFiles/avcpp-static.dir/codec.cpp.o FAILED: src/CMakeFiles/avcpp-static.dir/codec.cpp.o /usr/bin/c++ -I/home/user/avcpp/src -I/home/user/ffmpeg/include -Wall -Wextra -std=gnu++17 -MD -MT src/CMakeFiles/avcpp-static.dir/codec.cpp.o -MF src/CMakeFiles/avcpp-static.dir/codec.cpp.o.d -o src/CMakeFiles/avcpp-static.dir/codec.cpp.o -c /home/user/avcpp/src/codec.cpp /home/user/avcpp/src/codec.cpp: In member function ‘bool av::Codec::canEncode() const’: /home/user/avcpp/src/codec.cpp:23:24: error: ‘const struct AVCodec’ has no member named ‘encode’ 23 | return (m_raw->encode || m_raw->encode2); | ^~~~~~ /home/user/avcpp/src/codec.cpp:23:41: error: ‘const struct AVCodec’ has no member named ‘encode2’ 23 | return (m_raw->encode || m_raw->encode2); | ^~~~~~~ /home/user/avcpp/src/codec.cpp: In member function ‘bool av::Codec::canDecode() const’: /home/user/avcpp/src/codec.cpp:38:23: error: ‘const struct AVCodec’ has no member named ‘decode’ 38 | return m_raw->decode; | ^~~~~~ /home/user/avcpp/src/codec.cpp: In member function ‘std::deque av::Codec::supportedChannelLayouts() const’: /home/user/avcpp/src/codec.cpp:107:31: warning: ‘AVCodec::channel_layouts’ is deprecated [-Wdeprecated-declarations] 107 | array_to_container(m_raw->channel_layouts, channelLayouts, [](uint64_t layout) { | ^~~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/codec.h:8, from /home/user/avcpp/src/codec.cpp:1: /home/user/ffmpeg/include/libavcodec/codec.h:226:21: note: declared here 226 | const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 | ^~~~~~~~~~~~~~~ /home/user/avcpp/src/codec.cpp:107:31: warning: ‘AVCodec::channel_layouts’ is deprecated [-Wdeprecated-declarations] 107 | array_to_container(m_raw->channel_layouts, channelLayouts, [](uint64_t layout) { | ^~~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/codec.h:8, from /home/user/avcpp/src/codec.cpp:1: /home/user/ffmpeg/include/libavcodec/codec.h:226:21: note: declared here 226 | const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 | ^~~~~~~~~~~~~~~ /home/user/avcpp/src/codec.cpp:107:31: warning: ‘AVCodec::channel_layouts’ is deprecated [-Wdeprecated-declarations] 107 | array_to_container(m_raw->channel_layouts, channelLayouts, [](uint64_t layout) { | ^~~~~~~~~~~~~~~ In file included from /home/user/ffmpeg/include/libavformat/avformat.h:313, from /home/user/ffmpeg/include/libavdevice/avdevice.h:57, from /home/user/avcpp/src/ffmpeg.h:13, from /home/user/avcpp/src/codec.h:8, from /home/user/avcpp/src/codec.cpp:1: /home/user/ffmpeg/include/libavcodec/codec.h:226:21: note: declared here 226 | const uint64_t *channel_layouts; ///< array of support channel layouts, or NULL if unknown. array is terminated by 0 | ^~~~~~~~~~~~~~~ ninja: build stopped: subcommand failed. ```
h4tr3d commented 2 years ago

Thank for report! Put to hold until FFmpeg 5.1 (5.0 currently) will coming to my system.

h4tr3d commented 2 years ago

Quick fix was committed. channel_layout deprecation warnings was fixed asap.