From bf22e0c0a31befb8cc38f7523df462cd8c626f4f Mon Sep 17 00:00:00 2001 From: Liong Sauw Ming Date: Fri, 17 Oct 2014 06:47:02 +0000 Subject: Fixed #1799: Fix finding highest resolution for H264 git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4952 74dad513-b988-da41-8d7b-12977e46ad98 --- pjmedia/src/pjmedia/vid_codec_util.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'pjmedia') diff --git a/pjmedia/src/pjmedia/vid_codec_util.c b/pjmedia/src/pjmedia/vid_codec_util.c index ec221b5f..43b91019 100644 --- a/pjmedia/src/pjmedia/vid_codec_util.c +++ b/pjmedia/src/pjmedia/vid_codec_util.c @@ -39,12 +39,12 @@ #define H264_STRICT_SDP_NEGO 0 /* Default frame rate, if not specified */ -#define DEFAULT_H264_FPS_NUM 15 +#define DEFAULT_H264_FPS_NUM 10 #define DEFAULT_H264_FPS_DENUM 1 /* Default aspect ratio, if not specified */ -#define DEFAULT_H264_RATIO_NUM 16 -#define DEFAULT_H264_RATIO_DENUM 9 +#define DEFAULT_H264_RATIO_NUM 4 +#define DEFAULT_H264_RATIO_DENUM 3 /* ITU resolution definition */ @@ -636,10 +636,14 @@ static pj_status_t find_highest_res(pjmedia_vid_codec_h264_fmtp *fmtp, max_fs = PJ_MIN(max_fs, fmtp->max_fs); /* Check if the specified ratio is using big numbers - * (not normalizable), override it with default ratio! + * (not normalizable), override it! */ - if ((int)max_fs < asp_ratio.num * asp_ratio.denum) - asp_ratio = def_ratio; + if ((int)max_fs < asp_ratio.num * asp_ratio.denum) { + if ((int)max_fs >= def_ratio.num * def_ratio.denum) + asp_ratio = def_ratio; + else + asp_ratio.num = asp_ratio.denum = 1; + } /* Calculate the scale factor for size */ scale = pj_isqrt(max_fs / asp_ratio.denum / asp_ratio.num); -- cgit v1.2.3