Re #1263:
- Added API pjsua_vid_enum_wins() to enumerate video windows.
- Minor fixes on video window manipulations.
git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/projects/2.0-dev@3638 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h
index dff158a..97cd2c0 100644
--- a/pjsip/include/pjsua-lib/pjsua.h
+++ b/pjsip/include/pjsua-lib/pjsua.h
@@ -5401,6 +5401,20 @@
/**
+ * Enumerates all video windows.
+ *
+ * @param id Array of window ID to be initialized.
+ * @param count On input, specifies max elements in the array.
+ * On return, it contains actual number of elements
+ * that have been initialized.
+ *
+ * @return PJ_SUCCESS on success, or the appropriate error code.
+ */
+PJ_DECL(pj_status_t) pjsua_vid_enum_wins(pjsua_vid_win_id wids[],
+ unsigned *count);
+
+
+/**
* Get window info.
*
* @param wid The video window ID.
diff --git a/pjsip/src/pjsua-lib/pjsua_vid.c b/pjsip/src/pjsua-lib/pjsua_vid.c
index 169b86b..ef95ee3 100644
--- a/pjsip/src/pjsua-lib/pjsua_vid.c
+++ b/pjsip/src/pjsua-lib/pjsua_vid.c
@@ -877,6 +877,29 @@
* Window
*/
+
+/*
+ * Enumerates all video windows.
+ */
+PJ_DEF(pj_status_t) pjsua_vid_enum_wins( pjsua_vid_win_id wids[],
+ unsigned *count)
+{
+ unsigned i, cnt;
+
+ cnt = 0;
+
+ for (i=0; i<PJSUA_MAX_VID_WINS && cnt <*count; ++i) {
+ pjsua_vid_win *w = &pjsua_var.win[i];
+ if (w->type != PJSUA_WND_TYPE_NONE)
+ wids[cnt++] = i;
+ }
+
+ *count = cnt;
+
+ return PJ_SUCCESS;
+}
+
+
/*
* Get window info.
*/
@@ -979,7 +1002,7 @@
}
status = pjmedia_vid_dev_stream_set_cap(s,
- PJMEDIA_VID_DEV_CAP_OUTPUT_POSITION, &pos);
+ PJMEDIA_VID_DEV_CAP_OUTPUT_POSITION, pos);
PJSUA_UNLOCK();
@@ -1012,7 +1035,7 @@
}
status = pjmedia_vid_dev_stream_set_cap(s,
- PJMEDIA_VID_DEV_CAP_OUTPUT_RESIZE, &size);
+ PJMEDIA_VID_DEV_CAP_OUTPUT_RESIZE, size);
PJSUA_UNLOCK();