diff options
author | rizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-12-26 20:01:16 +0000 |
---|---|---|
committer | rizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-12-26 20:01:16 +0000 |
commit | 4d04a3258e50f0c5d5103bd9eef6cec335d93056 (patch) | |
tree | e1b4c6f7b6ac602d420173233abb150329c18f34 /channels/console_video.h | |
parent | 9b60268827917e975c556fcf31abdad064bc185b (diff) |
more preparation for untangling of the various console_video stuff
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@94805 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/console_video.h')
-rw-r--r-- | channels/console_video.h | 62 |
1 files changed, 48 insertions, 14 deletions
diff --git a/channels/console_video.h b/channels/console_video.h index edfff7f04..312bfe2e0 100644 --- a/channels/console_video.h +++ b/channels/console_video.h @@ -20,19 +20,44 @@ * $Revision$ */ -struct video_desc; /* opaque type for video support */ +#ifndef CONSOLE_VIDEO_H +#define CONSOLE_VIDEO_H -struct video_desc *get_video_desc(struct ast_channel *c); +#if !defined(HAVE_VIDEO_CONSOLE) || !defined(HAVE_FFMPEG) || !defined(HAVE_SDL) +#define CONSOLE_VIDEO_CMDS \ + "console {device}" +#else + +#ifdef HAVE_X11 +#include <X11/Xlib.h> /* this should be conditional */ +#endif + +#include <ffmpeg/avcodec.h> +#ifndef OLD_FFMPEG +#include <ffmpeg/swscale.h> /* requires a recent ffmpeg */ +#endif + +#include <SDL/SDL.h> +#ifdef HAVE_SDL_IMAGE +#include <SDL/SDL_image.h> /* for loading images */ +#endif +#ifdef HAVE_SDL_TTF +#include <SDL/SDL_ttf.h> /* render text on sdl surfaces */ +#endif + +/* our representation of a displayed window. SDL can only do one main + * window so we map everything within that one + */ +enum { WIN_LOCAL, WIN_REMOTE, WIN_KEYPAD, WIN_MAX }; +/* our representation of a displayed window. SDL can only do one main + * window so we map everything within that one + */ +struct display_window { + SDL_Overlay *bmp; + SDL_Rect rect; /* location of the window */ +}; -/* linked by console_video.o */ -int console_write_video(struct ast_channel *chan, struct ast_frame *f); -extern int console_video_formats; -int console_video_cli(struct video_desc *env, const char *var, int fd); -int console_video_config(struct video_desc **penv, const char *var, const char *val); -void console_video_uninit(struct video_desc *env); -void console_video_start(struct video_desc *env, struct ast_channel *owner); -#ifdef HAVE_VIDEO_CONSOLE #define CONSOLE_VIDEO_CMDS \ "console {videodevice|videocodec|sendvideo" \ "|video_size|bitrate|fps|qmin" \ @@ -41,9 +66,18 @@ void console_video_start(struct video_desc *env, struct ast_channel *owner); "|device" \ "}" -#else -#define CONSOLE_VIDEO_CMDS \ - "console {device}" -#endif +#endif /* HAVE_VIDEO_CONSOLE and others */ + +struct video_desc; /* opaque type for video support */ +struct video_desc *get_video_desc(struct ast_channel *c); + +/* linked by console_video.o */ +int console_write_video(struct ast_channel *chan, struct ast_frame *f); +extern int console_video_formats; +int console_video_cli(struct video_desc *env, const char *var, int fd); +int console_video_config(struct video_desc **penv, const char *var, const char *val); +void console_video_uninit(struct video_desc *env); +void console_video_start(struct video_desc *env, struct ast_channel *owner); +#endif /* CONSOLE_VIDEO_H */ /* end of file */ |