aboutsummaryrefslogtreecommitdiffstats
path: root/channels/console_video.h
diff options
context:
space:
mode:
authorrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2007-12-26 20:01:16 +0000
committerrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2007-12-26 20:01:16 +0000
commit4d04a3258e50f0c5d5103bd9eef6cec335d93056 (patch)
treee1b4c6f7b6ac602d420173233abb150329c18f34 /channels/console_video.h
parent9b60268827917e975c556fcf31abdad064bc185b (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.h62
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 */