Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 834416 - media-video/subtitlecomposer-0.7.1 with ffmpeg-5.0: src/videoplayer/backend/decoder.h:38:50: error: invalid use of incomplete type ‘struct AVCodecContext’
Summary: media-video/subtitlecomposer-0.7.1 with ffmpeg-5.0: src/videoplayer/backend/d...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Media-video project
URL: https://invent.kde.org/multimedia/sub...
Whiteboard:
Keywords: PATCH, UPSTREAM
Depends on:
Blocks: ffmpeg-5.0
  Show dependency tree
 
Reported: 2022-02-28 21:19 UTC by Kobboi
Modified: 2022-05-18 12:50 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log.gz (build.log.gz,8.05 KB, application/gzip)
2022-02-28 21:19 UTC, Kobboi
Details
emerge-info.txt (emerge-info.txt,8.00 KB, text/plain)
2022-02-28 21:19 UTC, Kobboi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kobboi 2022-02-28 21:19:10 UTC
[17/138] /usr/bin/x86_64-pc-linux-gnu-g++ -DKCOREADDONS_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_DEFAULT_SOURCE -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1_build/src -I/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src -I/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1_build/src/subtitlecomposer-lib_autogen/include -I/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/widgets -I/usr/include/AL -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtWidgets/5.15.2 -isystem /usr/include/qt5/QtWidgets/5.15.2/QtWidgets -isystem /usr/include/qt5/QtGui/5.15.2 -isystem /usr/include/qt5/QtGui/5.15.2/QtGui -isystem /usr/include/qt5/QtCore/5.15.2 -isystem /usr/include/qt5/QtCore/5.15.2/QtCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5 -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/Sonnet -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/SonnetCore -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KIO -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfig -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtDBus -isystem /usr/include/KF5/KIOFileWidgets -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOGui -isystem /usr/include/KF5/KWindowSystem -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/KF5/Solid -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KBookmarks -isystem /usr/include/qt5/QtXml -isystem /usr/include/KF5/KItemViews -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KrossCore -isystem /usr/include/qt5/QtScript -isystem /usr/include/KF5/KrossUi -isystem /usr/include/KF5/KParts  -DQT_NO_DEBUG -O2 -march=znver3 -pipe -g -ggdb3 -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -fdiagnostics-color=always -O3 -DNDEBUG -Wall -O3 -Wall -O3 -g -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -MD -MT src/CMakeFiles/subtitlecomposer-lib.dir/videoplayer/backend/videostate.cpp.o -MF src/CMakeFiles/subtitlecomposer-lib.dir/videoplayer/backend/videostate.cpp.o.d -o src/CMakeFiles/subtitlecomposer-lib.dir/videoplayer/backend/videostate.cpp.o -c /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp
FAILED: src/CMakeFiles/subtitlecomposer-lib.dir/videoplayer/backend/videostate.cpp.o 
/usr/bin/x86_64-pc-linux-gnu-g++ -DKCOREADDONS_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -D_DEFAULT_SOURCE -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -I/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1_build/src -I/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src -I/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1_build/src/subtitlecomposer-lib_autogen/include -I/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/widgets -I/usr/include/AL -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtWidgets/5.15.2 -isystem /usr/include/qt5/QtWidgets/5.15.2/QtWidgets -isystem /usr/include/qt5/QtGui/5.15.2 -isystem /usr/include/qt5/QtGui/5.15.2/QtGui -isystem /usr/include/qt5/QtCore/5.15.2 -isystem /usr/include/qt5/QtCore/5.15.2/QtCore -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5 -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/KF5/KTextWidgets -isystem /usr/include/KF5/SonnetUi -isystem /usr/include/KF5/Sonnet -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KCodecs -isystem /usr/include/KF5/SonnetCore -isystem /usr/include/KF5/KIOCore -isystem /usr/include/KF5/KIO -isystem /usr/include/KF5/KService -isystem /usr/include/KF5/KConfig -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtDBus -isystem /usr/include/KF5/KIOFileWidgets -isystem /usr/include/KF5/KIOWidgets -isystem /usr/include/KF5/KIOGui -isystem /usr/include/KF5/KWindowSystem -isystem /usr/include/KF5/KJobWidgets -isystem /usr/include/KF5/Solid -isystem /usr/include/KF5/KCompletion -isystem /usr/include/KF5/KBookmarks -isystem /usr/include/qt5/QtXml -isystem /usr/include/KF5/KItemViews -isystem /usr/include/KF5/KXmlGui -isystem /usr/include/KF5/KConfigWidgets -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KAuth -isystem /usr/include/KF5/KrossCore -isystem /usr/include/qt5/QtScript -isystem /usr/include/KF5/KrossUi -isystem /usr/include/KF5/KParts  -DQT_NO_DEBUG -O2 -march=znver3 -pipe -g -ggdb3 -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -fdiagnostics-color=always -O3 -DNDEBUG -Wall -O3 -Wall -O3 -g -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -MD -MT src/CMakeFiles/subtitlecomposer-lib.dir/videoplayer/backend/videostate.cpp.o -MF src/CMakeFiles/subtitlecomposer-lib.dir/videoplayer/backend/videostate.cpp.o.d -o src/CMakeFiles/subtitlecomposer-lib.dir/videoplayer/backend/videostate.cpp.o -c /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp
In file included from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videodecoder.h:11,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.h:13,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:8:
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/decoder.h: In member function ‘int SubtitleComposer::Decoder::width() const’:
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/decoder.h:38:50: error: invalid use of incomplete type ‘struct AVCodecContext’
   38 |         inline int width() const { return m_avCtx->width; }
      |                                                  ^~
In file included from /usr/include/libavformat/avformat.h:313,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/decoder.h:14,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videodecoder.h:11,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.h:13,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:8:
/usr/include/libavcodec/codec.h:195:8: note: forward declaration of ‘struct AVCodecContext’
  195 | struct AVCodecContext;
      |        ^~~~~~~~~~~~~~
In file included from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videodecoder.h:11,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.h:13,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:8:
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/decoder.h: In member function ‘int SubtitleComposer::Decoder::height() const’:
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/decoder.h:39:51: error: invalid use of incomplete type ‘struct AVCodecContext’
   39 |         inline int height() const { return m_avCtx->height; }
      |                                                   ^~
In file included from /usr/include/libavformat/avformat.h:313,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/decoder.h:14,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videodecoder.h:11,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.h:13,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:8:
/usr/include/libavcodec/codec.h:195:8: note: forward declaration of ‘struct AVCodecContext’
  195 | struct AVCodecContext;
      |        ^~~~~~~~~~~~~~
In file included from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.h:16,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:8:
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/framequeue.h: At global scope:
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/framequeue.h:30:20: error: field ‘sub’ has incomplete type ‘AVSubtitle’
   30 |         AVSubtitle sub;
      |                    ^~~
In file included from /usr/include/libavformat/avformat.h:313,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/decoder.h:14,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videodecoder.h:11,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.h:13,
                 from /var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:8:
/usr/include/libavcodec/codec.h:196:8: note: forward declaration of ‘struct AVSubtitle’
  196 | struct AVSubtitle;
      |        ^~~~~~~~~~
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp: In member function ‘void SubtitleComposer::VideoState::notifyLoaded()’:
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:103:15: error: ‘AVCodecDescriptor’ does not name a type
  103 |         const AVCodecDescriptor *desc;
      |               ^~~~~~~~~~~~~~~~~
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:118:25: error: ‘desc’ was not declared in this scope
  118 |                         desc = avcodec_descriptor_get(stream->codecpar->codec_id);
      |                         ^~~~
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:118:32: error: ‘avcodec_descriptor_get’ was not declared in this scope
  118 |                         desc = avcodec_descriptor_get(stream->codecpar->codec_id);
      |                                ^~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:119:51: error: ‘AV_CODEC_PROP_TEXT_SUB’ was not declared in this scope; did you mean ‘AV_CODEC_ID_XSUB’?
  119 |                         if(desc && (desc->props & AV_CODEC_PROP_TEXT_SUB)) {
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~
      |                                                   AV_CODEC_ID_XSUB
/var/tmp/portage/media-video/subtitlecomposer-0.7.1/work/subtitlecomposer-0.7.1/src/videoplayer/backend/videostate.cpp:140:73: error: ‘avcodec_descriptor_get’ was not declared in this scope
  140 |                 *streamName += QStringLiteral(" [") + QString::fromUtf8(avcodec_descriptor_get(stream->codecpar->codec_id)->name) + QStringLiteral("]");
      |                                                                         ^~~~~~~~~~~~~~~~~~~~~~


Reproducible: Always
Comment 1 Kobboi 2022-02-28 21:19:23 UTC
Created attachment 766087 [details]
build.log.gz
Comment 2 Kobboi 2022-02-28 21:19:25 UTC
Created attachment 766088 [details]
emerge-info.txt
Comment 3 Kobboi 2022-02-28 21:19:55 UTC
Compiles fine with ffmpeg-4.4.1
Comment 4 Andreas Sturmlechner gentoo-dev 2022-03-01 10:22:07 UTC
Supposedly fixed in git master, see $URL.
Comment 5 Andreas Sturmlechner gentoo-dev 2022-05-09 01:15:55 UTC
ping, do you want to test this?
Comment 6 Larry the Git Cow gentoo-dev 2022-05-18 12:50:57 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46b5fab594719d2d438256d257cae5fddd07f538

commit 46b5fab594719d2d438256d257cae5fddd07f538
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2022-05-18 12:49:55 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2022-05-18 12:49:55 +0000

    media-video/subtitlecomposer: Fix build with >=ffmpeg-5
    
    Upstream commit 4f4f560e40ba0b760cf688eb024be3cc734ca347
    
    Closes: https://bugs.gentoo.org/834416
    Package-Manager: Portage-3.0.30, Repoman-3.0.3
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 .../files/subtitlecomposer-0.7.1-ffmpeg-5.patch    | 65 ++++++++++++++++++++++
 .../subtitlecomposer/subtitlecomposer-0.7.1.ebuild |  1 +
 2 files changed, 66 insertions(+)