* modules/stream_out/transcode.c: fixed segfault.
p_sys->param.analyse.inter =
X264_ANALYSE_I4x4 | X264_ANALYSE_PSUB16x16 | X264_ANALYSE_PSUB8x8;
}
+ if( val.psz_string ) free( val.psz_string );
if( p_enc->fmt_in.video.i_aspect > 0 )
{
uint8_t *p_peek;
int i_max_sdp = 1024;
int i_sdp = 0;
- char *psz_sdp = (char *)malloc( i_max_sdp );
+ char *psz_sdp = NULL;
sdp_t *p_sdp = NULL;
- if( !psz_sdp ) return VLC_EGENERIC;
-
/* Probe for SDP */
if( p_demux->s )
{
}
}
+ psz_sdp = (char *)malloc( i_max_sdp );
+ if( !psz_sdp ) return VLC_EGENERIC;
+
/* Gather the complete sdp file */
for( ;; )
{
{
p_sdp->psz_uri = NULL;
}
- if( p_sdp->i_media_type != 33 && p_sdp->i_media_type != 32 && p_sdp->i_media_type != 14 )
+ if( p_sdp->i_media_type != 33 && p_sdp->i_media_type != 32 &&
+ p_sdp->i_media_type != 14 )
goto error;
if( p_sdp->psz_uri == NULL ) goto error;
{
if( transcode_video_encoder_open( p_stream, id ) != VLC_SUCCESS )
{
+ p_pic->pf_release( p_pic );
transcode_video_close( p_stream, id );
id->b_transcode = VLC_FALSE;
- p_pic->pf_release( p_pic );
return VLC_EGENERIC;
}
vlc_object_detach( id->pp_filter[id->i_filter] );
vlc_object_destroy( id->pp_filter[id->i_filter] );
+ p_pic->pf_release( p_pic );
transcode_video_close( p_stream, id );
id->b_transcode = VLC_FALSE;
- p_pic->pf_release( p_pic );
return VLC_EGENERIC;
}
}