meganz / sdk

MEGA C++ SDK
BSD 2-Clause "Simplified" License
1.33k stars 504 forks source link

Build failure with ffmpeg 4.4 #2576

Open pastalian opened 3 years ago

pastalian commented 3 years ago

Since ffmpeg 4.4, AVStream.skip_to_keyframe is no longer public. From the comments, it seems that it should not have been used in the first place.

See: https://github.com/FFmpeg/FFmpeg/commit/108864acee1d7b0cde653cee113f3001f1b8915a

log

mega/src/gfx/qt.cpp:1212:18: error: ‘AVStream’ {aka ‘struct AVStream’} has no member named ‘skip_to_keyframe’
 1212 |     videoStream->skip_to_keyframe = true;
Lucretia commented 3 years ago

This field is now in AVStreamInternal which is an opaque pointer, internal, inside the AVStream struct.

detetiveselvagem commented 2 years ago

This is still a fatal error. MEGAcmd doesn't build with ffmpeg 4.4 because of this line in src/gfx/freeimage.cpp. Is there a fix, aside from just commenting out the offending line?

lorefx commented 2 years ago

Hi all. I stumbled across this issue on the 3.9.12 tag build on Arch Linux.

A temporary workaround, if applicable to your case, is to launch the configuration step as ./configure --without-freeimage as depicted in the readme

Sure, you'll lose those features, but at least it compiles and run