Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 645000 - media-tv/kodi-17.6-r2 with >=media-video/ffmpeg-3.4 - sound corruption when playing videos
Summary: media-tv/kodi-17.6-r2 with >=media-video/ffmpeg-3.4 - sound corruption when p...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Craig Andrews
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-18 23:40 UTC by faminebadger
Modified: 2019-03-13 11:03 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description faminebadger 2018-01-18 23:40:44 UTC
The kodi 17.6-r1 ebuild correctly identifies that kodi 17 does not support ffmpeg >= 3.4:

> 	system-ffmpeg? (
> 		>=media-video/ffmpeg-${FFMPEG_VERSION}:=[encode,openssl,postproc]
> 		<media-video/ffmpeg-3.4

However, the recently available kodi 17.6-rs ebuild has changed this:

> 	system-ffmpeg? (
> 		>=media-video/ffmpeg-${FFMPEG_VERSION}:=[encode,openssl,postproc]
> 		!~media-video/ffmpeg-3.4

This change is daft, because now ffmpeg has a 3.4.1 ebuild, the latter doesn't block it whereas the former did.
	
On my system this causes sound corruption when playing videos in kodi (in previous kodi versions it was video not showing).

Masking ffmpeg >= 3.4 fixes the problem for me.

Why was this change done, given the developers of kodi have stated kodi 17 will never support ffmpeg 3.4+, as they're concentrating on kodi 18.
Comment 1 Larry the Git Cow gentoo-dev 2018-01-19 11:06:37 UTC
The bug has been referenced in the following commit(s):

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

commit dbdbe218aa58a2fe9118b23b0562bb0e83852581
Author:     Alexis Ballier <aballier@gentoo.org>
AuthorDate: 2018-01-19 11:06:06 +0000
Commit:     Alexis Ballier <aballier@gentoo.org>
CommitDate: 2018-01-19 11:06:06 +0000

    Revert "media-tv/kodi: Tweak ffmpeg dep to mark only 3.4 as broken with Kodi."
    
    This reverts commit 5c4b195d0e944d418f80a85650a10cbde26ac332.
    
    Bug: https://bugs.gentoo.org/645000

 media-tv/kodi/kodi-17.6-r2.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)}
Comment 2 Mark Nowiasz 2018-01-19 11:11:52 UTC
(In reply to faminebadger from comment #0)

My workaround was unforcing -system-ffmpeg and building kodi with -system-ffmpeg, which works fine - and also was my proposal to resolve #634802, but apparently this was tantamount to heresy, so corrupted audio playback apparenty was fine, wheres using kodi's sandboxed ffmpeg (and installing the latest ffmpeg for all other packages) was not *shrug*
Comment 3 Kajzer 2018-01-19 14:48:35 UTC
How do you unforce system-ffmpeg ?
Custom ebuild ?
Comment 4 faminebadger 2018-01-19 15:17:29 UTC
(In reply to Mark Nowiasz from comment #2)

I don't really understand your comment, or what you're complaining about, but making the software go from working to not working without any user interaction or notification clearly isn't fine.

If the user needed to do something else to make it work again (e.g. un-force something), that should have been done automatically or at the very least the user should have been notified that it was required.
Comment 5 Mark Nowiasz 2018-01-19 15:33:50 UTC
(In reply to Kajzer from comment #3)
> How do you unforce system-ffmpeg ?
> Custom ebuild ?

You don't need a custom ebuild. Just create /etc/portage/profile/package.use.force with the content
media-tv/kodi -system-ffmpeg

this nullifies the entry in /usr/portage..../package.use.force

After that, you are free to use -system-ffmpeg as an use flag for kodi
Comment 6 Mark Nowiasz 2018-01-19 15:37:38 UTC
(In reply to faminebadger from comment #4)
> (In reply to Mark Nowiasz from comment #2)

> If the user needed to do something else to make it work again (e.g. un-force
> something), that should have been done automatically or at the very least
> the user should have been notified that it was required.

Hi, this refers to the discussion in 634802. Basically, my point exactly. The user shouldn't be forced to jump through hoops (like the /etc/portage/profile/package.use.force entry) to have a system where kodi runs smoothly *and* all other packages can use the latest version of ffmpeg.

The current situation is a no-brainer:

Kodi forces all other ffmpeg consumers to use an old version. With an easy use of -system-ffmpeg only kodi would be using it's own slightly obsolete version of ffmpeg, and the rest of the world could use the current version.
Comment 7 Kajzer 2018-01-19 16:40:00 UTC
(In reply to Mark Nowiasz from comment #5)
> You don't need a custom ebuild. Just create
> /etc/portage/profile/package.use.force with the content
> media-tv/kodi -system-ffmpeg

Thanks, I'll do that.

I see what you mean with all this about forcing, totally unnecessary, same thing happened with 3.4.0, I guess that dev working on this was thinking "ah well, it compiles it must be fine" without bothering to actually check is it working or not and then users for days have to figure out on their own what's going on and why Kodi isn't working. Or maybe this is done by someone who wants to be a dev and he just needs to prove himself by making this to work with the latest ffmpeg no matter what. If there's an option to use bundled ffmpeg then why not have that as an option, should be opposite, bundled ffmpeg should be forced and who wants to experiment can use latest ffmpeg.
Comment 8 Craig Andrews gentoo-dev 2018-01-19 16:49:02 UTC
(In reply to Kajzer from comment #7)
> (In reply to Mark Nowiasz from comment #5)
> > You don't need a custom ebuild. Just create
> > /etc/portage/profile/package.use.force with the content
> > media-tv/kodi -system-ffmpeg
> 
> Thanks, I'll do that.
> 
> I see what you mean with all this about forcing, totally unnecessary, same
> thing happened with 3.4.0, I guess that dev working on this was thinking "ah
> well, it compiles it must be fine" without bothering to actually check is it
> working or not and then users for days have to figure out on their own
> what's going on and why Kodi isn't working. Or maybe this is done by someone
> who wants to be a dev and he just needs to prove himself by making this to
> work with the latest ffmpeg no matter what. If there's an option to use
> bundled ffmpeg then why not have that as an option, should be opposite,
> bundled ffmpeg should be forced and who wants to experiment can use latest
> ffmpeg.

Personal attacks are not cool. This "dev" you're insulting is a human being, doing this work unpaid on his free time.

Regarding using the bundled version of ffmpeg, what you're suggesting is against policy, and for good reason: https://wiki.gentoo.org/wiki/Why_not_bundle_dependencies

Bugs happen - it's software. Report them, and we figure out fixes. Personal attacks are not necessary. Keep it productive.
Comment 9 faminebadger 2018-01-19 17:02:43 UTC
(In reply to Mark Nowiasz from comment #6)
> (In reply to faminebadger from comment #4)
> > (In reply to Mark Nowiasz from comment #2)
> 
> > If the user needed to do something else to make it work again (e.g. un-force
> > something), that should have been done automatically or at the very least
> > the user should have been notified that it was required.
> 
> Hi, this refers to the discussion in 634802. Basically, my point exactly.
> The user shouldn't be forced to jump through hoops (like the
> /etc/portage/profile/package.use.force entry) to have a system where kodi
> runs smoothly *and* all other packages can use the latest version of ffmpeg.
> 
> The current situation is a no-brainer:
> 
> Kodi forces all other ffmpeg consumers to use an old version. With an easy
> use of -system-ffmpeg only kodi would be using it's own slightly obsolete
> version of ffmpeg, and the rest of the world could use the current version.

Good, then I think we're in agreement then regarding desired behaviour :)

For now I've gone with masking ffmpeg >=3.4 in package.mask.  I'm not sure if I want to unforce system-ffmpeg - I think I probably prefer getting to kodi 18 asap :)
Comment 10 Craig Andrews gentoo-dev 2018-01-19 17:15:39 UTC
Also, media-tv/kodi-17.6-r2 (currently the latest in the tree) has this dependency:
>=media-video/ffmpeg-3.1.11
<media-video/ffmpeg-3.4

So no one should be hitting any bugs regarding kodi 17 and ffmpeg 3.4, as it's not a permitted combination.
Comment 11 faminebadger 2018-01-19 17:50:53 UTC
(In reply to Craig Andrews from comment #10)
> Also, media-tv/kodi-17.6-r2 (currently the latest in the tree) has this
> dependency:
> >=media-video/ffmpeg-3.1.11
> <media-video/ffmpeg-3.4
> 
> So no one should be hitting any bugs regarding kodi 17 and ffmpeg 3.4, as
> it's not a permitted combination.

That's because of the fix Mark mentioned in comment 1 (https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbdbe218aa58a2fe9118b23b0562bb0e83852581).

Before that fix, the line was !media-video/ffmpeg-3.4, which allowed ffmpeg-3.4.1 to match, which then fails.
Comment 12 Kajzer 2018-01-19 19:00:47 UTC
(In reply to Craig Andrews from comment #8)
> Bugs happen - it's software. Report them, and we figure out fixes. Personal
> attacks are not necessary. Keep it productive.

There are no personal attacks here, I as a user don't have to know all the rules like "why not bundled deps" , which btw I don't quite understand as the firefox for example has that option (bundled deps), maybe there are more packages like that. All I was saying is if Kodi devs don't support ffmpeg 3.4.x then why forcing it, I didn't had to use unforcing before this situation, didn't even know how.
Now I see that there is a <ffmpeg-3.4.1 , that should've been in there long time ago.
Comment 13 Shiba 2019-02-16 16:08:31 UTC
This change is needed even for 17.3 (the current stable).
Comment 14 Anthony Lieuallen 2019-03-13 03:27:24 UTC
This bug has re-occurred?

Like the last commenter above me, I notice that this happens to media-tv/kodi-17.3-r1 .  I did an emerge update and my audio got all choppy.  After experimenting with a few different possibly relevant things, I found that ffmpeg had been updated 3.3.6 -> 3.4.5.  Downgrading it back made kodi work again.

I've tried the instructions in comment#5 but they cause the kodi build to fail, so for now I've masked ffmpeg >=3.4 .
Comment 15 Shiba 2019-03-13 11:03:09 UTC
Just for reference, a new bug report has been opened here https://bugs.gentoo.org/678222
Comment 5 says when the fixed version will be stabilized.