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();