Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 509326 - media-plugins/gst-plugins-ffmpeg-0.10.13_p201211-r1 is incompatible with >=media-video/libav-10
Summary: media-plugins/gst-plugins-ffmpeg-0.10.13_p201211-r1 is incompatible with >=me...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: GStreamer package maintainers
URL: http://cgit.openembedded.org/meta-ope...
Whiteboard:
Keywords: NeedPatch
: 519304 544338 (view as bug list)
Depends on:
Blocks: libav-10
  Show dependency tree
 
Reported: 2014-05-01 21:42 UTC by Nikoli
Modified: 2015-06-09 21:55 UTC (History)
11 users (show)

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


Attachments
build.log (gst-plugins-ffmpeg-0.10.13_p201211-r1_build.log,43.52 KB, text/plain)
2014-05-01 21:42 UTC, Nikoli
Details
libav10 (and 11) compat patch. compiles, but is otherwise UNTESTED. (gst-plugins-ffmpeg-libav10-compat.patch,6.59 KB, patch)
2014-11-01 11:06 UTC, Mihai Moldovan
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nikoli 2014-05-01 21:42:47 UTC
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'
Comment 1 Nikoli 2014-07-12 14:42:53 UTC
I looked how other distros deal with it: debian builds in chroot using old libav, arch builds using internal (and insecure) ffmpeg copy.
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-08-07 16:30:28 UTC
*** Bug 519304 has been marked as a duplicate of this bug. ***
Comment 3 Mihai Moldovan 2014-11-01 11:06:17 UTC
Created attachment 387942 [details, diff]
libav10 (and 11) compat patch. compiles, but is otherwise UNTESTED.
Comment 4 Nikoli 2014-11-06 07:06:21 UTC
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
Comment 5 tman 2015-02-11 01:20:29 UTC
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
Comment 6 tman 2015-02-12 00:48:00 UTC
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?
Comment 7 Nikos Chantziaras 2015-02-12 11:43:12 UTC
(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.
Comment 8 tman 2015-02-12 22:25:33 UTC
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."
Comment 9 Nikos Chantziaras 2015-02-12 22:32:44 UTC
(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.
Comment 10 Alexandre Rostovtsev (RETIRED) gentoo-dev 2015-02-19 03:21:08 UTC
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.
Comment 11 Nikos Chantziaras 2015-02-19 03:29:36 UTC
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.
Comment 12 Pacho Ramos gentoo-dev 2015-02-20 11:09:15 UTC
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
Comment 13 Alexandre Rostovtsev (RETIRED) gentoo-dev 2015-03-24 15:00:35 UTC
*** Bug 544338 has been marked as a duplicate of this bug. ***
Comment 14 Fat-Zer 2015-04-29 12:46:28 UTC
May be you could add yet another use flag to
Comment 15 Fat-Zer 2015-04-29 12:51:05 UTC
* 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.
Comment 16 Pacho Ramos gentoo-dev 2015-05-28 10:49:25 UTC
*** Bug 550426 has been marked as a duplicate of this bug. ***
Comment 17 Pacho Ramos gentoo-dev 2015-05-28 11:32:05 UTC
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
Comment 18 Ettore Di Giacinto (RETIRED) gentoo-dev 2015-05-29 18:45:58 UTC
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
Comment 19 Pacho Ramos gentoo-dev 2015-05-30 15:36:12 UTC
+*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).
+
Comment 20 Nikoli 2015-06-09 21:55:58 UTC
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]