[vlc-devel] [PATCH 00/14] Move VLM implementation to a module

Romain Vimont rom1v at videolabs.io
Tue Sep 15 19:37:32 CEST 2020


This removes a lot of VLM code (including parsing) from libvlccore.

This patchset is a pure technical refactor (moving code around), there is no
change in features or design, and it does not impact callers (Qt and lua).

The core contains:
 - vlm_New() and vlm_Delete() (which internally opens/closes the module,
   used by the core, Qt and lua)
 - the vlm_message_t API (this is how Qt communicates with VLM)
 - the vlm_media_t stuff (also used by Qt)
 - the vlm_event_t API (in fact it is not used at all, only the impl uses the
   types to trigger the events, but I kept it in the public API because making
   it private would make no sense, it might be removed later)

The VLM module contains the implementation (without changes):
 - commands parsing (vlmshell)
 - scheduling
 - list of media (playlist-like)
 - playback (using a vlc_player_t)

The next cleanup step might be to replace the manual "list of media" by a
vlc_playlist_t.

Branch: https://code.videolan.org/rom1v/vlc/commits/vlm_module.v1

Regards,

Romain Vimont (14):
  vlm: remove custom logger from media
  vlm: remove unnecessary vlc_object
  vlm: remove wrong assertion
  vlm: load file using a separate function
  vlm: remove useless includes
  vlm: move vlm instances counter to private struct
  vlm: move vlm fields to sys
  vlm: call vlm via ops
  vlm: extract open/close
  vlm: extract core-part to a separate file
  threads: expose vlc_cond_timedwait_daytime()
  vlm: move implementation to module
  vlm: rename vlmcore.c to vlm.c
  vlm: privatize VLM internal types and functions

 include/vlc_threads.h                  |   2 +-
 include/vlc_vlm.h                      | 200 +-----
 modules/Makefile.am                    |   1 +
 modules/gui/qt/dialogs/vlm/vlm.cpp     |   2 +-
 modules/lua/libs/vlm.c                 |   2 +-
 modules/vlm/Makefile.am                |   7 +
 modules/vlm/vlm.c                      | 937 ++++++++++++++++++++++++
 {src/input => modules/vlm}/vlm_event.c |   0
 {src/input => modules/vlm}/vlm_event.h |   0
 modules/vlm/vlm_internal.h             | 265 +++++++
 {src/input => modules/vlm}/vlmshell.c  | 132 +---
 src/Makefile.am                        |   4 +-
 src/input/vlm.c                        | 939 ++-----------------------
 src/input/vlm_internal.h               | 106 ---
 src/libvlc.c                           |   8 +-
 src/libvlccore.sym                     |   1 +
 16 files changed, 1367 insertions(+), 1239 deletions(-)
 create mode 100644 modules/vlm/Makefile.am
 create mode 100644 modules/vlm/vlm.c
 rename {src/input => modules/vlm}/vlm_event.c (100%)
 rename {src/input => modules/vlm}/vlm_event.h (100%)
 create mode 100644 modules/vlm/vlm_internal.h
 rename {src/input => modules/vlm}/vlmshell.c (94%)
 delete mode 100644 src/input/vlm_internal.h

-- 
2.28.0



More information about the vlc-devel mailing list