1. 26 Jan, 2021 2 commits
  2. 25 Jan, 2021 21 commits
    • Alexandre Janniaux's avatar
      ios: display: delete obsolete display module · 15495e3c
      Alexandre Janniaux authored
      Now that the Core Animation layer baked EAGL implementation is available
      as an usual vlc_gl_t opengl es2 provider, and that the UI interaction
      with the UIView has been moved to a specific vout window module, we
      don't need a specific display code for OpenGL on iOS and can rely on the
      usual linux/android module.
      15495e3c
    • Alexandre Janniaux's avatar
      c0fa60ad
    • Alexandre Janniaux's avatar
      interop_cvpx: debug · 4ef276e5
      Alexandre Janniaux authored
      4ef276e5
    • Alexandre Janniaux's avatar
      video_output: refactor vlc_gl_api into opengl providers · 7a438517
      Alexandre Janniaux authored
      This is part 4/ of the RFC OpenGL filter refactor implementation aiming
      at reworking the OpenGL providers to be the sole linker to OpenGL
      libraries.
      
      Currently, OpenGL providers are linking the provider libraries like EGL,
      GLX, or CoreVideo but OpenGL is already sometimes needed to those kind
      of modules. But in the general case, OpenGL / OpenGL ES must be linked
      to the clinets modules, using the VLC OpenGL vtable because they need to
      load it themselves and it's not always done in a dynamic way through
      GetProcAddress mechanisms.
      
      Instead, link OpenGL / OpenGL ES to the provider modules bringing the
      OpenGL features themselves. In particular, on Apple systems, it avoid
      the need to link OpenGL framework to every OpenGL users, thus needing
      special handling in buildsystem, and on other systems exposing both
      OpenGL and OpenGL ES, it prepares to have different targets for both
      variants in the future too.
      
      Note that only a pointer is passed in the vlc_gl_t interface. It's
      mostly because `struct vlc_gl_api` is defined in a module whereas
      vlc_gl_t is a libvlccore object. Thus, the module implementor is
      responsible for allocating (probably in his sys) the struct vlc_gl_api
      and forward the pointer to the core. It's currently particularily
      important given that some supported platforms don't have OpenGL and in
      particular don't have OpenGL headers.
      
      It also prepares defining tools for automatically testing shaders even
      though they would be generated dynamically during runtime, and defining
      layers for debugging purpose.
      
      This is also fixing the current issues on Windows where the functions
      are dynamically loaded through WGL, but not found instead of being
      dynamically linked like the Windows environment expects. Indeed, Windows
      is supposed to be declared with HAVE_GL_CORE_SYMBOLS but since rework
      into libvlc_opengl libraries, it cannot work anymore by loading the
      symbols on the display. By putting the define on the display, other
      OpenGL providers like egl_angle would fail to link since the symbol
      would not even exist at compilation time, so it would mean that the same
      display must be compiled multiple times, linked to the corresponding
      OpenGL implementation. This patchset goes the way around and actually
      completely remove the need to link the OpenGL implementation in the
      display.
      
      The last pain point for independence stem from the OpenGL headers
      themselves which are different between OpenGL and OpenGL ES. Note that
      this patchset doesn't do the necessary refactor to avoid using `gl`
      pointer in OpenGL code that would only use the `api` field, so there are
      multiple places in which some modules actually have access to different
      api pointer, though it's the same. Given the complexity for testing this
      code, and the fact it fixes the Windows GL provider too, I evaluated
      that merging it first was an acceptable tradeoff and it is left for a
      future refactor.
      
      This commit also disable vgl on winstore because of the lack of headers.
      
      Tested on iOS, MacOSX (macosx.m), Windows and Linux.
      7a438517
    • Alexandre Janniaux's avatar
      apple: build.sh: rework MAKEFLAGS jobs count · a5dc0a00
      Alexandre Janniaux authored
      Forward the global MAKEFLAGS but adds the job count as is:
       - pass the number of core by default to keep the current behaviour of
         the script.
       - if the number of core is forwarded to MAKEFLAGS, use them instead of
         the previous.
       - if the number of core is explicitly given to the buildscript through
         the -j option, use them instead of the previous.
      a5dc0a00
    • Alexandre Janniaux's avatar
      apple: build.sh: add automatic nproc jobs count · a2700c73
      Alexandre Janniaux authored
      Use the maximum number of core just like darwin by default.
      a2700c73
    • Romain Vimont's avatar
      fetcher: fix use-after-free on error · 62233f50
      Romain Vimont authored and Alexandre Janniaux's avatar Alexandre Janniaux committed
      
      
      A "goto out;" was left on the error branch, causing the task to be used-
      after-free.
      
      Signed-off-by: Alexandre Janniaux's avatarAlexandre Janniaux <ajanni@videolabs.io>
      62233f50
    • Alexandre Janniaux's avatar
      ca66dbd2
    • Alexandre Janniaux's avatar
      avcodec: encoder: init i_last_pts to VLC_TICK_INVALID · 36a125ac
      Alexandre Janniaux authored
      The value is currently only initialized by calloc().
      36a125ac
    • Alexandre Janniaux's avatar
      e6e4fddb
    • Alexandre Janniaux's avatar
      8c620d8b
    • Alexandre Janniaux's avatar
      b3894195
    • Alexandre Janniaux's avatar
      es_format: remove trailing line · 29d5ac7f
      Alexandre Janniaux authored
      29d5ac7f
    • Alexandre Janniaux's avatar
      mediacodec: fix orientation in --no-mediacodec-dr · 8e372937
      Alexandre Janniaux authored
      Fix #25210
      8e372937
    • Alexandre Janniaux's avatar
      interop_android: fix potential use-after-free of SurfaceTexture · 121bfaad
      Alexandre Janniaux authored
      picture_Release() might release the last reference to the video_context
      holding the previous_texture SurfaceTexture, which still needs to be
      detached and potentially have its bufer released.
      121bfaad
    • Alexandre Janniaux's avatar
      android: window: check jobj before creating window · faf48ec1
      Alexandre Janniaux authored
      To avoid creating a AWindowHandler without window.
      faf48ec1
    • Alexandre Janniaux's avatar
      lib: media_player: remove special android case · acf6f15c
      Alexandre Janniaux authored
      OpenGL callbacks can now work with mediacodec hardware acceleration
      without the need for Android window.
      acf6f15c
    • Alexandre Janniaux's avatar
      chromecast: fix deprecation warning · 0c6490e3
      Alexandre Janniaux authored
      ByteSizeLong is available since 2016-09-23 version 3.1.0 according to
      protobuf CHANGES.txt.
      0c6490e3
    • Alexandre Janniaux's avatar
      chromecast: fix _Write return type · 4a567367
      Alexandre Janniaux authored
      vlc_tls_Write returns a ssize_t.
      4a567367
    • Alexandre Janniaux's avatar
      mpeg: ts: remove unused variable · daf23882
      Alexandre Janniaux authored
      daf23882
    • Alexandre Janniaux's avatar
      mpeg: es: fix -Wsign-compare warning · 4a1ea130
      Alexandre Janniaux authored
      ../../modules/demux/mpeg/es.c: In function 'GenericProbe':
      WARNING : ../../modules/demux/mpeg/es.c:827: 35:  comparison of integer expressions of different signedness: 'uint64_t' {aka 'long unsigned int'} and 'ssize_t' {aka 'const long int'} [-Wsign-compare]
        827 |         if( i_skip + i_check_size > i_peek )
            |                                   ^
      4a1ea130
  3. 24 Jan, 2021 1 commit
  4. 22 Jan, 2021 13 commits
  5. 21 Jan, 2021 3 commits