[vlc-devel] [PATCH 0/7] resubmission: "preparser/fetcher + background-worker: Revised submission"

Filip Roséen filip at atch.se
Tue Mar 28 19:50:04 CEST 2017

NOTE: This submission is identical in terms of implementation compared to the
      previously submitted batch available at [1].

[1]: https://mailman.videolan.org/pipermail/vlc-devel/2017-March/112471.html


As the previous submission ended up with a very weird charset issue (due to
some helpers I have written for private use), I hereby resubmit the patches
with the correct encoding so that they are easier to apply.

I would also like to take the opportunity to somewhat bump the discussion
related to the patches in this batch. The commit message of each individual
patch hopefully describes the changes in such a way so that it does not warrant
any further explanation regarding the design decisions, but:

 - compared to the current implementation more threads are created; is this
   applicable or should one add some complexity so that the number of threads
   created are kept to a minimum? (opinion raised on IRC)

 - It allows the local-, network meta searchers, and art downloader to run in
   parallel; is this a good enough reason to spawn more threads? In my opinion
   it is, which might not come as a surprise as I am the author of said patches.

 - is the added documentation good enough to make it easy to both utilize a
   *background-worker*, and understand what it does?

Best Regards,\
Filip Roséen


Filip Roséen (7):
  playlist/background_worker: introduce background-worker utility
  playlist/preparser: refactor
  playlist/fetcher: refactor
  playlist: cancel preparsing upon playback
  playlist: fix deadlock on destruction while preparser adds items to playlist
  preparser: post-pone event until after art fetching is complete
  libvlc-module: change preparsing options descriptions

 src/Makefile.am              |   2 +
 src/libvlc-module.c          |   6 +-
 src/libvlc.c                 |   3 +
 src/misc/background_worker.c | 235 +++++++++++++
 src/misc/background_worker.h | 182 ++++++++++
 src/playlist/fetcher.c       | 783 +++++++++++++++++++------------------------
 src/playlist/fetcher.h       |   4 +-
 src/playlist/item.c          |   2 +-
 src/playlist/preparser.c     | 416 +++++++----------------
 src/playlist/preparser.h     |   8 +
 src/playlist/thread.c        |   2 +
 11 files changed, 904 insertions(+), 739 deletions(-)
 create mode 100644 src/misc/background_worker.c
 create mode 100644 src/misc/background_worker.h


More information about the vlc-devel mailing list