summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2011-07-22 04:49:36 +0000
committerNanang Izzuddin <nanang@teluu.com>2011-07-22 04:49:36 +0000
commit14b2271cecf6fe8820d293cc55a6c8750182416c (patch)
tree34b9ebebbfa47842a8f0fd54f151f16656c67b68 /pjmedia
parent53f26c0775ae2a685a21dc0318ec1a9934007326 (diff)
Re #1332: Added type definition of video window handle.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3675 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/include/pjmedia-videodev/videodev.h40
-rw-r--r--pjmedia/src/pjmedia-videodev/sdl_dev.c2
2 files changed, 40 insertions, 2 deletions
diff --git a/pjmedia/include/pjmedia-videodev/videodev.h b/pjmedia/include/pjmedia-videodev/videodev.h
index a1118d51..0a8ccf7b 100644
--- a/pjmedia/include/pjmedia-videodev/videodev.h
+++ b/pjmedia/include/pjmedia-videodev/videodev.h
@@ -46,6 +46,44 @@ PJ_BEGIN_DECL
typedef pj_int32_t pjmedia_vid_dev_index;
/**
+ * Enumeration of window handle type.
+ */
+typedef enum pjmedia_vid_dev_hwnd_type
+{
+ /**
+ * Type none.
+ */
+ PJMEDIA_VID_DEV_HWND_TYPE_NONE,
+
+ /**
+ * Native window handle on Windows.
+ */
+ PJMEDIA_VID_DEV_HWND_TYPE_WINDOWS
+
+} pjmedia_vid_dev_hwnd_type;
+
+/**
+ * Type for window handle.
+ */
+typedef struct pjmedia_vid_dev_hwnd
+{
+ /**
+ * The window handle type.
+ */
+ pjmedia_vid_dev_hwnd_type type;
+
+ /**
+ * The window handle.
+ */
+ union
+ {
+ void *ptr; /**< Pointer value */
+ int fd; /**< Descriptor value */
+ } hwnd;
+
+} pjmedia_vid_dev_hwnd;
+
+/**
* Device index constants.
*/
enum
@@ -267,7 +305,7 @@ typedef struct pjmedia_vid_dev_param
* and will only be used if PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW is set in
* the flags.
*/
- void *window;
+ pjmedia_vid_dev_hwnd window;
/**
* Video display size. This setting is optional, and will only be used
diff --git a/pjmedia/src/pjmedia-videodev/sdl_dev.c b/pjmedia/src/pjmedia-videodev/sdl_dev.c
index 3e437ad8..a39aa02e 100644
--- a/pjmedia/src/pjmedia-videodev/sdl_dev.c
+++ b/pjmedia/src/pjmedia-videodev/sdl_dev.c
@@ -510,7 +510,7 @@ static pj_status_t init_sdl(struct sdl_stream *strm, pjmedia_format *fmt)
if (strm->param.flags & PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW) {
/* Use the window supplied by the application. */
- strm->window = SDL_CreateWindowFrom(strm->param.window);
+ strm->window = SDL_CreateWindowFrom(strm->param.window.hwnd.ptr);
} else {
/* Create the window where we will draw. */
strm->window = SDL_CreateWindow("pjmedia-SDL video",