[vlc-devel] [PATCH 1/2] access/stream_filter: add libarchive
remi at remlab.net
Mon Jul 28 11:22:15 CEST 2014
Le 2014-07-28 11:49, Francois Cartegnie a écrit :
> zip & rar have a filter which only generates playlist and builds
> uri for their access which creates streams from those uri.
> filename is set from uri separator before creating streams.
> I see double scheme problem here.
> I thought the best option was to handle decompression in a stream
> filter, now that's confusing.
The job of a stream filter is to convert a byte stream into another
byte stream. Pure decompression is prefectly fine in a stream filter,
and it is *already* supported. It is however not meant to extract some
data from a byte stream. In particular, the stream filter abstraction is
not well suited to extract a single file out of an archive of multiple
Now, there are two separate modules here: whole archive listing and
single file extraction.
For listing, I would do an access *if* the underlying library does not
support reading from custom callbacks, or *if* the callbacks cannot
prevent deadlock when the underlying stream/access is starving (and user
presses Stop). Otherwise, I think a demux is cleanest, but considering
the current vlc.git architecture, a stream filter implementing readdir
seems most reasonable.
For decompression, only access seems to really work in any case,
notably because of URI passing issues.
>>> +libaccess_archive_plugin_la_LIBADD = $(ARCHIVE_LIBS)
>>> +access_LTLIBRARIES += libaccess_archive_plugin.la
> Any reason why .so build is silently skipped unless rpath is set when
> using the EXTRA syntax ?
I think libtool needs to know where the shared library is installed,
due to Some Platforms. EXTRA does not specify it, hence the need for
explicit -rpath. This sucks, but it has been that way at least since the
libtool switch (0.8.5 or something?).
More information about the vlc-devel