[vlc-devel] [PATCH 2/5] sout: simplify sout_StreamChainDelete() semantics
RĂ©mi Denis-Courmont
remi at remlab.net
Sun Oct 11 15:22:56 CEST 2020
Delete instances up to the second parameter exclusive, instead of
inclusive.
---
include/vlc_sout.h | 2 +-
modules/stream_out/duplicate.c | 2 +-
modules/stream_out/record.c | 4 ++--
src/missing.c | 4 ++--
src/stream_output/stream_output.c | 6 ++----
5 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/include/vlc_sout.h b/include/vlc_sout.h
index c0701360a4..6f4d557cea 100644
--- a/include/vlc_sout.h
+++ b/include/vlc_sout.h
@@ -193,7 +193,7 @@ struct sout_stream_t
void *p_sys;
};
-VLC_API void sout_StreamChainDelete(sout_stream_t *p_first, sout_stream_t *p_last );
+VLC_API void sout_StreamChainDelete(sout_stream_t *first, sout_stream_t *end);
VLC_API sout_stream_t *sout_StreamChainNew(vlc_object_t *parent,
const char *psz_chain, sout_stream_t *p_next, sout_stream_t **p_last) VLC_USED;
diff --git a/modules/stream_out/duplicate.c b/modules/stream_out/duplicate.c
index 313d1da939..128213edc0 100644
--- a/modules/stream_out/duplicate.c
+++ b/modules/stream_out/duplicate.c
@@ -193,7 +193,7 @@ static void Close( vlc_object_t * p_this )
msg_Dbg( p_stream, "closing a duplication" );
for( int i = 0; i < p_sys->i_nb_streams; i++ )
{
- sout_StreamChainDelete(p_sys->pp_streams[i], p_sys->pp_last_streams[i]);
+ sout_StreamChainDelete(p_sys->pp_streams[i], p_stream->p_next);
free( p_sys->ppsz_select[i] );
}
free( p_sys->pp_streams );
diff --git a/modules/stream_out/record.c b/modules/stream_out/record.c
index 70dee74934..2d8e557f9c 100644
--- a/modules/stream_out/record.c
+++ b/modules/stream_out/record.c
@@ -170,7 +170,7 @@ static void Close( vlc_object_t * p_this )
sout_stream_sys_t *p_sys = p_stream->p_sys;
if( p_sys->p_out )
- sout_StreamChainDelete( p_sys->p_out, p_sys->p_out );
+ sout_StreamChainDelete( p_sys->p_out, NULL );
TAB_CLEAN( p_sys->i_id, p_sys->id );
free( p_sys->psz_prefix );
@@ -491,7 +491,7 @@ static void OutputStart( sout_stream_t *p_stream )
id->id = NULL;
}
if( p_sys->p_out )
- sout_StreamChainDelete( p_sys->p_out, p_sys->p_out );
+ sout_StreamChainDelete( p_sys->p_out, NULL );
p_sys->p_out = NULL;
if( i_es > i_best_es )
diff --git a/src/missing.c b/src/missing.c
index 45fddf177f..0053f5816e 100644
--- a/src/missing.c
+++ b/src/missing.c
@@ -151,9 +151,9 @@ noreturn void sout_MuxFlush(sout_mux_t *mux, sout_input_t *input)
}
noreturn void sout_StreamChainDelete(sout_stream_t *first,
- sout_stream_t *last)
+ sout_stream_t *end)
{
- (void) first; (void) last;
+ (void) first; (void) end;
vlc_assert_unreachable ();
}
diff --git a/src/stream_output/stream_output.c b/src/stream_output/stream_output.c
index 76c479efa7..d66223ed61 100644
--- a/src/stream_output/stream_output.c
+++ b/src/stream_output/stream_output.c
@@ -757,15 +757,13 @@ static void sout_StreamDelete( sout_stream_t *p_stream )
* if NULL, all modules are destroyed
* if not NULL, modules following it must be destroyed separately
*/
-void sout_StreamChainDelete(sout_stream_t *p_first, sout_stream_t *p_last)
+void sout_StreamChainDelete(sout_stream_t *p_first, sout_stream_t *end)
{
- while(p_first != NULL)
+ while (p_first != end)
{
sout_stream_t *p_next = p_first->p_next;
sout_StreamDelete(p_first);
- if(p_first == p_last)
- break;
p_first = p_next;
}
}
--
2.28.0
More information about the vlc-devel
mailing list