From: Steinar H. Gunderson Date: Sat, 2 Oct 2010 00:13:36 +0000 (+0200) Subject: Simpler aspect parsing. X-Git-Url: https://git.sesse.net/?p=vlc;a=commitdiff_plain;h=d66255d540dfac647c8a7d8aded8522a02b3ca2d Simpler aspect parsing. --- diff --git a/modules/access/decklink.cpp b/modules/access/decklink.cpp index fe7e580ef1..3f837f22f0 100644 --- a/modules/access/decklink.cpp +++ b/modules/access/decklink.cpp @@ -270,6 +270,7 @@ static int Open( vlc_object_t *p_this ) int i_card_index; int i_width, i_height, i_fps_num, i_fps_den; int i_rate; + unsigned u_aspect_num, u_aspect_den; /* Only when selected */ if( *p_demux->psz_access == '\0' ) @@ -553,17 +554,10 @@ static int Open( vlc_object_t *p_this ) video_fmt.video.i_frame_rate_base = i_fps_den; video_fmt.i_bitrate = video_fmt.video.i_width * video_fmt.video.i_height * video_fmt.video.i_frame_rate * 2 * 8; - psz_aspect = var_CreateGetNonEmptyString( p_demux, "decklink-aspect-ratio" ); - if( psz_aspect ) - { - char *psz_denominator = strchr( psz_aspect, ':' ); - if( psz_denominator ) - { - *psz_denominator++ = '\0'; - video_fmt.video.i_sar_num = atoi( psz_aspect ) * video_fmt.video.i_height; - video_fmt.video.i_sar_den = atoi( psz_denominator ) * video_fmt.video.i_width; - } - free( psz_aspect ); + if ( !var_InheritURational( p_demux, &u_aspect_num, &u_aspect_den, "decklink-aspect-ratio" ) && + u_aspect_num > 0 && u_aspect_den > 0 ) { + video_fmt.video.i_sar_num = u_aspect_num * video_fmt.video.i_height; + video_fmt.video.i_sar_den = u_aspect_den * video_fmt.video.i_width; } msg_Dbg( p_demux, "added new video es %4.4s %dx%d",