1. 11 Feb, 2021 8 commits
    • Alexandre Janniaux's avatar
      lib: media: wait preparse end before release · c87e487c
      Alexandre Janniaux authored
      This is a quick fix for #25296 actually reverting the commit
      a708c988, replacing the Hold/Release
      lifecycle used there by an ad-hoc Hold/Release which actually defer the
      actual release by blocking instead of releasing in the preparser thread.
      
      Indeed, libvlc_media is holding the instance used to create it, though
      it only needs it for preparsing. If the last reference of the media is
      hold by the preparser, libvlc_media will be released by the preparser
      thread and the libvlc_instance potentially released from there too.
      Since killing the libvlc_instance will join the preparser thread, it
      cannot be done from the preparser thread, or would lead to the failure
      detailed in #25296. Written differently, only the final client should
      make use of Hold/Release, directly through the adequate function or
      indirectly through the creation of new objects.
      
      In addition, a708c988 cannot just be
      reverted as it was fixing cases where the libvlc_media_t object were
      released before preparsing is finished, and the libvlc application
      cannot just wait for the preparsing event to arrive since it must still
      typically unlock the event manager and manage subitems.
      
      Ideally, the libvlc_media would just not have a strong reference to the
      libvlc instance, which would allow detaching the libvlc state from the
      libvlccore state, but it cannot be done just yet, since the preparsing
      API must be splitted from libvlc_media first.
      
      Fix #25296
      c87e487c
    • Alexandre Janniaux's avatar
      qsv: avoid displaying NULL · ddbc42d3
      Alexandre Janniaux authored
      ddbc42d3
    • Alexandre Janniaux's avatar
      qsv: use ARRAY_SIZE · 84762577
      Alexandre Janniaux authored
      84762577
    • Alexandre Janniaux's avatar
      test: iosvlc: fix -fobjc-arc · 1d759410
      Alexandre Janniaux authored
      The -fobjc-arc was defined on CFLAGS whereas the only file compiled is
      an objective-C file, thus it was unused. With the flag moved to
      OBJCFLAGS, ARC is breaking the compilation because of a missing
      __bridge cast.
      1d759410
    • Alexandre Janniaux's avatar
      wgl: remove extension handling · 2297522a
      Alexandre Janniaux authored
      2297522a
    • Alexandre Janniaux's avatar
      interop_dxva2: load extension from vlc_gl_t · 25ae4116
      Alexandre Janniaux authored
      Fixes #25234
      25ae4116
    • Alexandre Janniaux's avatar
      video_filter: Makefile: always define ci_filters's LDFLAGS · 95ee3351
      Alexandre Janniaux authored
      Otherwise, AM_LDFLAGS won't get added to the target on iOS since there
      is a target (though unused) defining LDFLAGS for MacOSX, leading to
      incorrect build of the plugin.
      95ee3351
    • Alexandre Janniaux's avatar
      apple: add support for partial linking · 4bf05c5c
      Alexandre Janniaux authored
      Each plugin built as archive library will have its object partially
      linked before getting ar-chived. The work here is also partial since
      dependencies are not partially-linked into the plugin too. In the
      future, it will help prevent clashing of symbols between plugins and
      reduce bloats in the final library archive on the current iOS static
      build.
      
      Note that this trades optimization window for less object bloating and
      the guarantee that each plugin is only made of one object. Next step is
      to be able to include the contribs and properly localize the symbols
      that are not meant to be exposed for the VLC plugin ABI.
      4bf05c5c
  2. 10 Feb, 2021 31 commits
  3. 09 Feb, 2021 1 commit