[vlc-devel] [RFC 36/38] stream_out/mosaic_bridge: replaced usage of x{realloc, malloc}
Filip Roséen
filip at videolabs.io
Mon Jun 27 13:43:47 CEST 2016
also removed useless temporary variable and replaced code responsible
for setting the mosaic-bridge variable with a single call to
var_SetAddress.
---
modules/stream_out/mosaic_bridge.c | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/modules/stream_out/mosaic_bridge.c b/modules/stream_out/mosaic_bridge.c
index 9a95464..39c038c 100644
--- a/modules/stream_out/mosaic_bridge.c
+++ b/modules/stream_out/mosaic_bridge.c
@@ -328,14 +328,13 @@ static sout_stream_id_sys_t * Add( sout_stream_t *p_stream, const es_format_t *p
p_bridge = GetBridge( p_stream );
if ( p_bridge == NULL )
{
- vlc_object_t *p_libvlc = VLC_OBJECT( p_stream->obj.libvlc );
- vlc_value_t val;
+ p_bridge = malloc( sizeof( bridge_t ) );
- p_bridge = xmalloc( sizeof( bridge_t ) );
+ if( unlikely( !p_bridge ) )
+ return NULL;
- var_Create( p_libvlc, "mosaic-struct", VLC_VAR_ADDRESS );
- val.p_address = p_bridge;
- var_Set( p_libvlc, "mosaic-struct", val );
+ var_Create( p_stream->obj.libvlc, "mosaic-struct", VLC_VAR_ADDRESS );
+ var_SetAddress( p_stream->obj.libvlc, "mosaic-struct", p_bridge );
p_bridge->i_es_num = 0;
p_bridge->pp_es = NULL;
@@ -349,10 +348,18 @@ static sout_stream_id_sys_t * Add( sout_stream_t *p_stream, const es_format_t *p
if ( i == p_bridge->i_es_num )
{
- p_bridge->pp_es = xrealloc( p_bridge->pp_es,
+ bridged_es_t ** pp_es_new = realloc( p_bridge->pp_es,
(p_bridge->i_es_num + 1) * sizeof(bridged_es_t *) );
+
+ if( unlikely( !pp_es_new ) )
+ return NULL;
+
+ p_bridge->pp_es[i] = malloc( sizeof(bridged_es_t) );
+
+ if( unlikely( !p_bridge->pp_es[i] ) )
+ return NULL;
+
p_bridge->i_es_num++;
- p_bridge->pp_es[i] = xmalloc( sizeof(bridged_es_t) );
}
p_sys->p_es = p_es = p_bridge->pp_es[i];
--
2.9.0
More information about the vlc-devel
mailing list