Skip to content
Snippets Groups Projects
  1. Feb 28, 2023
  2. Feb 20, 2023
    • Alexandre Janniaux's avatar
      VLCMediaPlayer: provide the state in delegate · 63f6775b
      Alexandre Janniaux authored
      When the player is changing state, the delegate doesn't care about
      receiving an NSNotification or knowing from which player it was
      triggered, but it will need to know the new state from the player.
      
      It prevents calling libvlc methods from the callback, which is usually
      forbidden and works only because of the dispatch_async.
      63f6775b
    • Alexandre Janniaux's avatar
      VLCMediaPlayer: fix length changed event · 77863031
      Alexandre Janniaux authored
      The event signalling a change of media length is not a state change and
      should be reported separately with the correct metadata.
      77863031
    • Alexandre Janniaux's avatar
      VLCMediaPlayer: add track selection event API · 958b778d
      Alexandre Janniaux authored
      Add mediaPlayerTrackSelected API to signal changes reported from the
      libvlc_media_player_t object. For now, it mimics the API, by just
      transforming raw char strings into NSString, but it should be improved
      to report VLCMediaTrack instead.
      
      The blocker for reporting VLCMediaTrack is that libvlc_media_track_t are
      not reported by the media player as events currently, so it's not
      possible to get a matching libvlc object, which makes it impossible to
      get the matching VLCKit object without duplicating them.
      958b778d
    • Alexandre Janniaux's avatar
      VLCMediaPlayer: add mediaPlayerTrack event API · c50f7b2f
      Alexandre Janniaux authored
      Add mediaPlayerTrackAdded/Updated/Removed API to signal changes reported
      from the libvlc_media_player_t object. For now, it mimics the API, by
      just transforming raw char strings into NSString, but it should be
      improved to report VLCMediaTrack instead.
      
      The blocker for reporting VLCMediaTrack is that libvlc_media_track_t are
      not reported by the media player as events currently, so it's not
      possible to get a matching libvlc object, which makes it impossible to
      get the matching VLCKit object without duplicating them.
      c50f7b2f
    • Soomin Lee's avatar
      VLCMediaPlayer: VLCMediaPlayerState: Remove ESAdded/Deleted · 4719f69c
      Soomin Lee authored and Alexandre Janniaux's avatar Alexandre Janniaux committed
      ESAdded/Delete are not VLCMediaPlayer states.
      4719f69c
  3. Feb 19, 2023
  4. Feb 16, 2023
  5. Feb 15, 2023
    • Alexandre Janniaux's avatar
      VLCMedia: unify documentation for parseWithOptions · f1530dd7
      Alexandre Janniaux authored and Felix Paul Kühne's avatar Felix Paul Kühne committed
      `parseWithOptions` is provided through multiple selectors allowing
      default values to be provided in most cases. Refactor the documentation
      so that the specialized variants are referencing the more general
      variant and document the most general one.
      f1530dd7
    • Alexandre Janniaux's avatar
      doxygen: expand usual Objective-C macros · 68866762
      Alexandre Janniaux authored and Felix Paul Kühne's avatar Felix Paul Kühne committed
      Expand the usual macro found in Objective-C to ensure doxygen can parse
      the types correctly:
      
       - NS_OPTIONS() and NS_ENUM types are correctly parsed and referenced by
         doxygen, so the \see <an_enum_type> is now creating a reference link.
      
       - NS_SWIFT_NAME() is not clobbering the doxygen reference anymore.
      68866762
    • Alexandre Janniaux's avatar
      VLCMedia: match attach/detach through a common table · 0cfac2ab
      Alexandre Janniaux authored and Felix Paul Kühne's avatar Felix Paul Kühne committed
      A libvlc_event_attach call must have a matching libvlc_event_detach call
      to ensure that the event is removed, otherwise libvlc will assert when
      destroying the object.
      
      Having the attach/detach being in two different location can mask that
      they should be removed when adding a new handler for a new event, so it
      makes sense to gather everything in a single table like done in the
      commit 9db4f9c5.
      0cfac2ab
    • Alexandre Janniaux's avatar
      VLCMedia: ensure the media is initialized · d57325a3
      Alexandre Janniaux authored and Felix Paul Kühne's avatar Felix Paul Kühne committed
      Ensure that we have a fully initialized object after [VLCMedia init*]
      function returned. It allows to remove every location defensively
      checking whether p_md was assigned or not.
      d57325a3
    • Alexandre Janniaux's avatar
      VLCMedia: use early return when possible · 79c0322c
      Alexandre Janniaux authored and Felix Paul Kühne's avatar Felix Paul Kühne committed
      This reduces the number of indentation needed to every initialization
      locations. The [super init] must be called to initialized the object
      correctly and is documented as returning nil in case the initialization
      failed.
      79c0322c
    • Alexandre Janniaux's avatar
      VLCMedia: add VLCLibrary parameter for preparsing · e7ba7f19
      Alexandre Janniaux authored and Felix Paul Kühne's avatar Felix Paul Kühne committed
      Now that preparsing doesn't depend on a library assigned to the VLCMedia
      object but directly from the libvlc_instance_t used, the user might want
      to alter the parameters by providing their own VLCLibrary object, until
      a better API is made for VLCKit.
      e7ba7f19
    • Alexandre Janniaux's avatar
      VLCMedia: remove useless VLCLibrary · a99d7860
      Alexandre Janniaux authored and Felix Paul Kühne's avatar Felix Paul Kühne committed
      Refactor in VLC 4.0 removed the libvlc_instance_t parameter to most
      functions from libvlc_media_t (in particular constructor) and only kept
      it for preparsing/thumbnailing requests.
      a99d7860
    • Alexandre Janniaux's avatar
      VLCMediaPlayer: remove idleTimer control · b7d393d2
      Alexandre Janniaux authored and Felix Paul Kühne's avatar Felix Paul Kühne committed
      VLC 4.0 now has an inhibiter module for UIKit and doesn't need the
      idleTimer control. In addition, the control was using libVLC methods
      from the callback, enforcing dispatch_async to be used.
      b7d393d2
    • Alexandre Janniaux's avatar
      compileAndBuildVLCKit: remove x-test · 80cb351c
      Alexandre Janniaux authored
      test works correctly when quoting the strings already.
      80cb351c
    • Alexandre Janniaux's avatar
      compileAndBuildVLCKit: ignore lipo without sources · 1e6daa93
      Alexandre Janniaux authored
      Fix the build when -a is used to select an arch that is not buildable
      on either simulator or device, but available on the other, which led
      lipo to complain that no files were given as input.
      
      Since the previous archives are removed, and probed, it doesn't impact
      the generation of the framework.
      
      Example: ./compileAndBuildVLCKit.sh -ftnva aarch64
      1e6daa93
    • Alexandre Janniaux's avatar
      compileAndBuildVLCKit: refactor lipo construction · eed6881f
      Alexandre Janniaux authored
      Refactor the checks to create the lipo-ed build for each target from
      each target/arch couple behind a single function. Because of the
      discrepancy between VLCKit buildsystem (expecting ${os_style}-simulator-
      or ${os_style}-device- prefix) and the way VLC defines the target (which
      is directly ${os_style}simulator or ${os_style}os) and the additional
      discrepancy against macosx (which is not -os suffixed), some additional
      code is made to make them match correctly by checking whether we run in
      simulator or for device.
      eed6881f
  6. Feb 08, 2023
  7. Feb 07, 2023
  8. Feb 02, 2023
  9. Jan 17, 2023
  10. Jan 16, 2023
  11. Jan 08, 2023
  12. Jan 06, 2023
  13. Dec 20, 2022
  14. Dec 18, 2022
  15. Dec 17, 2022
  16. Dec 15, 2022
Loading