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

Create dynamic .dylib frameworks for iOS #152

Closed
ufoq opened this issue Sep 11, 2021 · 5 comments
Closed

Create dynamic .dylib frameworks for iOS #152

ufoq opened this issue Sep 11, 2021 · 5 comments
Assignees
Labels
apple Affect Apple platforms enhancement New feature or request fixed-in-v4.5.1 scripts Affect build scripts v4.4 Affects v4.4 release v4.5 Affects v4.5 release

Comments

@ufoq
Copy link

ufoq commented Sep 11, 2021

Is your feature request related to a problem? Please describe.
Currently ffmpeg-kit generates only static libs for iOS, what means that in order to satisfy LGPL rules I'd need to make my whole project GPL/LGPL or publish object files somewhere, so user can relink app with modified version of the lib. Handling object files is problematic - you'd need to configure project in a weird way that builds 'core' part of your project as some static lib that you publish alongside your app that is on app store. If I understand correctly since ios 8, we can use dylibs, what makes things easier.

Describe the solution you'd like
I'd like to have an option to use ffmpeg as dylib for ios 8+

Describe alternatives you've considered
Alterntaive is to make apps GPL (that may not be desirable for commercial projects) or over-complicate process of publishing app because of LGPL libraries.

Platform
iOS

@tanersener tanersener added the enhancement New feature or request label Sep 11, 2021
@foobra
Copy link

foobra commented Sep 15, 2021

@ufoq ios dynamic library usually use framework as extension

@tanersener tanersener self-assigned this Nov 6, 2021
@tanersener tanersener added apple Affect Apple platforms fixed-on-development Fixed on the development branch. Not released yet. v4.4 Affects v4.4 release v4.5 Affects v4.5 release scripts Affect build scripts labels Nov 6, 2021
@tanersener
Copy link
Collaborator

Build scripts for the Apple platforms are updated to generate shared libraries on the development branch. ffmpeg-kit libraries will be shared on the next release.

Ability to create static libraries is dropped too.

Difficulty in licensing is main reason.
Other than that, dynamic libraries are easier to maintain. There are a lot of extra things we were doing in order to publish frameworks as static. By switching to shared frameworks it will be easier for us to make modifications, add new libraries. Some parts of the documentation will also be simplified.

@tanersener tanersener added fixed-in-v4.5.1 and removed fixed-on-development Fixed on the development branch. Not released yet. labels Dec 31, 2021
@tanersener
Copy link
Collaborator

These changes are released in v4.5.1.

@BitBlueDevStudio
Copy link

Is there any instruction on how to do described above things in macOS/iOS projects?
How to build app, so users can change ffmpeg lib?

@tanersener
Copy link
Collaborator

Instructions for building ffmpeg-kit are provided in the Building section of the wiki.

As for modifying ffmpeg-kit within an existing application, it depends on application's build system. This question should be directed to the application developer. We're unable to address it here in ffmpeg-kit I'm afraid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
apple Affect Apple platforms enhancement New feature or request fixed-in-v4.5.1 scripts Affect build scripts v4.4 Affects v4.4 release v4.5 Affects v4.5 release
Projects
None yet
Development

No branches or pull requests

4 participants