From d66255d540dfac647c8a7d8aded8522a02b3ca2d Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sat, 2 Oct 2010 02:13:36 +0200 Subject: [PATCH] Simpler aspect parsing. --- modules/access/decklink.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) 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", -- 2.39.2