diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2011-07-22 04:49:36 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2011-07-22 04:49:36 +0000 |
commit | 14b2271cecf6fe8820d293cc55a6c8750182416c (patch) | |
tree | 34b9ebebbfa47842a8f0fd54f151f16656c67b68 /pjmedia | |
parent | 53f26c0775ae2a685a21dc0318ec1a9934007326 (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.h | 40 | ||||
-rw-r--r-- | pjmedia/src/pjmedia-videodev/sdl_dev.c | 2 |
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", |