xbmc-11.0_beta3 depends on >=virtual/ffmpeg-0.6[encode], but for users of libav this is not specific enough. Out of the 3 non-masked versions, only one works: =media-video/libav-0.6.5 BAD =media-video/libav-0.7.4 GOOD =media-video/libav-0.8 BAD For users of true media-video/ffmpeg, both of the unmasked versions in portage work fine: =media-video/ffmpeg-0.7.8 GOOD =media-video/ffmpeg-0.10 GOOD Reproducible: Always Steps to Reproduce: 1. emerge =libav-0.8 2. emerge =xbmc-11.0_beta3
Created attachment 303635 [details] build.log for xbmc-11.0_beta3 against libav-0.8
Soon after reporting here, I realized upstream has released 11.0_rc1, I have tested all the same ffmpeg & libav versions against xbmc-11.0_rc1 and the results are the same as _beta3.
should be reported to the xbmc trac instead of here ...
As far as I can tell, upstream has no interest in supporting or maintaining compatibility with libav
can't say that i do either :p maybe i'll just change the dep to require ffmpeg explicitly
As much as I hate to see media-video/ffmpeg forced for xbmc when the rest of the media apps in portage are happy with the virtual and letting users choose libav instead, realistically libav is just not really a viable alternative on (current) xbmc. Maybe if you force the ffmpeg dep it will get someone fired up enough to write the proper patches for libav and push them upstream =)
*** Bug 408495 has been marked as a duplicate of this bug. ***
Hmm, I thought that patch I applied should fix it, but instead it borked it for ffmpeg. Lets see what I can do about making it work.
Created attachment 305995 [details, diff] ffmpeg patch This fixes the build against future ffmpegs (same api as libav has now).
Created attachment 305997 [details, diff] libav patch This fixes the build against libav conditionaly keeping while keeping in mind different api for libav and ffmpeg. Tested with ffmpeg-10 and libav-8
Both patches can be upstreamed I hope.
what do you mean "can be upstreamed" ? have you posted trac items for them ? if xbmc builds against ffmpeg and libav, and you clean up the patches [1], then should be fine to commit [1] http://dev.gentoo.org/~vapier/clean-patches
(In reply to comment #12) > what do you mean "can be upstreamed" ? have you posted trac items for them ? fwiw: i think they want pull requests on github for submitting patches instead of posting them to trac.
ffmpeg patch: https://github.com/xbmc/xbmc/pull/805 libav patch: https://github.com/xbmc/xbmc/pull/806
Created attachment 306407 [details, diff] ffmpeg patch Git formated patch that contain all the info desired.
Created attachment 306409 [details, diff] libav patch Git formated patch that contain all the info desired.
unfortunately, this still breaks ffmpeg-0.10 (at least for me) /var/tmp/portage/media-tv/xbmc-11.0/work/xbmc-11.0/lib/DllAvFilter.h: In member function ‘virtual int DllAvFilter::av_vsrc_buffer_add_frame(AVFilterContext*, AVFrame*, int)’: /var/tmp/portage/media-tv/xbmc-11.0/work/xbmc-11.0/lib/DllAvFilter.h:180:108: error: ‘::av_vsrc_buffer_add_frame’ has not been declared make[1]: *** [LinuxRendererGL.o] Error 1
(In reply to comment #17) > unfortunately, this still breaks ffmpeg-0.10 (at least for me) > > /var/tmp/portage/media-tv/xbmc-11.0/work/xbmc-11.0/lib/DllAvFilter.h: In > member function ‘virtual int > DllAvFilter::av_vsrc_buffer_add_frame(AVFilterContext*, AVFrame*, int)’: > /var/tmp/portage/media-tv/xbmc-11.0/work/xbmc-11.0/lib/DllAvFilter.h:180:108: > error: ‘::av_vsrc_buffer_add_frame’ has not been declared > make[1]: *** [LinuxRendererGL.o] Error 1 Aha, you are right, it is just tiny include problem, let me think about it :)
As workaround it is possible to build xbmc with EXTRA_ECONF="--disable-external-ffmpeg", maybe to add USE-flag "external-ffmpeg" or something similar to choose?
Created attachment 307173 [details] libav-ffmpeg-includes.patch The commit to be aplied on top of the libav patch that should fix the include issue in the ffmpeg.
(In reply to comment #19) no. we do not support bundling of libraries. (In reply to comment #20) thanks, this one works. added to cvs then.