[vlc-devel] Ogg muxer patches
funman at videolan.org
Mon Oct 28 07:20:40 CET 2013
Le 27/10/2013 09:46, Francois Cartegnie a écrit :
> From 23ab8b8b413ae44fcdab09dc7111815265f9fa2b Mon Sep 17 00:00:00 2001
> From: Francois Cartegnie <fcvlcdev at free.fr>
> Date: Fri, 25 Oct 2013 17:24:07 +0900
> Subject: [PATCH 2/2] mux: ogg: rewrite steam creation and ordering (fix #9731,
> fix #9732)
> Ogg streams were invalid.
> This patch ensures all streams have a way to end independently and
> no other stream could start at arbitrary places. Also simplifies
> a bit some code.
> The ogg muxer suffers from an insufficient muxer cache value, and usually
> starts streams before all streams have been declared.
> The previous behaviour ( closing and restarting a new group of streams ) is kept
> and fixed. But this is really not optimal.
> We might need to consider increasing that cache for ogg.
> It also handles correctly chained streams.
> modules/mux/ogg.c | 158 +++++++++++++++++++++++++++---------------------------
> 1 file changed, 78 insertions(+), 80 deletions(-)
> diff --git a/modules/mux/ogg.c b/modules/mux/ogg.c
> index 4a26343..d630854 100644
> --- a/modules/mux/ogg.c
> +++ b/modules/mux/ogg.c
> @@ -261,7 +269,7 @@ static int Control( sout_mux_t *p_mux, int i_query, va_list args )
> case MUX_CAN_ADD_STREAM_WHILE_MUXING:
> pb_bool = (bool*)va_arg( args, bool * );
> - *pb_bool = true;
> + *pb_bool = p_mux->p_sys->b_can_add_streams;
This setting is not dynamic, it is only checked once after creating the
module, so I guess it should always be false (and we might want to look
at sout-mux-caching), or always be true and we reject streams added
outside of a group.
> return VLC_SUCCESS;
> case MUX_GET_ADD_STREAM_WAIT:
More information about the vlc-devel