[vlc-devel] [RFC] [PATCH 0/4] VLC object resource tracking
Rémi Denis-Courmont
remi at remlab.net
Sat Jun 17 21:39:11 CEST 2017
Hello,
This adds a simple resource tracking stack for module instances, with view to
simplifying clean-up paths (especially poorly tested error handling).
What this is:
- A simple way to tie resources to a module instance, so they get freed
automatically.
- A very similar (though much simpler) system than Linux kernel devres.
What this is NOT:
- A garbage collector.
- A complete patchset. Only usage example is malloc/calloc for access p_sys.
----------------------------------------------------------------
Rémi Denis-Courmont (4):
module: pass VLC object to vlc_module_unload()
objres: introduce object resources tracking
objres: add simple memory allocation
access: allocate p_sys vlc_malloc/vlc_calloc
include/vlc_modules.h | 5 +-
include/vlc_objects.h | 4 +
modules/access/alsa.c | 6 +-
modules/access/attachment.c | 4 +-
modules/access/avio.c | 28 ++-----
modules/access/bluray.c | 3 +-
modules/access/cdda.c | 18 +----
modules/access/concat.c | 3 +-
modules/access/dc1394.c | 7 +-
modules/access/directory.c | 4 +-
modules/access/dv.c | 3 +-
modules/access/file.c | 3 +-
modules/access/ftp.c | 7 +-
modules/access/http.c | 6 +-
modules/access/idummy.c | 14 +---
modules/access/imem-access.c | 10 +--
modules/access/imem.c | 3 +-
modules/access/jack.c | 9 +--
modules/access/nfs.c | 5 +-
modules/access/oss.c | 3 +-
modules/access/pulse.c | 7 +-
modules/access/rdp.c | 5 +-
modules/access/satip.c | 4 +-
modules/access/sdp.c | 13 +--
modules/access/sftp.c | 3 +-
modules/access/shm.c | 21 ++---
modules/access/smb.c | 5 +-
modules/access/timecode.c | 14 +---
modules/access/udp.c | 7 +-
modules/access/vdr.c | 3 +-
modules/access/vnc.c | 15 +---
modules/access/wasapi.c | 4 +-
modules/audio_output/mmdevice.c | 2 +-
modules/audio_output/winstore.c | 2 +-
modules/codec/avcodec/va.c | 2 +-
src/Makefile.am | 1 +
src/libvlc.h | 42 ++++++++++
src/libvlccore.sym | 2 +
src/misc/messages.c | 4 +-
src/misc/objects.c | 3 +
src/misc/objres.c | 170 +++++++++++++++++++++++++++++++++++++++
+
src/misc/variables.h | 5 ++
src/modules/modules.c | 13 ++-
src/network/tls.c | 2 +-
src/video_output/window.c | 2 +-
45 files changed, 304 insertions(+), 192 deletions(-)
create mode 100644 src/misc/objres.c
--
雷米‧德尼-库尔蒙
https://www.remlab.net/
More information about the vlc-devel
mailing list