Commit Graph

143 Commits

Author SHA1 Message Date
Loïc Branstett f93de3ef23 stream/demux: move remaining callbacks to their respective ops struct
This commit moves the remaining callbacks of stream/demux: pf_read/
pf_block/pf_seek/pf_readdir and pf_demux into their operations table,
aiming at unifying all the callbacks under a unique place.
This is a follow-up to the introduction of typed controls callbacks
for stream and demux.

Like for the typed controls callbacks if no operation is provided
(ie, stream_t/demux_t.ops is NULL) by a module, the legacy pf_* will be
used instead as a fallback.

The commit doesn't migrate any of modules yet.
2023-03-24 10:51:36 +00:00
Alexandre Janniaux ff415efe3e access: remove hardcoded size 2022-06-23 19:16:00 +00:00
Lyndon Brown f6dad0e9f1 Revert "core: remove pointless re-initialisation of `stream_t` attributes"
This reverts commit b10f5a02e1.

as requested in follow-up discussion in !1104.
2022-01-13 15:42:21 +00:00
Lyndon Brown b10f5a02e1 core: remove pointless re-initialisation of `stream_t` attributes 2022-01-10 07:03:38 +00:00
Rémi Denis-Courmont c1c7b3cf12 access: forcefully convert MRL to local file path
This functionally reverts e124481d14.
Fixes #26115.
2021-09-19 18:02:31 +00:00
Rémi Denis-Courmont f617968196 input: absolute URLs do not necessarily have ://
This accepts a lone ':', which is not followed by two forward slashes
if the URL lacks a host part.
2021-09-19 18:02:31 +00:00
Rémi Denis-Courmont cd66157245 input: remove no longer used get_path() 2021-09-16 19:32:34 +00:00
Rémi Denis-Courmont e124481d14 access: use vlc_uri2path() directly 2021-09-16 19:32:34 +00:00
Hugo Beauzée-Luyssen 165ccf2cdf input: Refcount attachments
Instead of performing a deep copy every time they are fetched
2020-11-18 12:20:59 +01:00
Rémi Denis-Courmont 07b7122857 objects: introduce vlc_object_delete()
Objects have one strong reference held by their "owner", and zero or
more weak references generated by vlc_object_hold() et al. This
provides a separate function to remove the strong reference than
vlc_object_release() to remove weak ones.

With this sole change, this is really only an annotation though.
2019-03-06 22:53:24 +02:00
Hugo Beauzée-Luyssen ac316d119f input: Add missing allocation error check 2019-02-11 16:06:49 +01:00
Steve Lhomme 5363279805 remove the $Id$ in the source code 2019-01-17 12:21:18 +01:00
Thomas Guillem b43a25889c input: hide attachments controls
Since they are only used privately.
2018-09-04 16:38:03 +02:00
Thomas Guillem 6b96ade7dd stream: replace input_thread_t by input_item_t
This will prevent all demuxers/access/streams to mess with the input_thread_t
state.
2018-07-20 17:23:03 +02:00
Thomas Guillem d9d0ed3aa8 access: keep stream input in a private struct 2018-07-20 17:23:03 +02:00
Thomas Guillem 3b76777894 access: handle attachment:// with vlc_stream_AttachmentNew 2018-07-20 17:23:03 +02:00
Steve Lhomme 26fef56c52 core: make DEMUX/STREAM_GET_PTS_DELAY officially a vlc_tick_t 2018-07-06 10:48:19 +02:00
Rémi Denis-Courmont fc7362222b access: develop stream_FilterAutoNew() calls
Moves calls to stream_FilterAutoNew() out of stream_AccessNew().
No overall functional changes.
2018-04-16 18:08:07 +03:00
Rémi Denis-Courmont 23127b5ce3 access: privatize module pointer 2018-04-06 20:45:10 +03:00
Rémi Denis-Courmont 2a754eee03 access: restore "access" type name 2018-04-06 20:10:57 +03:00
Rémi Denis-Courmont b5cac1b22b access: do not create stream for directories
The access-wrapper stream is left over from the time when the cache was
built into the core. Now it only computes statistics, and serves no
purposes for directories. This anyway needs to be removed for
access_demux support.
2018-03-31 18:01:14 +03:00
Rémi Denis-Courmont 8f349c578d access: create access before stream 2018-03-31 18:01:14 +03:00
Rémi Denis-Courmont c3e02261e0 stream: remove no longer used STREAM_IS_DIRECTORY 2018-03-31 18:01:12 +03:00
Rémi Denis-Courmont 2ec4bfe7b1 stream: remove dummy pf_readdir callbacks
This was required for stream filters, but not for accesses. Now that
both are stream_t, this has become inconsistent.

So this just makes them optional also for stream filters.
2018-03-31 17:59:20 +03:00
Rémi Denis-Courmont 9c6cde9415 access: pass ES output to access_New() 2018-03-29 18:22:38 +03:00
Rémi Denis-Courmont cb46a2200a stats: vector locking 2017-12-12 20:36:01 +02:00
Rémi Denis-Courmont db65409227 stats: factor packets counter code 2017-12-12 20:36:01 +02:00
Rémi Denis-Courmont 69faa87b8a stats: factor sum and rate code 2017-12-12 20:36:01 +02:00
Rémi Denis-Courmont a021209d08 input: allocate stats in separate structure 2017-12-12 20:36:01 +02:00
Rémi Denis-Courmont 91882d2da2 stats: allocate rate estimators in place
This simplifies the input code.
2017-12-11 22:01:17 +02:00
Rémi Denis-Courmont d67fd22472 stats: simplify 2017-12-11 20:56:01 +02:00
Rémi Denis-Courmont 75f5ad27cd stats: replace counters with simple integers
In case you wondered how to over-engineer the integer addition.
2017-12-11 20:56:00 +02:00
Thomas Guillem c458178af2 input: move access_fsdir to input/item.c 2017-09-20 16:56:59 +02:00
Rémi Denis-Courmont c366376455 Split out vlc_filenamecmp()
(easier to test separately)
2017-07-23 11:49:35 +03:00
Rémi Denis-Courmont e4ba64d291 Remove access_t 2017-07-23 08:55:40 +03:00
Rémi Denis-Courmont 12dee8802a input: probe stream filters in stream_AccessNew()
This probes stream filters not only for the input thread stream (as
before), but also for custom vlc_stream_NewURL() callers.
2017-07-23 08:55:40 +03:00
Rémi Denis-Courmont 15769b48c4 input: add explicit input_item_node_RemoveNode()
This is rarely used (only once in the whole code base).
2017-05-18 21:46:31 +03:00
Rémi Denis-Courmont c223268f6e Use TAB_APPEND instead of INSERT_ELEM where applicable 2017-05-18 21:21:13 +03:00
Rémi Denis-Courmont c0d5d15812 stream: removed unused control argument 2017-04-18 21:54:09 +03:00
Thomas Guillem d360b527f0 access: fix typo
strcasecmp should replace strcoll if HAVE_STRCOLL is not defined.
2017-03-15 10:49:01 +01:00
Thomas Guillem df8468293c directory: fix compare between digit and nondigit
strcoll should be used if a or b are nondigit.
2017-03-10 18:48:35 +01:00
Rémi Denis-Courmont 40b946f215 directory: reconcile numerical and alphabetical sorting 2017-02-18 10:31:54 +02:00
Rémi Denis-Courmont 9b1ac09c99 input: remove input_item_node_t.pf_compar 2016-11-21 21:33:43 +02:00
Rémi Denis-Courmont ad4a50d394 input: remove indirection from input to input private data
Put the input thread (public) within the private data, like we already
do for some other core-allocated objects. This removes one layer of
indirection for almost all internal input values.

input_thread_t.p no longer exists. Use input_priv() instead.
2016-11-05 10:44:55 +02:00
Thomas Guillem b0f06e8f62 access: fix string leak in case of redirect 2016-09-01 16:11:38 +02:00
Filip Roséen 060fa61272 input/access: remove trailing whitespace
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2016-08-02 15:38:23 +02:00
Rémi Denis-Courmont 94b7183f51 stream_access: simplify
(only reason it is not removed is input stats at this point)
2016-07-21 22:27:00 +03:00
Rémi Denis-Courmont 38be0d228c stream: merge access_t and stream_t
They were mostly identical, with just a few extra fields in access_t.
Merging them will allow removing the dummy stream_Access layer.
2016-07-21 22:27:00 +03:00
Rémi Denis-Courmont 6a3c9b1d4a prefetch: add support for block-based accesses
This still requires memory copying, but at least it does not introduce
timing issues.
2016-07-21 22:27:00 +03:00
Rémi Denis-Courmont 312d198438 stream: stream_ -> vlc_stream_ 2016-07-21 22:26:57 +03:00