uoip/pangolin

Fix needed for the build with ffmpeg 4.0

Opened this issue · 1 comments

The repository needs an update due to several build processes are broken

Building CXX object src/CMakeFiles/_pangolin.dir/video/drivers/ffmpeg.cpp.o
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp: In function 'std::__cxx11::string pangolin::FfmpegFmtToString(AVPixelFormat)':
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:47:41: error: 'AV_PIX_FMT_XVMC_MPEG2_MC' was not declared in this scope
 #  define TEST_PIX_FMT_RETURN(fmt) case AV_PIX_FMT_##fmt: return #fmt;
                                         ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:83:5: note: in expansion of macro 'TEST_PIX_FMT_RETURN'
     TEST_PIX_FMT_RETURN(XVMC_MPEG2_MC);
     ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:47:41: error: 'AV_PIX_FMT_XVMC_MPEG2_IDCT' was not declared in this scope
 #  define TEST_PIX_FMT_RETURN(fmt) case AV_PIX_FMT_##fmt: return #fmt;
                                         ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:84:5: note: in expansion of macro 'TEST_PIX_FMT_RETURN'
     TEST_PIX_FMT_RETURN(XVMC_MPEG2_IDCT);
     ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:47:41: error: 'AV_PIX_FMT_VDPAU_H264' was not declared in this scope
 #  define TEST_PIX_FMT_RETURN(fmt) case AV_PIX_FMT_##fmt: return #fmt;
                                         ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:104:5: note: in expansion of macro 'TEST_PIX_FMT_RETURN'
     TEST_PIX_FMT_RETURN(VDPAU_H264);
     ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:47:41: error: 'AV_PIX_FMT_VDPAU_MPEG1' was not declared in this scope
 #  define TEST_PIX_FMT_RETURN(fmt) case AV_PIX_FMT_##fmt: return #fmt;
                                         ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:105:5: note: in expansion of macro 'TEST_PIX_FMT_RETURN'
     TEST_PIX_FMT_RETURN(VDPAU_MPEG1);
     ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:47:41: error: 'AV_PIX_FMT_VDPAU_MPEG2' was not declared in this scope
 #  define TEST_PIX_FMT_RETURN(fmt) case AV_PIX_FMT_##fmt: return #fmt;
                                         ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:106:5: note: in expansion of macro 'TEST_PIX_FMT_RETURN'
     TEST_PIX_FMT_RETURN(VDPAU_MPEG2);
     ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:47:41: error: 'AV_PIX_FMT_VDPAU_WMV3' was not declared in this scope
 #  define TEST_PIX_FMT_RETURN(fmt) case AV_PIX_FMT_##fmt: return #fmt;
                                         ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:107:5: note: in expansion of macro 'TEST_PIX_FMT_RETURN'
     TEST_PIX_FMT_RETURN(VDPAU_WMV3);
     ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:47:41: error: 'AV_PIX_FMT_VDPAU_VC1' was not declared in this scope
 #  define TEST_PIX_FMT_RETURN(fmt) case AV_PIX_FMT_##fmt: return #fmt;
                                         ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:108:5: note: in expansion of macro 'TEST_PIX_FMT_RETURN'
     TEST_PIX_FMT_RETURN(VDPAU_VC1);
     ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:47:41: error: 'AV_PIX_FMT_VDPAU_MPEG4' was not declared in this scope
 #  define TEST_PIX_FMT_RETURN(fmt) case AV_PIX_FMT_##fmt: return #fmt;
                                         ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:128:5: note: in expansion of macro 'TEST_PIX_FMT_RETURN'
     TEST_PIX_FMT_RETURN(VDPAU_MPEG4);
     ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp: In function 'AVStream* pangolin::CreateStream(AVFormatContext*, pangolin::CodecID, uint64_t, int, AVPixelFormat, int, int)':
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:519:33: error: 'CODEC_FLAG_GLOBAL_HEADER' was not declared in this scope
         stream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
                                 ^
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp: In member function 'void pangolin::FfmpegVideoOutputStream::WriteFrame(AVFrame*)':
/workspaces/pangolin/src/video/drivers/ffmpeg.cpp:582:39: error: 'AVFMT_RAWPICTURE' was not declared in this scope
     if (recorder.oc->oformat->flags & AVFMT_RAWPICTURE) {
                                       ^
src/CMakeFiles/_pangolin.dir/build.make:1670: recipe for target 'src/CMakeFiles/_pangolin.dir/video/drivers/ffmpeg.cpp.o' failed
make[2]: *** [src/CMakeFiles/_pangolin.dir/video/drivers/ffmpeg.cpp.o] Error 1
CMakeFiles/Makefile2:135: recipe for target 'src/CMakeFiles/_pangolin.dir/all' failed
make[1]: *** [src/CMakeFiles/_pangolin.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

The solution has been proprosed on a pull request on the parent repository of Pangalolin