[vlc-commits] sout standard: implement SOUT_STREAM_IS_SYNCHRONOUS
Rémi Denis-Courmont
git at videolan.org
Sun Oct 11 14:18:50 CEST 2020
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Oct 10 14:30:03 2020 +0300| [ba61ba90a034e47ef1e853c01ddba895c0be5542] | committer: Rémi Denis-Courmont
sout standard: implement SOUT_STREAM_IS_SYNCHRONOUS
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ba61ba90a034e47ef1e853c01ddba895c0be5542
---
modules/stream_out/standard.c | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/modules/stream_out/standard.c b/modules/stream_out/standard.c
index 20d3f0ba21..1e54d1bd7b 100644
--- a/modules/stream_out/standard.c
+++ b/modules/stream_out/standard.c
@@ -118,6 +118,7 @@ typedef struct
{
sout_mux_t *p_mux;
session_descriptor_t *p_session;
+ bool synchronous;
} sout_stream_sys_t;
static void *Add( sout_stream_t *p_stream, const es_format_t *p_fmt )
@@ -315,8 +316,25 @@ static void checkAccessMux( sout_stream_t *p_stream, char *psz_access,
}
}
+static int Control(sout_stream_t *stream, int query, va_list args)
+{
+ sout_stream_sys_t *sys = stream->p_sys;
+
+ switch (query)
+ {
+ case SOUT_STREAM_IS_SYNCHRONOUS:
+ *va_arg(args, bool *) = sys->synchronous;
+ break;
+
+ default:
+ return VLC_EGENERIC;
+ }
+
+ return VLC_SUCCESS;
+}
+
static const struct sout_stream_operations ops = {
- Add, Del, Send, NULL, Flush,
+ Add, Del, Send, Control, Flush,
};
/*****************************************************************************
@@ -379,6 +397,7 @@ static int Open( vlc_object_t *p_this )
goto end;
}
+ p_sys->synchronous = !sout_AccessOutCanControlPace(p_access);
p_sys->p_mux = sout_MuxNew( p_access, psz_mux );
if( !p_sys->p_mux )
{
@@ -404,11 +423,7 @@ static int Open( vlc_object_t *p_this )
create_SDP( p_stream, p_access );
p_stream->ops = &ops;
- if( !sout_AccessOutCanControlPace( p_access ) )
- p_stream->pace_nocontrol = true;
-
ret = VLC_SUCCESS;
-
msg_Dbg( p_this, "using `%s/%s://%s'", psz_access, psz_mux, psz_url );
end:
More information about the vlc-commits
mailing list