summaryrefslogtreecommitdiff
path: root/channels/console_board.c
diff options
context:
space:
mode:
authorLuigi Rizzo <rizzo@icir.org>2008-06-29 21:17:14 +0000
committerLuigi Rizzo <rizzo@icir.org>2008-06-29 21:17:14 +0000
commit1f7a4fb63d6049f0cec55dd0c3b36df865e0df16 (patch)
treed33f892a4f72ede26f499a83c8da1bbfec922b9d /channels/console_board.c
parentdc4c6733ac7ae8dc13c40bf6d723a6f928436431 (diff)
import the recent additions for video console into trunk,
giving you support for up to 9 video sources (e.g. webcams, or X11 grabbers, etc.) active at once, displaying thumbnails for each of them in the main GUI window, and with the ability to switch between them on the fly during a conversation. The code also implements a 'Picture in Picture' feature, allowing you to select any source as primary or secondary, and move the PiP window by just dragging it with the mouse. The window looks like this: ________________________________________________________________ | ______ ______ ______ ______ ______ ______ ______ | | | tn.1 | | tn.2 | | tn.3 | | tn.4 | | tn.5 | | tn.6 | | tn.7 | | | |______| |______| |______| |______| |______| |______| |______| | | ______ ______ ______ ______ ______ ______ ______ | | |______| |______| |______| |______| |______| |______| |______| | | _________________ __________________ _________________ | | | | | | | | | | | | | | | | | | | | | | | | | | | remote video | | | | local video | | | | | | | | ______ | | | | | | keypad | | | PIP || | | | | | | | |______|| | | |_________________| | | |_________________| | | | | | | | | | | |__________________| | |________________________________________________________________| git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@126480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/console_board.c')
-rw-r--r--channels/console_board.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/channels/console_board.c b/channels/console_board.c
index fd286f29e..e80247c5f 100644
--- a/channels/console_board.c
+++ b/channels/console_board.c
@@ -313,6 +313,23 @@ int print_message(struct board *b, const char *s)
return 1;
}
+/* deletes a board.
+ * we make the free operation on any fields of the board structure allocated
+ * in dynamic memory
+ */
+void delete_board(struct board *b)
+{
+ if (b) {
+ /* deletes the text */
+ if (b->text)
+ ast_free (b->text);
+ /* deallocates the blank surface */
+ SDL_FreeSurface(b->blank);
+ /* deallocates the board */
+ ast_free(b);
+ }
+}
+
#if 0
/*! \brief refresh the screen, and also grab a bunch of events.
*/