[vlc-devel] [PATCH 00/21] input/input: add support for secondary resources in MRL
Filip Roséen
filip at atch.se
Sun Jul 31 22:42:09 CEST 2016
Introduction
-------------------------------------------------------------------------------
These set of patches are directly related to what was discussed during the
VideoLan meeting in Vienna earlier this year; in short it allows us to specify
that one would like to access a sub-item, inside a sub-item, inside a sub-item
(like playing an mkv inside a rar, inside a zip, over http).
- The documentation available in the commits should provide detailed
explanation of what is going, and why these changes are required.
- I've included sample usage of the new functionality in the patch related to
the changes made to access/cdda.
tl;dr: allow us to store "secondary resource information" directly in the MRL,
so that one can save and restore a playlist without losing this information, and
request a single entity within an entity to be processed in a uniform manner.
Request
-------------------------------------------------------------------------------
There is one thing I am not at all satisfied with, and it is the name of
"vlc_stream_CreateFragmentedMRL". I hope the documentation associated with the
function is enough to spawn a few ideas for a better name.
If you got one, please let me know and we can change it in the future!
Note
-------------------------------------------------------------------------------
In order to not completely overload vlc-devel with patches, I have decided to
only push the patches that are relevant for the new functionality (plus a
sample usage in access/cdda).
Locally I have patches that replaces the archive-accessors/stream-filters, if
you are interested see the relevant commits under the following link.
- https://github.com/FilipRoseen-refp/vlc/commits/stream-fragments_trunk
Given that there are twenty-one commits in this patch-batch I feel like a double
ascii-art combo is required; as such, here's a cow and a dog.
..---.
// |\||\
\ / ///;||\|;\ \ /
o .__// \\____//\_,. o
/ \ Y{_\_/ \'' = __/ / \
\___ (o) (o) } /
/ :--'
.---/ \_ `__\-.
/ `--\___(o'o) \
\ / | \ `====' |\ /
o `. `. .' .' o
/ \ (`. `. ' .') / \
( `. `...' )
( .+. `-. )
(.-' .>-._ `-.)
\ / (___.-' `-.___) \ /
o ( ) o
/ \ ( ) / \
src: http://www.chris.com/ASCII/index.php?art=animals/cows
,._
,--. | `-.
,-' \ : `-.
/__,. \ ; `--.___)
,' \ \/ / ,-"`.
__,-' - / '\ ' ,'
,-' `-._ ,---^.
\ , `-| |
\,(o ; |
_,-' `-' | |
,-' | |
Y8PYF ; ;
`"" ` , ,-- / :
\ . ___/| ,'\ ,' ,' ;
`. ;-' ___| ,' |\ ,' /
`---' __\ / ,' | `-' ,'
,- \ ,' ,' `--.__,'
,' ,-' ,' /
,' , `----' -hrr-
,'
(
`
src: http://www.chris.com/ASCII/index.php?art=animals/dogs
Filip Roséen (21):
input/stream: stream-fragments: add data-members to struct stream_priv_t
input/stream: stream-fragments: add initial documentation
input/stream: stream-fragments: add helper to escape a fragment
input/stream: stream-fragments: add helper to encode fragment
input/stream: stream-fragments: add helper to prepare a fragment
input/stream: stream-fragments: add vlc_stream_CreateFragmentMRL
input/stream: stream-fragments: add vlc_stream_PeekFragment
input/stream: stream-fragments: add vlc_stream_PopFragment
input/stream: stream-fragments: add vlc_stream_CommonNewMRL
input/stream: stream-fragments: add stream_CopyStateFragments
input/stream: stream-fragments: use vlc_stream_CommonNewMRL in access_New
input/stream: stream-fragments: copy fragment state in vlc_stream_FilterNew
input/input: stream-fragments: do not remove anchor data in input_SplitMRL
input/input: fix-up of helper-function MRLSections
input/{stream,access}: add function stream_AccessDummyNew
input/demux: always associate stream_t with created demuxer
include/demux: update documentation related to source data-members
input/input: use stream-fragments to handle MRL-sections
access/cdda: use stream-fragments for track selection
demux/bluray: do not depend on demux_t::s during initialization
access/live555: do not depend on demux_t::s during initialization
include/vlc_demux.h | 24 ++--
include/vlc_stream.h | 167 ++++++++++++++++++++++++++
modules/access/bluray.c | 34 ++++--
modules/access/cdda.c | 74 ++++++------
modules/access/live555.cpp | 33 ++++--
src/input/access.c | 47 +++++++-
src/input/demux.c | 21 ++--
src/input/input.c | 122 +++++++++----------
src/input/input_internal.h | 3 +-
src/input/stream.c | 285 +++++++++++++++++++++++++++++++++++++++++++++
src/input/stream.h | 22 ++++
src/input/stream_filter.c | 3 +
src/libvlccore.sym | 4 +
13 files changed, 689 insertions(+), 150 deletions(-)
--
2.9.2
More information about the vlc-devel
mailing list