summaryrefslogtreecommitdiff
path: root/pjsip-apps
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip-apps')
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c22
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);
+ }
+ }
}
/*