summaryrefslogtreecommitdiff
path: root/pjsip-apps
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2015-08-06 07:10:33 +0000
committerNanang Izzuddin <nanang@teluu.com>2015-08-06 07:10:33 +0000
commiteb57ca92baa9b5984c6c06c593062ab488726a80 (patch)
tree716e7bafea79613a9b7c6cda3b0c424fa55fd434 /pjsip-apps
parentad9bf2c0d90493edaaf6fc2cb83d1e1348507deb (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')
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c18
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);