Skip to content
Snippets Groups Projects
  1. Aug 12, 2022
  2. Aug 08, 2022
  3. Jul 29, 2022
    • Alexandre Janniaux's avatar
      ios: add helper scripts to export dynamic frameworks · b9a93fdd
      Alexandre Janniaux authored
      For instance:
      
          ./export_plugin.sh build-iphoneos-arm64-dynamic/vlc-iphoneos-arm64/ output_folder/
      
      It will export and bundle the dylibs into a framework, adapt their
      mach-o headers to signal the correct rpath identifier, add the matching
      Info.plist and sign everything.
      b9a93fdd
    • Alexandre Janniaux's avatar
      HACK: modules: bank: load framework plugins on iOS · 08c92bc0
      Alexandre Janniaux authored
      On iOS, there's no folder plugins, and every plugins are located at the
      Application root/Frameworks/ folder, so we need to probe this folder
      instead of the plugins/ suffixed path. In addition, the library path
      located by VLC will redirect to foo.app/Frameworks/vlccore.framework/vlc
      which doesn't correspond to the correct path. It mostly affects 3.0.x
      branch and not next 4.0 or more branches.
      08c92bc0
    • Alexandre Janniaux's avatar
      darwin: redirect VLC_PKG_LIB_DIR/plugins on iOS · 08fe82b8
      Alexandre Janniaux authored
      On iOS and tvOS, dylibs must be wrapped into a framework and frameworks
      must be flattened into the frameworks/ application directory (or global
      to the system which is not possible in the general case), so dylibs
      can't be in the VLC_PKG_LIB_DIR/plugins folder. Redirect
      VLC_PKG_LIB_DIR/plugins toward VLC_PKG_LIB_DIR/ on those platforms.
      
      Manual cherry-pick from commit 89e90672.
      The code is written directly in the src/modules/bank.c code given that
      config_GetSysPath doesn't exist in 3.0.
      08fe82b8
    • Alexandre Janniaux's avatar
      module: bank: fix typo in framework loading · d429d25c
      Alexandre Janniaux authored
      The arguments to AllocatePluginFile were written in reverse, leading to
      vlc_stat failing to find the file. In addition the value that should
      have been written `-(sizeof ".framework" -1)` was actually written as
      `-sizeof ".framework" -1` and thus `foo_plugin` was instead `foo_plug`.
      
      Typo from function refactor in 70d3002b.
      d429d25c
    • Alexandre Janniaux's avatar
      bank: add support for browsing frameworks · 64d6b1d1
      Alexandre Janniaux authored
      Darwin platforms are using frameworks to embed libraries. Some of them
      like iOS and tvOS even forbid the use of dynamic libraries that are not
      wrapped into a framework.
      
      Since frameworks can contain various things (headers, resources, etc),
      we don't necessarily want to browse their whole tree if their structure
      is well-defined. In our case, since plugins are bundles and not dylibs,
      there's not linking and there's no point in supporting versionning so we
      can expect the plugin's dynamic library in the root of the framework,
      named like the framework without the .framework part.
      
      Since MacOSX can also make use of frameworks, this is enabled for all
      darwin platforms, though it might not use them.
      64d6b1d1
  4. Jul 28, 2022
  5. Jul 27, 2022
    • Alexandre Janniaux's avatar
      test: add iosvlc.m for iOS development · eccafe16
      Alexandre Janniaux authored
      
      iosvlc.m provides a binary usable as an iOS application, forwarding the
      VLC arguments just like VLC on desktop. It allows easier iteration on
      vlccore development for iOS, without the need to test in a VLCKit
      application like VLC for iOS or new external application.
      
      It is currently designed for usage with dynamic plugins.
      
      To develop with it, you must generate a .ipa archive containing both
      the resulting binary as executable, a PkgInfo file, an Info.plist file
      describing the package and the libs (libvlc.dylib, libvlccore.dylib, and
      every plugin .dylib or additional convenience libraries that are not
      linked statically in the Frameworks/ directory. It must then be signed
      with a developer certificate allowed by Apple and provisionned with a
      mobileprovision file allowing installation on the given device for the
      same developer certificate.
      
      Then, tools like libimobiledevice can be used to start the application
      with additional arguments or environment variables. They can also be
      added in XCode through the "Edit Scheme" menu.
      
      A big part of the iOS-specific code has been originally written by
      Marvin Scholz in a more complete libVLC ios sample.
      
      Co-authored-by: default avatarMarvin Scholz <epirat07@gmail.com>
      
      Cherry-picked and adapted from commits:
      e16f4d9b
      0bfe8803
      96bee418
      904998af
      54c392d7
      eccafe16
    • Alexandre Janniaux's avatar
      package: apple: backport build script for iOS · 09b49d50
      Alexandre Janniaux authored
      The build script allows building for iOS/tvOS without pulling the whole
      VLCKit project, to build a standalone library for integrating libvlc in
      applications.
      
      The main goal is being able to maintain libVLC 3.0 without requiring the
      whole VLCKit environment to run tests.
      
      Cherry-picked from master branch at commit version
      44d44176, and modified the build.conf to
      have all enabled contribs building.
      09b49d50
  6. Jun 24, 2022
    • Rémi Denis-Courmont's avatar
      qt: do not normally reparent the video · 327a9cf0
      Rémi Denis-Courmont authored
      When the video window is closed normally, there are no needs to
      reparent it. In this case, we can retain the pre-3.0.13 behaviour
      whence we simply close the video window as a children of the Qt UI.
      
      This fixes a transient visual glitch when stopping playback or
      disabling the video track. This also saves one full round-trip through
      the X server at that time as XSync().
      327a9cf0
    • Rémi Denis-Courmont's avatar
      qt: add flag to orphan the video · 958be95e
      Rémi Denis-Courmont authored
      The video widget is normally released when the window provider is
      closed. But it can also be released when the main UI is closed, even
      though the window provider is still active.
      958be95e
    • Rémi Denis-Courmont's avatar
      qt: remove write-only field · 8924d194
      Rémi Denis-Courmont authored
      8924d194
  7. Jun 22, 2022
  8. Jun 17, 2022
  9. Jun 14, 2022
    • Eugene Popov's avatar
      Fix the playback bar is not aligned to the bottom in the FSM on Linux · d68b590f
      Eugene Popov authored
      The reason why the playback panel is not aligned to the bottom in fullscreen mode on Linux is because the desktop environment panels (like taskbar, topbar, etc.) set `struts` that limit the area over which the top-level window can be moved programmatically. To get around this, we need to tell the window to ignore window manager hints (by setting the Qt::X11BypassWindowManagerHint flag) and manually limit its movement.
      
      BUG: 22563
      d68b590f
  10. Jun 13, 2022
  11. Jun 10, 2022
  12. Jun 09, 2022
  13. Jun 07, 2022
  14. Jun 02, 2022
    • Rémi Denis-Courmont's avatar
      wall: fix non-first abscissa of non-8-bit samples · b82adb05
      Rémi Denis-Courmont authored
      The X and Y values are pixel coordinates in the potentially subsampled
      plane resolution. This must be converted to an octet offset as the type
      of the pixel plane pointer is pointer-to-uint8_t.
      
      So the X value must be multiplied by the sample size. The current code
      was instead rounding the value down to a multiple of the sample size.
      
      Bug reported by Philipp Marek on IRC.
      
      (cherry picked from commit 87733c50)
      b82adb05
  15. May 30, 2022
Loading