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
This commit is contained in:
Luigi Rizzo
2008-06-29 21:17:14 +00:00
parent dc4c6733ac
commit 1f7a4fb63d
3 changed files with 849 additions and 143 deletions

View File

@@ -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.
*/