diff options
Diffstat (limited to 'pjsip-apps')
-rw-r--r-- | pjsip-apps/src/pjsua/pjsua_app.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c index 1ee483dd..2d802771 100644 --- a/pjsip-apps/src/pjsua/pjsua_app.c +++ b/pjsip-apps/src/pjsua/pjsua_app.c @@ -3194,10 +3194,26 @@ static void on_call_media_event(pjsua_call_id call_id, pjmedia_event *event) { char event_name[5]; - PJ_UNUSED_ARG(call_id); - PJ_UNUSED_ARG(med_idx); - PJ_LOG(4,(THIS_FILE, "Event %s", + + PJ_LOG(5,(THIS_FILE, "Event %s", pjmedia_fourcc_name(event->type, event_name))); + + 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)) + { + wid = ci.media[med_idx].stream.vid.win_in; + size = event->data.fmt_changed.new_fmt.det.vid.size; + pjsua_vid_win_set_size(wid, &size); + } + } } /* |