Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable ffmpeg by default and build FAudio with it #2082

Closed

Conversation

GloriousEggroll
Copy link
Contributor

@GloriousEggroll GloriousEggroll commented Dec 13, 2018

It was suggested that I make a PR with the necessary changes for faudio to be built with ffmpeg in proton and enabled in wine, so here we are.

mat8913 and others added 2 commits December 15, 2018 14:44
This is so ld can find ffmpeg when required by faudio.
wine LDFLAGS: Add lib path to -rpath-link
@flibitijibibo
Copy link
Contributor

A possible optimization would be to remove FFmpeg from this repo and link to the Steam Runtime’s copy instead. The licensing limitations are the same for both projects, that would just make it so we’re building one less thing in Proton.

I’d also need to tweak FAudio a bit to use WMAERROR even when HAVE_FFMPEG is defined; not difficult but would make the user experience nicer when it’s not there.

@mat8913
Copy link

mat8913 commented Dec 17, 2018

The Steam Runtime seems to have a super old version of Libav (a fork of FFMpeg). I'm not sure if FAudio will be able to link to it.

@GloriousEggroll GloriousEggroll changed the base branch from proton_3.16 to proton_4.2 April 4, 2019 21:06
@GloriousEggroll
Copy link
Contributor Author

changed to current branch and cleaned up conflicts, + added ffmpeg to dist: target

@soredake
Copy link
Contributor

Any progress?

@flibitijibibo
Copy link
Contributor

@soredake Have the patents expired yet?

@foresto
Copy link

foresto commented Dec 29, 2019

By the way, which patents are they?

@flibitijibibo
Copy link
Contributor

flibitijibibo commented Dec 30, 2019

IANAL but I think some of them fall under the VC-1 bundle, but the complete list is unknown.

ASF expired a few years ago though! https://patents.google.com/patent/US6041345

EDIT: Was looking at the application status, which is always today...

@foresto
Copy link

foresto commented Dec 30, 2019

WMA v2 is old. It looks like the decoder in ffmpeg is over 17 years old, and I would expect any patents on the process or format to be even older. Aren't US patents limited to 20 years from the filing date?

Is there someone in the community who knows which patents make WMA decoding unsuitable for inclusion in Wine? It would be a pity to reject a useful audio decoder based on speculation or FUD. At the very least, knowing which patents we're afraid of would allow planning a date for making progress.

@tgurr
Copy link
Contributor

tgurr commented Jan 22, 2020

@lieff
Copy link

lieff commented Jan 22, 2020

@tgurr Both seems related to audio encoder algorithm, not decoder.

@foresto
Copy link

foresto commented Jan 22, 2020

@tgurr Both seems related to audio encoder algorithm, not decoder.

Also, ffmpeg's WMA decoder (including WMAv2, used for xWMA games) already existed for several years before the dates on those patents. Another reason to doubt that they apply here.

@tgurr
Copy link
Contributor

tgurr commented Jan 23, 2020

@lieff @foresto Thank you very much for the clarification and sorry for the noise.

@soredake
Copy link
Contributor

Debian/ubuntu ship ffmpeg and faudio with ffmpeg support enabled.

@Galcian79
Copy link

I have an issue with ffmpeg proton builds in Skyrim SE. No sound is played except the intro logo. It works fine in official proton with xaudio and the required hacks.
Tested with Proton 5.8 GE-MF-1 and proton 5.0.7

@kattjevfel kattjevfel mentioned this pull request Jul 27, 2020
2 tasks
@flibitijibibo
Copy link
Contributor

FAudio now only needs -DGSTREAMER=ON to be configured with support for WMA. It's still up to the distributor to provide a GStreamer plugin, and we'll fail the same way as before if it's not available, but now we don't require FFmpeg to be present to build/run.

@GloriousEggroll
Copy link
Contributor Author

Closing this as the functionality has now been replaced with gstreamer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants