[vlc-devel] [RFC 00/10] Adding stream-extractor module type
Filip Roséen
filip at atch.se
Mon Nov 28 03:22:19 CET 2016
These changes are all related to a new module type that will be used to extract
partial content from a stream. The goto example is handling of data within a
compressed archive, and extracting data that denotes a single entity (among
several) within the archive in question.
I hope the doxygen comments will answer any further questions, but if not I will
do my best to explain the rationale behind the implementation.
: Disclaimer
:-------------------------------------------------------------------------------
Given that all of these changes are part of a far bigger branch, I really hope
that the rebasing related to this patch-batch does not introduce misleading
information (or simply misses something that, by mistake, is then part of later
changes).
I have tried to verify this myself numerous times, but the more who could help
review this, the better.
: Future patches
:-------------------------------------------------------------------------------
Code has already been written that uses the module type introduced by the
patches in this patch-batch, such as:
- a compressed archive stream-extractor (replacing the somewhat obsolete
implementations currently present within the codebase).
- a torrent stream-extractor
As another example, lua-bindings have also been written, but in order to not
completely flood the mailing list with a trillion patches, what has been
mentioned will be sent at a later time (when these changes has, hopefully, been
approved).
: Why the (standalone) documentation?
:-------------------------------------------------------------------------------
The patches matching `^doc: ` are not too important, but I decided to leave them
in this patch-set because they might help to further understand what these
changes are about.
When/if merged, those changes can be dropped - even though I personally feel we
should document all entities related to VLC (including MRLs).
: Frog in a blender
:-------------------------------------------------------------------------------
According to http://www.chris.com/ascii/index.php?art=objects/blender, the
below is a "frog in a blender". I'm not sure if it is at all relevant to the
contents of this patch-batch.. but I thought it was a little funny.
_____.-._____
'-------------'
| (o)(0) |
| o.(.--).o |
\ O` ) : `o /
| o.( _).O |
\O' `- 'o /
| >|< |
\_______/
.'==========='.
/ o o o o o o o \ LGB
'-----------------'
Best Regards,
Filip Roséen
Filip Roséen (10):
doc: add location for standalone documentation
doc: document Media Resource Locator
core: add stream_extractor module type
stream_extractor: add vlc_stream_extractor_Attach
stream_extractor: add vlc_stream_extractor_CreateMRL
input/demux: prepare input_DemuxNew for future functionality
input/demux: handle MRL-sections in src/input/demux.c
input/mrl_helpers: add mrl_FragmentSplit
input/demux: input_DemuxNew: add support for mrl-fragment-identifiers
doc: document changes in MRL-handling
doc/Doxyfile.in | 1 +
doc/standalone/mrl.dox | 142 +++++++++++++++++++++
include/vlc_stream_extractor.h | 118 ++++++++++++++++++
modules/Makefile.am | 1 +
modules/stream_extractor/Makefile.am | 0
src/Makefile.am | 2 +
src/input/demux.c | 148 +++++++++++++++++++---
src/input/demux.h | 5 +-
src/input/input.c | 73 +----------
src/input/mrl_helpers.h | 139 +++++++++++++++++++++
src/input/stream_extractor.c | 232 +++++++++++++++++++++++++++++++++++
src/libvlccore.sym | 2 +
12 files changed, 776 insertions(+), 87 deletions(-)
create mode 100644 doc/standalone/mrl.dox
create mode 100644 include/vlc_stream_extractor.h
create mode 100644 modules/stream_extractor/Makefile.am
create mode 100644 src/input/mrl_helpers.h
create mode 100644 src/input/stream_extractor.c
--
2.10.2
More information about the vlc-devel
mailing list