Commit aa505e2c authored by Steve Lhomme's avatar Steve Lhomme Committed by Thomas Guillem

stream_output: handle Flushing via sout_MuxFlush()

Signed-off-by: default avatarThomas Guillem <thomas@gllm.fr>
parent ecacf6f0
...@@ -175,6 +175,7 @@ VLC_API void sout_MuxDeleteStream( sout_mux_t *, sout_input_t * ); ...@@ -175,6 +175,7 @@ VLC_API void sout_MuxDeleteStream( sout_mux_t *, sout_input_t * );
VLC_API void sout_MuxDelete( sout_mux_t * ); VLC_API void sout_MuxDelete( sout_mux_t * );
VLC_API int sout_MuxSendBuffer( sout_mux_t *, sout_input_t *, block_t * ); VLC_API int sout_MuxSendBuffer( sout_mux_t *, sout_input_t *, block_t * );
VLC_API int sout_MuxGetStream(sout_mux_t *, unsigned, mtime_t *); VLC_API int sout_MuxGetStream(sout_mux_t *, unsigned, mtime_t *);
VLC_API void sout_MuxFlush( sout_mux_t *, sout_input_t * );
static inline int sout_MuxControl( sout_mux_t *p_mux, int i_query, ... ) static inline int sout_MuxControl( sout_mux_t *p_mux, int i_query, ... )
{ {
......
...@@ -143,6 +143,12 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_sys_t *id, ...@@ -143,6 +143,12 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_sys_t *id,
{ {
return sout_MuxSendBuffer( p_stream->p_sys->p_mux, (sout_input_t*)id, p_buffer ); return sout_MuxSendBuffer( p_stream->p_sys->p_mux, (sout_input_t*)id, p_buffer );
} }
static void Flush( sout_stream_t *p_stream, sout_stream_id_sys_t *id )
{
sout_MuxFlush( p_stream->p_sys->p_mux, (sout_input_t*)id );
}
static void create_SDP(sout_stream_t *p_stream, sout_access_out_t *p_access) static void create_SDP(sout_stream_t *p_stream, sout_access_out_t *p_access)
{ {
sout_stream_sys_t *p_sys = p_stream->p_sys; sout_stream_sys_t *p_sys = p_stream->p_sys;
...@@ -405,6 +411,7 @@ static int Open( vlc_object_t *p_this ) ...@@ -405,6 +411,7 @@ static int Open( vlc_object_t *p_this )
p_stream->pf_add = Add; p_stream->pf_add = Add;
p_stream->pf_del = Del; p_stream->pf_del = Del;
p_stream->pf_send = Send; p_stream->pf_send = Send;
p_stream->pf_flush = Flush;
if( !sout_AccessOutCanControlPace( p_access ) ) if( !sout_AccessOutCanControlPace( p_access ) )
p_stream->pace_nocontrol = true; p_stream->pace_nocontrol = true;
......
...@@ -384,6 +384,7 @@ sout_MuxDeleteStream ...@@ -384,6 +384,7 @@ sout_MuxDeleteStream
sout_MuxGetStream sout_MuxGetStream
sout_MuxNew sout_MuxNew
sout_MuxSendBuffer sout_MuxSendBuffer
sout_MuxFlush
sout_StreamChainDelete sout_StreamChainDelete
sout_StreamChainNew sout_StreamChainNew
spu_Create spu_Create
......
...@@ -562,6 +562,11 @@ int sout_MuxSendBuffer( sout_mux_t *p_mux, sout_input_t *p_input, ...@@ -562,6 +562,11 @@ int sout_MuxSendBuffer( sout_mux_t *p_mux, sout_input_t *p_input,
return p_mux->pf_mux( p_mux ); return p_mux->pf_mux( p_mux );
} }
void sout_MuxFlush( sout_mux_t *p_mux, sout_input_t *p_input )
{
VLC_UNUSED(p_mux);
block_FifoEmpty( p_input->p_fifo );
}
/***************************************************************************** /*****************************************************************************
* sout_MuxGetStream: find stream to be muxed * sout_MuxGetStream: find stream to be muxed
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment