Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • VLC VLC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,725
    • Issues 3,725
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 224
    • Merge requests 224
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • VideoLANVideoLAN
  • VLCVLC
  • Merge requests
  • !3166

Draft: src: android: split jni_OnLoad/OnUnload from the core

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Alexandre Janniaux requested to merge alexandre-janniaux/vlc:android-plugins/1 into master Jan 25, 2023
  • Overview 15
  • Commits 1
  • Pipelines 2
  • Changes 3

Create a separate shared object (libvlc_android.so) to provide the javaVM support in VLC core and libvlc. The application is responsible from loading the shared object and it will provide the JavaVM for the different clients needing it.

The core now optionnally (with runtime detection) depends on the JVM availability instead of needing it unconditionnally, which also expand the usage of the core on Android.

In a static build like currently for the libvlcjni releases, the library will be built as a static archive too, and the two symbols will be integrated into the final shared object, leading to no specific changes for clients except the addition of the library in the final object being linked. The HAVE_DYNAMIC_PLUGINS flag is used to replace the dynamic linking in this case.

See also !300.

Draft since the changes are not tested on static build yet and there are still some work to do (system_Unconfigure part of the change from jni_OnUnload).

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: android-plugins/1

VideoLAN code repository instance