Closed sirus20x6 closed 9 months ago
ok i looked at the structure of the ffmpeg archive that actually gets downloaded and see I was doing some things incorrectly. so I have recreated the lib and include folders, I put my system ffmpeg libraries as is in the lib
then I downloaded the PKGBUILD for ffmpeg full and used makepkg --nobuild to download all the sources. I took the ones that match the directories of the ffmpeg that's downloaded with this addon and copied those folders from ffmpeg-full includes over to the includes folder.
still similar results, but maybe I have something wrong with the file names and directories still
Compiling shared command_queue_mt.cpp ...
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:58,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_video_stream.h:52,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_video_stream.cpp:31:
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:56:16: error: 'AVHWDeviceType' was not declared in this scope
56 | Vector<AVHWDeviceType> hw_device_types;
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:56:30: error: template argument 1 is invalid
56 | Vector<AVHWDeviceType> hw_device_types;
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:16: error: 'AVHWDeviceType' was not declared in this scope
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:30: error: template argument 1 is invalid
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_frame.h:49,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:59:
/usr/include/libavutil/frame.h:340:16: error: redefinition of 'struct AVFrame'
340 | typedef struct AVFrame {
| ^~~~~~~
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:34:
/usr/local/include/libavcodec/avcodec.h:1099:16: note: previous definition of 'struct AVFrame'
1099 | typedef struct AVFrame {
| ^~~~~~~
/usr/include/libavutil/frame.h:808:3: error: conflicting declaration 'typedef int AVFrame'
808 | } AVFrame;
| ^~~~~~~
/usr/local/include/libavcodec/avcodec.h:1498:3: note: previous declaration as 'typedef struct AVFrame AVFrame'
1498 | } AVFrame;
| ^~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:159:60: error: 'AVHWDeviceType' has not been declared
159 | static HardwareVideoDecoder from_av_hw_device_type(AVHWDeviceType p_device_type);
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:178:17: error: 'AVHWDeviceType' does not name a type
178 | AVHWDeviceType device_type;
| ^~~~~~~~~~~~~~
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.cpp:31:
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:56:16: error: 'AVHWDeviceType' was not declared in this scope
56 | Vector<AVHWDeviceType> hw_device_types;
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:56:30: error: template argument 1 is invalid
56 | Vector<AVHWDeviceType> hw_device_types;
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:16: error: 'AVHWDeviceType' was not declared in this scope
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:30: error: template argument 1 is invalid
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^
In file included from /usr/include/libavutil/hwcontext.h:23,
from /usr/include/libavcodec/codec.h:27,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.cpp:32:
/usr/include/libavutil/frame.h:340:16: error: redefinition of 'struct AVFrame'
340 | typedef struct AVFrame {
| ^~~~~~~
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:34:
/usr/local/include/libavcodec/avcodec.h:1099:16: note: previous definition of 'struct AVFrame'
1099 | typedef struct AVFrame {
| ^~~~~~~
/usr/include/libavutil/frame.h:808:3: error: conflicting declaration 'typedef int AVFrame'
808 | } AVFrame;
| ^~~~~~~
/usr/local/include/libavcodec/avcodec.h:1498:3: note: previous declaration as 'typedef struct AVFrame AVFrame'
1498 | } AVFrame;
| ^~~~~~~
In file included from /usr/include/libavcodec/codec.h:33:
/usr/include/libavcodec/codec_id.h:49:6: error: multiple definition of 'enum AVCodecID'
49 | enum AVCodecID {
| ^~~~~~~~~
/usr/local/include/libavcodec/avcodec.h:97:6: note: previous definition here
97 | enum AVCodecID {
| ^~~~~~~~~
/usr/include/libavcodec/codec.h:179:16: error: redefinition of 'struct AVProfile'
179 | typedef struct AVProfile {
| ^~~~~~~~~
/usr/local/include/libavcodec/avcodec.h:3203:16: note: previous definition of 'struct AVProfile'
3203 | typedef struct AVProfile {
| ^~~~~~~~~
/usr/include/libavcodec/codec.h:182:3: error: conflicting declaration 'typedef int AVProfile'
182 | } AVProfile;
| ^~~~~~~~~
/usr/local/include/libavcodec/avcodec.h:3206:3: note: previous declaration as 'typedef struct AVProfile AVProfile'
3206 | } AVProfile;
| ^~~~~~~~~
/usr/include/libavcodec/codec.h:187:16: error: redefinition of 'struct AVCodec'
187 | typedef struct AVCodec {
| ^~~~~~~
/usr/local/include/libavcodec/avcodec.h:3215:16: note: previous definition of 'struct AVCodec'
3215 | typedef struct AVCodec {
| ^~~~~~~
/usr/include/libavcodec/codec.h:238:3: error: conflicting declaration 'typedef int AVCodec'
238 | } AVCodec;
| ^~~~~~~
/usr/local/include/libavcodec/avcodec.h:3305:3: note: previous declaration as 'typedef struct AVCodec AVCodec'
3305 | } AVCodec;
| ^~~~~~~
/usr/include/libavcodec/codec.h:257:16: error: ambiguating new declaration of 'const AVCodec* avcodec_find_decoder(AVCodecID)'
257 | const AVCodec *avcodec_find_decoder(enum AVCodecID id);
| ^~~~~~~~~~~~~~~~~~~~
/usr/local/include/libavcodec/avcodec.h:3856:10: note: old declaration 'AVCodec* avcodec_find_decoder(AVCodecID)'
3856 | AVCodec *avcodec_find_decoder(enum AVCodecID id);
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/libavcodec/codec.h:265:16: error: ambiguating new declaration of 'const AVCodec* avcodec_find_decoder_by_name(const char*)'
265 | const AVCodec *avcodec_find_decoder_by_name(const char *name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/libavcodec/avcodec.h:3864:10: note: old declaration 'AVCodec* avcodec_find_decoder_by_name(const char*)'
3864 | AVCodec *avcodec_find_decoder_by_name(const char *name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libavcodec/codec.h:273:16: error: ambiguating new declaration of 'const AVCodec* avcodec_find_encoder(AVCodecID)'
273 | const AVCodec *avcodec_find_encoder(enum AVCodecID id);
| ^~~~~~~~~~~~~~~~~~~~
/usr/local/include/libavcodec/avcodec.h:4283:10: note: old declaration 'AVCodec* avcodec_find_encoder(AVCodecID)'
4283 | AVCodec *avcodec_find_encoder(enum AVCodecID id);
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/libavcodec/codec.h:281:16: error: ambiguating new declaration of 'const AVCodec* avcodec_find_encoder_by_name(const char*)'
281 | const AVCodec *avcodec_find_encoder_by_name(const char *name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/libavcodec/avcodec.h:4291:10: note: old declaration 'AVCodec* avcodec_find_encoder_by_name(const char*)'
4291 | AVCodec *avcodec_find_encoder_by_name(const char *name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.cpp:34:24: error: no declaration matches 'godot::Vector<AVHWDeviceType> FFmpegCodec::get_supported_hw_device_types()'
34 | Vector<AVHWDeviceType> FFmpegCodec::get_supported_hw_device_types() {
| ^~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:32: note: candidate is: 'int FFmpegCodec::get_supported_hw_device_types()'
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:53:7: note: 'class FFmpegCodec' defined here
53 | class FFmpegCodec : public RefCounted {
| ^~~~~~~~~~~
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:58,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:31:
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:56:16: error: 'AVHWDeviceType' was not declared in this scope
56 | Vector<AVHWDeviceType> hw_device_types;
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:56:30: error: template argument 1 is invalid
56 | Vector<AVHWDeviceType> hw_device_types;
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:16: error: 'AVHWDeviceType' was not declared in this scope
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:30: error: template argument 1 is invalid
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:58,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_video_stream.h:52,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/register_types.cpp:40:
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:56:16: error: 'AVHWDeviceType' was not declared in this scope
56 | Vector<AVHWDeviceType> hw_device_types;
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:56:30: error: template argument 1 is invalid
56 | Vector<AVHWDeviceType> hw_device_types;
| ^
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_frame.h:49,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:59:
/usr/include/libavutil/frame.h:340:16: error: redefinition of 'struct AVFrame'
340 | typedef struct AVFrame {
| ^~~~~~~
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:34:
/usr/local/include/libavcodec/avcodec.h:1099:16: note: previous definition of 'struct AVFrame'
1099 | typedef struct AVFrame {
| ^~~~~~~
/usr/include/libavutil/frame.h:808:3: error: conflicting declaration 'typedef int AVFrame'
808 | } AVFrame;
| ^~~~~~~
/usr/local/include/libavcodec/avcodec.h:1498:3: note: previous declaration as 'typedef struct AVFrame AVFrame'
1498 | } AVFrame;
| ^~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:16: error: 'AVHWDeviceType' was not declared in this scope
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:30: error: template argument 1 is invalid
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_frame.h:49,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:59:
/usr/include/libavutil/frame.h:340:16: error: redefinition of 'struct AVFrame'
340 | typedef struct AVFrame {
| ^~~~~~~
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:34:
/usr/local/include/libavcodec/avcodec.h:1099:16: note: previous definition of 'struct AVFrame'
1099 | typedef struct AVFrame {
| ^~~~~~~
/usr/include/libavutil/frame.h:808:3: error: conflicting declaration 'typedef int AVFrame'
808 | } AVFrame;
| ^~~~~~~
/usr/local/include/libavcodec/avcodec.h:1498:3: note: previous declaration as 'typedef struct AVFrame AVFrame'
1498 | } AVFrame;
| ^~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:159:60: error: 'AVHWDeviceType' has not been declared
159 | static HardwareVideoDecoder from_av_hw_device_type(AVHWDeviceType p_device_type);
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:178:17: error: 'AVHWDeviceType' does not name a type
178 | AVHWDeviceType device_type;
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:159:60: error: 'AVHWDeviceType' has not been declared
159 | static HardwareVideoDecoder from_av_hw_device_type(AVHWDeviceType p_device_type);
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In function 'bool is_hardware_pixel_format(AVPixelFormat)':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:49:22: error: 'AV_PIX_FMT_VDPAU' was not declared in this scope; did you mean 'AV_PIX_FMT_VDPAU_VC1'?
49 | case AV_PIX_FMT_VDPAU:
| ^~~~~~~~~~~~~~~~
| AV_PIX_FMT_VDPAU_VC1
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:178:17: error: 'AVHWDeviceType' does not name a type
178 | AVHWDeviceType device_type;
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:50:22: error: 'AV_PIX_FMT_CUDA' was not declared in this scope; did you mean 'AV_PIX_FMT_RGBA'?
50 | case AV_PIX_FMT_CUDA:
| ^~~~~~~~~~~~~~~
| AV_PIX_FMT_RGBA
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:51:22: error: 'AV_PIX_FMT_VAAPI' was not declared in this scope; did you mean 'AV_PIX_FMT_VAAPI_VLD'?
51 | case AV_PIX_FMT_VAAPI:
| ^~~~~~~~~~~~~~~~
| AV_PIX_FMT_VAAPI_VLD
scons: *** [/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.os] Error 1
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:53:22: error: 'AV_PIX_FMT_QSV' was not declared in this scope; did you mean 'AV_PIX_FMT_NB'?
53 | case AV_PIX_FMT_QSV:
| ^~~~~~~~~~~~~~
| AV_PIX_FMT_NB
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/register_types.cpp: In function 'void print_codecs()':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/register_types.cpp:53:33: error: 'av_codec_iterate' was not declared in this scope; did you mean 'av_codec_next'?
53 | while ((codec = av_codec_iterate(&i))) {
| ^~~~~~~~~~~~~~~~
| av_codec_next
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:54:22: error: 'AV_PIX_FMT_VIDEOTOOLBOX' was not declared in this scope
54 | case AV_PIX_FMT_VIDEOTOOLBOX:
| ^~~~~~~~~~~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:55:22: error: 'AV_PIX_FMT_D3D11' was not declared in this scope; did you mean 'AV_PIX_FMT_NV21'?
55 | case AV_PIX_FMT_D3D11:
| ^~~~~~~~~~~~~~~~
| AV_PIX_FMT_NV21
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:56:22: error: 'AV_PIX_FMT_D3D11VA_VLD' was not declared in this scope; did you mean 'AV_PIX_FMT_VDA_VLD'?
56 | case AV_PIX_FMT_D3D11VA_VLD:
| ^~~~~~~~~~~~~~~~~~~~~~
| AV_PIX_FMT_VDA_VLD
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:57:22: error: 'AV_PIX_FMT_DRM_PRIME' was not declared in this scope
57 | case AV_PIX_FMT_DRM_PRIME:
| ^~~~~~~~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:58:22: error: 'AV_PIX_FMT_OPENCL' was not declared in this scope; did you mean 'AV_PIX_FMT_PAL8'?
58 | case AV_PIX_FMT_OPENCL:
| ^~~~~~~~~~~~~~~~~
| AV_PIX_FMT_PAL8
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:59:22: error: 'AV_PIX_FMT_MEDIACODEC' was not declared in this scope
59 | case AV_PIX_FMT_MEDIACODEC:
| ^~~~~~~~~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:60:22: error: 'AV_PIX_FMT_VULKAN' was not declared in this scope; did you mean 'AV_PIX_FMT_RGBA'?
60 | case AV_PIX_FMT_VULKAN:
| ^~~~~~~~~~~~~~~~~
| AV_PIX_FMT_RGBA
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:61:22: error: 'AV_PIX_FMT_MMAL' was not declared in this scope; did you mean 'AV_PIX_FMT_PAL8'?
61 | case AV_PIX_FMT_MMAL:
| ^~~~~~~~~~~~~~~
| AV_PIX_FMT_PAL8
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:62:22: error: 'AV_PIX_FMT_XVMC' was not declared in this scope; did you mean 'AV_PIX_FMT_NV21'?
62 | case AV_PIX_FMT_XVMC: {
| ^~~~~~~~~~~~~~~
| AV_PIX_FMT_NV21
scons: *** [/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_video_stream.os] Error 1
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In member function 'void VideoDecoder::recreate_codec_context()':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:153:9: error: 'AVCodecParameters' was not declared in this scope; did you mean 'AVCodecParser'?
153 | AVCodecParameters codec_params = *video_stream->codecpar;
| ^~~~~~~~~~~~~~~~~
| AVCodecParser
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:156:97: error: 'codec_params' was not declared in this scope
156 | for (const AvailableDecoderInfo &info : get_available_decoders(format_context->iformat, codec_params.codec_id, target_hw_decoders)) {
| ^~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:158:25: error: 'avcodec_free_context' was not declared in this scope; did you mean 'avcodec_copy_context'?
158 | avcodec_free_context(&video_codec_context);
| ^~~~~~~~~~~~~~~~~~~~
| avcodec_copy_context
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:165:41: error: 'avcodec_parameters_to_context' was not declared in this scope
165 | int param_copy_result = avcodec_parameters_to_context(video_codec_context, &codec_params);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:170:26: error: 'const struct VideoDecoder::AvailableDecoderInfo' has no member named 'device_type'
170 | if (info.device_type != AV_HWDEVICE_TYPE_NONE) {
| ^~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:170:41: error: 'AV_HWDEVICE_TYPE_NONE' was not declared in this scope; did you mean 'AV_PICTURE_TYPE_NONE'?
170 | if (info.device_type != AV_HWDEVICE_TYPE_NONE) {
| ^~~~~~~~~~~~~~~~~~~~~
| AV_PICTURE_TYPE_NONE
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:171:100: error: 'AVCodecContext' {aka 'struct AVCodecContext'} has no member named 'hw_device_ctx'
171 | int hw_device_create_result = av_hwdevice_ctx_create(&video_codec_context->hw_device_ctx, info.device_type, nullptr, nullptr, 0);
| ^~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:171:120: error: 'const struct VideoDecoder::AvailableDecoderInfo' has no member named 'device_type'
171 | int hw_device_create_result = av_hwdevice_ctx_create(&video_codec_context->hw_device_ctx, info.device_type, nullptr, nullptr, 0);
| ^~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:171:55: error: 'av_hwdevice_ctx_create' was not declared in this scope
171 | int hw_device_create_result = av_hwdevice_ctx_create(&video_codec_context->hw_device_ctx, info.device_type, nullptr, nullptr, 0);
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from godot-cpp/include/godot_cpp/templates/cowdata.hpp:35,
from godot-cpp/include/godot_cpp/variant/char_string.hpp:34,
from godot-cpp/gen/include/godot_cpp/variant/string.hpp:38,
from godot-cpp/gen/include/godot_cpp/classes/object.hpp:39,
from godot-cpp/include/godot_cpp/classes/ref.hpp:36,
from godot-cpp/gen/include/godot_cpp/classes/mutex.hpp:36,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/gdextension_build/command_queue_mt.h:37,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:39:
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:172:180: error: 'const struct VideoDecoder::AvailableDecoderInfo' has no member named 'device_type'
172 | ERR_CONTINUE_MSG(hw_device_create_result < 0, vformat("Couldn't create hardware video decoder context %s for codec %s: %s", av_hwdevice_get_type_name(info.device_type), info.codec->get_codec_ptr()->name, ffmpeg_get_error_message(hw_device_create_result)));
| ^~~~~~~~~~~
godot-cpp/include/godot_cpp/core/error_macros.hpp:469:132: note: in definition of macro 'ERR_CONTINUE_MSG'
469 | ::godot::_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition \"" _STR(m_cond) "\" is true. Continuing.", m_msg); \
| ^~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:172:149: error: 'av_hwdevice_get_type_name' was not declared in this scope
172 | ERR_CONTINUE_MSG(hw_device_create_result < 0, vformat("Couldn't create hardware video decoder context %s for codec %s: %s", av_hwdevice_get_type_name(info.device_type), info.codec->get_codec_ptr()->name, ffmpeg_get_error_message(hw_device_create_result)));
| ^~~~~~~~~~~~~~~~~~~~~~~~~
godot-cpp/include/godot_cpp/core/error_macros.hpp:469:132: note: in definition of macro 'ERR_CONTINUE_MSG'
469 | ::godot::_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition \"" _STR(m_cond) "\" is true. Continuing.", m_msg); \
| ^~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:174:144: error: 'const struct VideoDecoder::AvailableDecoderInfo' has no member named 'device_type'
174 | print_line(vformat("Succesfully opened hardware video decoder context %s for codec %s", av_hwdevice_get_type_name(info.device_type), info.codec->get_codec_ptr()->name));
| ^~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:174:113: error: 'av_hwdevice_get_type_name' was not declared in this scope
174 | print_line(vformat("Succesfully opened hardware video decoder context %s for codec %s", av_hwdevice_get_type_name(info.device_type), info.codec->get_codec_ptr()->name));
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:188:9: error: 'codec_params' was not declared in this scope
188 | codec_params = *audio_stream->codecpar;
| ^~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:188:39: error: 'AVStream' {aka 'struct AVStream'} has no member named 'codecpar'; did you mean 'codec'?
188 | codec_params = *audio_stream->codecpar;
| ^~~~~~~~
| codec
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:192:25: error: 'avcodec_free_context' was not declared in this scope; did you mean 'avcodec_copy_context'?
192 | avcodec_free_context(&audio_codec_context);
| ^~~~~~~~~~~~~~~~~~~~
| avcodec_copy_context
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:198:106: error: 'AVStream' {aka 'struct AVStream'} has no member named 'codecpar'; did you mean 'codec'?
198 | int param_copy_result = avcodec_parameters_to_context(audio_codec_context, audio_stream->codecpar);
| ^~~~~~~~
| codec
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:198:41: error: 'avcodec_parameters_to_context' was not declared in this scope
198 | int param_copy_result = avcodec_parameters_to_context(audio_codec_context, audio_stream->codecpar);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: At global scope:
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:207:36: error: 'VideoDecoder::HardwareVideoDecoder VideoDecoder::from_av_hw_device_type' is not a static data member of 'class VideoDecoder'
207 | VideoDecoder::HardwareVideoDecoder VideoDecoder::from_av_hw_device_type(AVHWDeviceType p_device_type) {
| ^~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:207:73: error: 'AVHWDeviceType' was not declared in this scope
207 | VideoDecoder::HardwareVideoDecoder VideoDecoder::from_av_hw_device_type(AVHWDeviceType p_device_type) {
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In static member function 'static void VideoDecoder::_thread_func(void*)':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:251:28: error: 'av_packet_alloc' was not declared in this scope; did you mean 'av_samples_alloc'?
251 | AVPacket *packet = av_packet_alloc();
| ^~~~~~~~~~~~~~~
| av_samples_alloc
scons: *** [/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/register_types.os] Error 1
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:288:9: error: 'av_packet_free' was not declared in this scope; did you mean 'av_dict_free'?
288 | av_packet_free(&packet);
| ^~~~~~~~~~~~~~
| av_dict_free
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In member function 'void VideoDecoder::_decode_next_frame(AVPacket*, AVFrame*)':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:300:23: error: 'AVPacket' {aka 'struct AVPacket'} has no member named 'buf'
300 | if (p_packet->buf == nullptr) {
| ^~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:322:25: error: 'av_packet_unref' was not declared in this scope; did you mean 'av_frame_unref'?
322 | av_packet_unref(p_packet);
| ^~~~~~~~~~~~~~~
| av_frame_unref
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In member function 'int VideoDecoder::_send_packet(AVCodecContext*, AVFrame*, AVPacket*)':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:348:38: error: 'avcodec_send_packet' was not declared in this scope; did you mean '_send_packet'?
348 | send_packet_result = avcodec_send_packet(p_codec_context, p_packet);
| ^~~~~~~~~~~~~~~~~~~
| _send_packet
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:358:69: error: 'AVStream' {aka 'struct AVStream'} has no member named 'codecpar'; did you mean 'codec'?
358 | } else if (format_context->streams[p_packet->stream_index]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
| ^~~~~~~~
| codec
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In member function 'void VideoDecoder::_try_disable_hw_decoding(int)':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:367:150: error: 'AVCodecContext' {aka 'struct AVCodecContext'} has no member named 'hw_device_ctx'
367 | if (!hw_decoding_allowed || target_hw_video_decoders == HardwareVideoDecoder::NONE || video_codec_context == nullptr || video_codec_context->hw_device_ctx == nullptr) {
| ^~~~~~~~~~~~~
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:58,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_video_stream.h:52,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_stream_ffmpeg_loader.cpp:35:
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:56:16: error: 'AVHWDeviceType' was not declared in this scope
56 | Vector<AVHWDeviceType> hw_device_types;
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:56:30: error: template argument 1 is invalid
56 | Vector<AVHWDeviceType> hw_device_types;
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In member function 'void VideoDecoder::_read_decoded_frames(AVFrame*)':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:389:44: error: 'avcodec_receive_frame' was not declared in this scope; did you mean 'avcodec_free_frame'?
389 | int receive_frame_result = avcodec_receive_frame(video_codec_context, p_received_frame);
| ^~~~~~~~~~~~~~~~~~~~~
| avcodec_free_frame
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:16: error: 'AVHWDeviceType' was not declared in this scope
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_codec.h:59:30: error: template argument 1 is invalid
59 | Vector<AVHWDeviceType> get_supported_hw_device_types();
| ^
In file included from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/ffmpeg_frame.h:49,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:59:
/usr/include/libavutil/frame.h:340:16: error: redefinition of 'struct AVFrame'
340 | typedef struct AVFrame {
| ^~~~~~~
In file included from /usr/local/include/libavformat/avformat.h:203,
from /run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_stream_ffmpeg_loader.cpp:33:
/usr/local/include/libavcodec/avcodec.h:1099:16: note: previous definition of 'struct AVFrame'
1099 | typedef struct AVFrame {
| ^~~~~~~
/usr/include/libavutil/frame.h:808:3: error: conflicting declaration 'typedef int AVFrame'
808 | } AVFrame;
| ^~~~~~~
/usr/local/include/libavcodec/avcodec.h:1498:3: note: previous declaration as 'typedef struct AVFrame AVFrame'
1498 | } AVFrame;
| ^~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:421:47: error: 'av_hwframe_transfer_data' was not declared in this scope
421 | int transfer_result = av_hwframe_transfer_data(hw_transfer_frame->get_frame(), p_received_frame, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In member function 'void VideoDecoder::_read_decoded_audio_frames(AVFrame*)':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:518:44: error: 'avcodec_receive_frame' was not declared in this scope; did you mean 'avcodec_free_frame'?
518 | int receive_frame_result = avcodec_receive_frame(audio_codec_context, p_received_frame);
| ^~~~~~~~~~~~~~~~~~~~~
| avcodec_free_frame
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:547:76: error: 'AVFrame' {aka 'struct AVFrame'} has no member named 'ch_layout'; did you mean 'channel_layout'?
547 | int data_size = av_samples_get_buffer_size(nullptr, frame->ch_layout.nb_channels, frame->nb_samples, (AVSampleFormat)frame->format, 0);
| ^~~~~~~~~
| channel_layout
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In member function 'AVFrame* VideoDecoder::_ensure_frame_audio_format(AVFrame*, AVSampleFormat)':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:643:47: error: 'AVCodecContext' {aka 'struct AVCodecContext'} has no member named 'ch_layout'; did you mean 'channel_layout'?
643 | &audio_codec_context->ch_layout, p_target_audio_format, audio_codec_context->sample_rate,
| ^~~~~~~~~
| channel_layout
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:644:47: error: 'AVCodecContext' {aka 'struct AVCodecContext'} has no member named 'ch_layout'; did you mean 'channel_layout'?
644 | &audio_codec_context->ch_layout, audio_codec_context->sample_fmt, audio_codec_context->sample_rate,
| ^~~~~~~~~
| channel_layout
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:641:37: error: 'swr_alloc_set_opts2' was not declared in this scope; did you mean 'swr_alloc_set_opts'?
641 | int obtain_swr_ctx_result = swr_alloc_set_opts2(
| ^~~~~~~~~~~~~~~~~~~
| swr_alloc_set_opts
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:655:20: error: 'AVFrame' {aka 'struct AVFrame'} has no member named 'ch_layout'; did you mean 'channel_layout'?
655 | out_frame->ch_layout = audio_codec_context->ch_layout;
| ^~~~~~~~~
| channel_layout
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:655:53: error: 'AVCodecContext' {aka 'struct AVCodecContext'} has no member named 'ch_layout'; did you mean 'channel_layout'?
655 | out_frame->ch_layout = audio_codec_context->ch_layout;
| ^~~~~~~~~
| channel_layout
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:159:60: error: 'AVHWDeviceType' has not been declared
159 | static HardwareVideoDecoder from_av_hw_device_type(AVHWDeviceType p_device_type);
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.h:178:17: error: 'AVHWDeviceType' does not name a type
178 | AVHWDeviceType device_type;
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:667:32: error: 'swr_convert_frame' was not declared in this scope; did you mean 'swr_convert'?
667 | int converter_result = swr_convert_frame(swr_context, out_frame, p_frame);
| ^~~~~~~~~~~~~~~~~
| swr_convert
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: At global scope:
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:711:32: error: 'AVHWDeviceType' was not declared in this scope
711 | int get_hw_video_decoder_score(AVHWDeviceType p_device_type) {
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In member function 'bool AvailableDecoderInfoComparator::operator()(const VideoDecoder::AvailableDecoderInfo&, const VideoDecoder::AvailableDecoderInfo&) const':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:739:55: error: 'const struct VideoDecoder::AvailableDecoderInfo' has no member named 'device_type'
739 | return get_hw_video_decoder_score(p_a.device_type) > get_hw_video_decoder_score(p_b.device_type);
| ^~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:739:66: error: 'get_hw_video_decoder_score' cannot be used as a function
739 | return get_hw_video_decoder_score(p_a.device_type) > get_hw_video_decoder_score(p_b.device_type);
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:739:101: error: 'const struct VideoDecoder::AvailableDecoderInfo' has no member named 'device_type'
739 | return get_hw_video_decoder_score(p_a.device_type) > get_hw_video_decoder_score(p_b.device_type);
| ^~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:739:112: error: 'get_hw_video_decoder_score' cannot be used as a function
739 | return get_hw_video_decoder_score(p_a.device_type) > get_hw_video_decoder_score(p_b.device_type);
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_stream_ffmpeg_loader.cpp: In member function 'void VideoStreamFFMpegLoader::_update_recognized_extension_cache() const':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_stream_ffmpeg_loader.cpp:44:31: error: 'av_demuxer_iterate' was not declared in this scope; did you mean 'av_demuxer_open'?
44 | while ((current_fmt = av_demuxer_iterate(&iteration_state)) != nullptr) {
| ^~~~~~~~~~~~~~~~~~
| av_demuxer_open
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In member function 'godot::Vector<VideoDecoder::AvailableDecoderInfo> VideoDecoder::get_available_decoders(const AVInputFormat*, AVCodecID, godot::BitField<HardwareVideoDecoder>)':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:750:43: error: 'av_codec_iterate' was not declared in this scope; did you mean 'av_codec_next'?
750 | const AVCodec *av_codec = av_codec_iterate(&iterator);
| ^~~~~~~~~~~~~~~~
| av_codec_next
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:769:22: error: 'AVHWDeviceType' was not declared in this scope
769 | for (AVHWDeviceType type : codec->get_supported_hw_device_types()) {
| ^~~~~~~~~~~~~~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:778:9: error: expected primary-expression before '}' token
778 | }
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:777:18: error: expected ';' before '}' token
777 | }
| ^
| ;
778 | }
| ~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:778:9: error: expected primary-expression before '}' token
778 | }
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:777:18: error: expected ')' before '}' token
777 | }
| ^
| )
778 | }
| ~
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:769:21: note: to match this '('
769 | for (AVHWDeviceType type : codec->get_supported_hw_device_types()) {
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:778:9: error: expected primary-expression before '}' token
778 | }
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:785:33: error: 'AV_HWDEVICE_TYPE_NONE' was not declared in this scope; did you mean 'AV_PICTURE_TYPE_NONE'?
785 | AV_HWDEVICE_TYPE_NONE });
| ^~~~~~~~~~~~~~~~~~~~~
| AV_PICTURE_TYPE_NONE
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:785:55: error: too many initializers for 'VideoDecoder::AvailableDecoderInfo'
785 | AV_HWDEVICE_TYPE_NONE });
| ^
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In member function 'int VideoDecoder::get_audio_channel_count() const':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:850:45: error: 'AVCodecContext' {aka 'struct AVCodecContext'} has no member named 'ch_layout'; did you mean 'channel_layout'?
850 | return audio_codec_context->ch_layout.nb_channels;
| ^~~~~~~~~
| channel_layout
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp: In destructor 'virtual VideoDecoder::~VideoDecoder()':
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:872:17: error: 'avcodec_free_context' was not declared in this scope; did you mean 'avcodec_copy_context'?
872 | avcodec_free_context(&video_codec_context);
| ^~~~~~~~~~~~~~~~~~~~
| avcodec_copy_context
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:876:17: error: 'avcodec_free_context' was not declared in this scope; did you mean 'avcodec_copy_context'?
876 | avcodec_free_context(&audio_codec_context);
| ^~~~~~~~~~~~~~~~~~~~
| avcodec_copy_context
/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.cpp:889:17: error: 'avio_context_free' was not declared in this scope
889 | avio_context_free(&io_context);
| ^~~~~~~~~~~~~~~~~
scons: *** [/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_stream_ffmpeg_loader.os] Error 1
scons: *** [/run/media/sirus/aux/code/arachnid/godot/EIRTeam.FFmpeg/video_decoder.os] Error 1
scons: building terminated because of errors.
[Time elapsed: 00:01:19.416]
ok I got it. I needed to comment out ffmpeg_download_action = ffmpeg_download.ffmpeg_download_builder(env, FFMPEG_DUMMY, "ffmpeg_download.py")
but leave ffmpeg_install_action = ffmpeg_download.ffmpeg_install(env, f"#{addon_platform_dir}", "../thirdparty/ffmpeg")
which I see now makes sense
for testing I'm trying to use my system ffmpeg. which currently is is the arch user repository package "ffmpeg-full" this is a kitchen sink build with everything in it. it's not what I plan to ship with but it would give me flexibility to try a few things https://aur.archlinux.org/packages/ffmpeg-full
am I correct in assuming that I could just rename my so files to drop the minor versions so they match the ones it autodownloads (the major version already matches), put those in the third party directory then comment out the downloading and installing of ffmpeg in the SConstruct file and then build?