summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.cpp')
-rw-r--r--pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.cpp26
1 files changed, 12 insertions, 14 deletions
diff --git a/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.cpp b/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.cpp
index a7199423..b8b9ca64 100644
--- a/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.cpp
+++ b/pjsip-apps/src/pjsua/android/jni/pjsua_app_callback.cpp
@@ -30,7 +30,16 @@ static pjsua_app_cfg_t android_app_config;
static int restart_argc;
static char **restart_argv;
static pjsua_callback pjsua_cb_orig;
-static jobject callVideoSurface;
+static pjsua_vid_win_id winId = PJSUA_INVALID_ID;
+
+void setVideoWindow(const WindowHandle& win)
+{
+ pjmedia_vid_dev_hwnd vhwnd;
+
+ vhwnd.info.window = win.window;
+ if (winId != PJSUA_INVALID_ID)
+ pjsua_vid_win_set_win(winId, &vhwnd);
+}
extern const char *pjsua_app_def_argv[];
@@ -57,13 +66,8 @@ static void on_call_media_state(pjsua_call_id call_id)
med_info->status == PJSUA_CALL_MEDIA_ACTIVE &&
med_info->stream.vid.win_in != PJSUA_INVALID_ID)
{
- pjmedia_vid_dev_hwnd vhwnd;
-
- /* Setup renderer surface */
- pj_bzero(&vhwnd, sizeof(vhwnd));
- vhwnd.type = PJMEDIA_VID_DEV_HWND_TYPE_ANDROID;
- vhwnd.info.window = callVideoSurface;
- pjsua_vid_win_set_win(med_info->stream.vid.win_in, &vhwnd);
+ winId = med_info->stream.vid.win_in;
+ registeredCallbackObject->onCallVideoStart();
break;
}
}
@@ -162,10 +166,4 @@ void setCallbackObject(PjsuaAppCallback* callback)
registeredCallbackObject = callback;
}
-
-void setIncomingVideoRenderer(jobject surface)
-{
- callVideoSurface = surface;
-}
-
#endif