[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