[vlc-devel] [RFC PATCH 1/3] options: add stream-cache
Thomas Guillem
thomas at gllm.fr
Tue Oct 20 20:27:05 CEST 2015
Maybe, we could use stream-filter option instead ?
---
src/input/access.c | 10 ++++++++++
src/input/var.c | 1 +
src/libvlc-module.c | 6 ++++++
3 files changed, 17 insertions(+)
diff --git a/src/input/access.c b/src/input/access.c
index 18b8357..a6f5cd6 100644
--- a/src/input/access.c
+++ b/src/input/access.c
@@ -380,6 +380,15 @@ stream_t *stream_AccessNew(vlc_object_t *parent, input_thread_t *input,
cachename = NULL;
}
+ char *cache_option = var_GetNonEmptyString(parent, "stream-cache");
+ if (cache_option != NULL)
+ {
+ if (strcmp(cache_option, "none") == 0)
+ cachename = NULL;
+ else
+ cachename = cache_option;
+ }
+
if (sys->access->pf_readdir != NULL)
s->pf_readdir = AStreamReadDir;
else
@@ -391,6 +400,7 @@ stream_t *stream_AccessNew(vlc_object_t *parent, input_thread_t *input,
if (cachename != NULL)
s = stream_FilterChainNew(s, cachename);
+ free(cache_option);
return s;
error:
free(sys);
diff --git a/src/input/var.c b/src/input/var.c
index 47f4b88..a82b16c 100644
--- a/src/input/var.c
+++ b/src/input/var.c
@@ -497,6 +497,7 @@ void input_ConfigVarInit ( input_thread_t *p_input )
var_Create( p_input, "access", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
var_Create( p_input, "demux", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
var_Create( p_input, "stream-filter", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
+ var_Create( p_input, "stream-cache", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
/* Meta */
var_Create( p_input, "meta-title", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
diff --git a/src/libvlc-module.c b/src/libvlc-module.c
index a13093d..0e95ae5 100644
--- a/src/libvlc-module.c
+++ b/src/libvlc-module.c
@@ -988,6 +988,10 @@ static const char *const ppsz_prefres[] = {
#define STREAM_FILTER_LONGTEXT N_( \
"Stream filters are used to modify the stream that is being read. " )
+#define STREAM_CACHE_TEXT N_("Stream cache filter module")
+#define STREAM_CACHE_LONGTEXT N_( \
+ "Stream cache filters are used to cache the stream that is being read. " )
+
#define DEMUX_TEXT N_("Demux module")
#define DEMUX_LONGTEXT N_( \
"Demultiplexers are used to separate the \"elementary\" streams " \
@@ -1871,6 +1875,8 @@ vlc_module_begin ()
set_subcategory( SUBCAT_INPUT_STREAM_FILTER )
add_module_list( "stream-filter", "stream_filter", NULL,
STREAM_FILTER_TEXT, STREAM_FILTER_LONGTEXT, false )
+ add_module_list( "stream-cache", "stream_cache", NULL,
+ STREAM_CACHE_TEXT, STREAM_CACHE_LONGTEXT, false )
/* Stream output options */
--
2.1.4
More information about the vlc-devel
mailing list