diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2015-08-06 07:10:33 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2015-08-06 07:10:33 +0000 |
commit | eb57ca92baa9b5984c6c06c593062ab488726a80 (patch) | |
tree | 716e7bafea79613a9b7c6cda3b0c424fa55fd434 /pjsip-apps/src/pjsua | |
parent | ad9bf2c0d90493edaaf6fc2cb83d1e1348507deb (diff) |
Fix #1876: Don't restart renderer when only fps is changing, just modify the clock instead.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5149 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps/src/pjsua')
-rw-r--r-- | pjsip-apps/src/pjsua/pjsua_app.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c index fae0cb13..912d986f 100644 --- a/pjsip-apps/src/pjsua/pjsua_app.c +++ b/pjsip-apps/src/pjsua/pjsua_app.c @@ -977,21 +977,27 @@ static void on_call_media_event(pjsua_call_id call_id, if (event->type == PJMEDIA_EVENT_FMT_CHANGED) { /* Adjust renderer window size to original video size */ pjsua_call_info ci; - pjsua_vid_win_id wid; - pjmedia_rect_size size; pjsua_call_get_info(call_id, &ci); if ((ci.media[med_idx].type == PJMEDIA_TYPE_VIDEO) && (ci.media[med_idx].dir & PJMEDIA_DIR_DECODING)) { + pjsua_vid_win_id wid; + pjmedia_rect_size size; + pjsua_vid_win_info win_info; + wid = ci.media[med_idx].stream.vid.win_in; + pjsua_vid_win_get_info(wid, &win_info); + size = event->data.fmt_changed.new_fmt.det.vid.size; - pjsua_vid_win_set_size(wid, &size); - } + if (size.w != win_info.size.w || size.h != win_info.size.h) { + pjsua_vid_win_set_size(wid, &size); - /* Re-arrange video windows */ - arrange_window(PJSUA_INVALID_ID); + /* Re-arrange video windows */ + arrange_window(PJSUA_INVALID_ID); + } + } } #else PJ_UNUSED_ARG(call_id); |