aboutsummaryrefslogtreecommitdiffstats
path: root/channels/console_board.c
diff options
context:
space:
mode:
authorrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2008-06-29 21:17:14 +0000
committerrizzo <rizzo@f38db490-d61c-443f-a65b-d21fe96a405b>2008-06-29 21:17:14 +0000
commitdad97dff629a36e66d5866129eec4e0136bfe0e1 (patch)
treed33f892a4f72ede26f499a83c8da1bbfec922b9d /channels/console_board.c
parent51e7a64b4d19e588dd8c18e184fd54cf0c0f253a (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: http://svn.digium.com/svn/asterisk/trunk@126480 f38db490-d61c-443f-a65b-d21fe96a405b
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.
*/