Created attachment 376186 [details] build.log gstffmpegdemux.c:784:60: error: 'AVStream' has no member named 'r_frame_rate' gstffmpegdemux.c:785:40: error: 'AVStream' has no member named 'r_frame_rate' gstffmpegdemux.c:821:60: error: 'AVStream' has no member named 'r_frame_rate' gstffmpegdemux.c:822:40: error: 'AVStream' has no member named 'r_frame_rate' gstffmpegcodecmap.c:1310:10: error: 'AV_CODEC_ID_SNOW' undeclared (first use in this function) gstffmpegaudioresample.c:49:3: error: unknown type name 'ReSampleContext'
I looked how other distros deal with it: debian builds in chroot using old libav, arch builds using internal (and insecure) ffmpeg copy.
*** Bug 519304 has been marked as a duplicate of this bug. ***
Created attachment 387942 [details, diff] libav10 (and 11) compat patch. compiles, but is otherwise UNTESTED.
It builds fine, but fails tests and does not work. kde-base/dragon prints to console: Failed to load plugin '/usr/lib64/gstreamer-0.10/libgstffmpeg.so': /usr/lib64/gstreamer-0.10/libgstffmpeg.so: undefined symbol: avresample_alloc_context Same errors in build.log: make[3]: Entering directory '/var/tmp/portage/media-plugins/gst-plugins-ffmpeg-0.10.13_p201211-r2/work/gst-ffmpeg-0.10.13_p201211-abi_x86_64.amd64/tests/check' (gst-plugin-scanner:20870): GStreamer-WARNING **: Failed to load plugin '../../ext/ffmpeg/.libs/libgstffmpeg.so': ../../ext/ffmpeg/.libs/libgstffmpeg.so: undefined symbol: avresample_alloc_context (gst-plugin-scanner:20870): GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-0.10/libgstffmpeg.so': /usr/lib64/gstreamer-0.10/libgstffmpeg.so: undefined symbol: avresample_alloc_context (gst-plugin-scanner:20870): GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-0.10/libgstffmpeg.so': /usr/lib64/gstreamer-0.10/libgstffmpeg.so: undefined symbol: avresample_alloc_context Running suite(s): Plugin 0%: Checks: 2, Failures: 2, Errors: 0 /var/tmp/portage/media-plugins/gst-plugins-ffmpeg-0.10.13_p201211-r2/work/gst-ffmpeg-0.10.13_p201211/tests/check/generic/plugin-test.c:31:F:existence:test_ffmpeg_plugin:0: Could not load FFmpeg plugin /var/tmp/portage/media-plugins/gst-plugins-ffmpeg-0.10.13_p201211-r2/work/gst-ffmpeg-0.10.13_p201211/tests/check/generic/plugin-test.c:46:F:existence:test_ffmpeg_update_reg:0: Assertion 'encoder != NULL' failed FAIL: generic/plugin-test ******* Skipping libavcodec_locks test, no encoder available
gst-plugins-ffmpeg # patch gst-plugins-ffmpeg-0.10.13_p201211 libav10.patch patching file gst-plugins-ffmpeg-0.10.13_p201211 patching file gst-plugins-ffmpeg-0.10.13_p201211 Hunk #1 FAILED at 60. 1 out of 1 hunk FAILED -- saving rejects to file gst-plugins-ffmpeg-0.10.13_p201211.rej
what would happen we take a more up to date version of this media-plugins/gst-plugins-ffmpeg? http://gstreamer.freedesktop.org/src/gst-ffmpeg/ anyone can test this?
(In reply to tman from comment #6) > what would happen we take a more up to date version of this > media-plugins/gst-plugins-ffmpeg? > > > http://gstreamer.freedesktop.org/src/gst-ffmpeg/ > > anyone can test this? 0.10.13 is the latest version. 0.11 was just an early version of gstreamer 1.0. This is already in portage, under the name of "media-plugins/gst-plugins-libav". This here is the latest version for gstreamer 0.10.
i notice following package use the old version of gst-plugins-ffmpeg-0.10.* # equery d =media-libs/gstreamer-0.10.36 * These packages depend on media-libs/gstreamer-0.10.36: --- Invalid atom in /etc/portage/package.mask: >=media-libs/gstreamer-0.10.* app-office/libreoffice-4.3.5.2 (gstreamer ? media-libs/gstreamer:1.0) media-libs/libcanberra-0.30-r4 (gstreamer ? media-libs/gstreamer:1.0) media-libs/opencv-2.4.9 (gstreamer ? media-libs/gstreamer:0.10) net-libs/farstream-0.1.2-r2 (>=media-libs/gstreamer-0.10.33:0.10) www-client/uget-9999 (gstreamer ? media-libs/gstreamer:0.10) x11-libs/wxGTK-2.8.12.1-r1 (gstreamer ? media-libs/gstreamer:0.10) x11-libs/wxGTK-2.9.5 (gstreamer ? media-libs/gstreamer:0.10) x11-libs/wxGTK-3.0.2.0-r1 (gstreamer ? media-libs/gstreamer:0.10) can some one just upgrade the depencies in the ebuild because Nikos Chantziaras identify " 0.10.13 is the latest version. 0.11 was just an early version of gstreamer 1.0. This is already in portage, under the name of "media-plugins/gst-plugins-libav". This here is the latest version for gstreamer 0.10."
(In reply to tman from comment #8) > > can some one just upgrade the depencies in the ebuild gstreamer 1.x is not compatible with gstreamer 0.10. You cannot update any dependencies, since programs that are written to use 0.10 will not work with 1.x.
My suggestion: mask the plugin. Let those wine users who need it unmask it and deal with dependencies. If you are reading this bug and thinking of investing time in the quixotic effort to keep gst-plugins-ffmpeg-0.10 building (and maybe sometimes running) with modern libav/ffmpeg, please don't, your efforts would be much more appreciated if you help fix wine's gstreamer-1.0 support (https://bugs.winehq.org/show_bug.cgi?id=31836) - then we can finally kill this ancient zombie.
My suggestion: allow it to use its bundled version of libav, and call it a day. If that would imply security issues due to the old version that's bundled, then mask it.
My suggestion is to fix the RDEPEND to force the usage of proper ffmpeg/libav versions and, once we are going to kill them, finally kill this plugin. 11 Feb 2015; Pacho Ramos <pacho@gentoo.org> -gst-plugins-ffmpeg-0.10.13_p201211-r1.ebuild, -gst-plugins-ffmpeg-0.10.13_p201211.ebuild, gst-plugins-ffmpeg-0.10.13_p201211-r3.ebuild: Not compatible with libav >= 10 , drop old The internal copy is unmaintained for ages and contains several security bugs, then, that is not a real option
*** Bug 544338 has been marked as a duplicate of this bug. ***
May be you could add yet another use flag to
* Accidenly leaved the last message. To be noted I've tried to add a yet another use flag to build with internal ffmpeg, but it fails to build for me.
*** Bug 550426 has been marked as a duplicate of this bug. ***
There is some work at: http://cgit.openembedded.org/meta-openembedded/tree/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg_0.10.13.bb http://cgit.openembedded.org/meta-openembedded/tree/meta-multimedia/recipes-multimedia/gstreamer-0.10/gst-ffmpeg-0.10.13 to make the internal libav work (and they try to apply the security patches they are able to backport) Of course... we need to start trying to drop 0.10 reverse deps as 0.10 is dead for a long long time :S
Created some patches, available in the sabayon overlay: https://github.com/Sabayon/for-gentoo/tree/master/media-plugins/gst-plugins-ffmpeg https://github.com/Sabayon/for-gentoo/blob/master/media-plugins/gst-plugins-ffmpeg/files/0.10.13_p201211-audioresample.patch https://github.com/Sabayon/for-gentoo/blob/master/media-plugins/gst-plugins-ffmpeg/files/0.10.13_p201211-r_frame_rate.patch https://github.com/Sabayon/for-gentoo/blob/master/media-plugins/gst-plugins-ffmpeg/files/0.10.13_p201211-snow-codec.patch AV_CODEC_ID_SNOW can be dropped, it's not reliable and used. 'AVStream' has no member named 'r_frame_rate': dropped, avg_frame_rate used instead error: unknown type name 'ReSampleContext' : this is defined in libavresample/resample.h, which should be shipped with libav ebuild, but not present in /usr/include/libavresample, thus the structure is included in the patch
+*gst-plugins-ffmpeg-0.10.13_p201211-r4 (30 May 2015) + + 30 May 2015; Pacho Ramos <pacho@gentoo.org> + +files/0.10.13_p201211-audioresample.patch, + +files/0.10.13_p201211-r_frame_rate.patch, + +files/0.10.13_p201211-snow-codec.patch, + +gst-plugins-ffmpeg-0.10.13_p201211-r4.ebuild: + Support libav-11 too (#509326 by Nikoli, mudler and others). +
mudler, thanks for patches, now it builds fine. But for me it does not work with media-video/subtitleeditor-0.41.1-r1: $ LANG="en_US.UTF-8" subtitleeditor /tmp/sample.mkv (gst-plugin-scanner:22419): GStreamer-WARNING **: Failed to load plugin '/usr/lib64/gstreamer-0.10/libgstffmpeg.so': /usr/lib64/gstreamer-0.10/libgstffmpeg.so: undefined symbol: audio_resample_close Config::Config > No such file or directory ** (subtitleeditor:22418): WARNING **: No decoder available for type 'audio/mpeg, mpegversion=(int)4, framed=(boolean)true, codec_data=(buffer)11b0, channels=(int)6, rate=(int)48000, stream-format=(string)raw'. [/var/package-manager/tmp/portage/media-libs/gst-plugins-base-0.10.36-r1/work/gst-plugins-base-0.10.36/gst/playback/gsturidecodebin.c(874): unknown_type_cb (): /gtkmm__GstPlayBin2:pipeline/GstURIDecodeBin:uridecodebin0] ** (subtitleeditor:22418): WARNING **: No decoder available for type 'video/x-h264, level=(string)4, profile=(string)high, codec_data=(buffer)01640028ffe1001b67640028ac11121102b049a1000003000100000300328f1831846001000568eeb2c8b0, stream-format=(string)avc, alignment=(string)au, width=(int)688, height=(int)576, pixel-aspect-ratio=(fraction)489/344, framerate=(fraction)25/1, parsed=(boolean)true'. [/var/package-manager/tmp/portage/media-libs/gst-plugins-base-0.10.36-r1/work/gst-plugins-base-0.10.36/gst/playback/gsturidecodebin.c(874): unknown_type_cb (): /gtkmm__GstPlayBin2:pipeline/GstURIDecodeBin:uridecodebin0]