[vlc-devel] Ogg muxer patches

Rafaël Carré funman at videolan.org
Mon Oct 28 07:20:40 CET 2013


Hello,

Le 27/10/2013 09:46, Francois Cartegnie a écrit :

> 0002-mux-ogg-rewrite-steam-creation-and-ordering-fix-9731.patch
> 
> 
> 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 mailing list