1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-11-22 21:03:02 +01:00

Changed to toggle video command rather than two separate commands

This commit is contained in:
cnhenry 2015-08-12 08:24:43 -05:00
parent 2cdcbc07a7
commit 8a66c3fa4c
5 changed files with 23 additions and 50 deletions

View File

@ -45,7 +45,6 @@ void cmd_sense(WINDOW *, ToxWindow *, Tox *, int argc, char (*argv)[MAX_STR_SIZE
#ifdef VIDEO
void cmd_video(WINDOW *, ToxWindow *, Tox *, int argc, char (*argv)[MAX_STR_SIZE]);
void cmd_end_video(WINDOW *, ToxWindow *, Tox *, int argc, char (*argv)[MAX_STR_SIZE]);
void cmd_ccur_video_device(WINDOW *, ToxWindow *, Tox *, int argc, char (*argv)[MAX_STR_SIZE]);
#endif /* VIDEO */

View File

@ -84,7 +84,6 @@ static struct cmd_func chat_commands[] = {
#endif /* AUDIO */
#ifdef VIDEO
{ "/video", cmd_video },
{ "/endvideo", cmd_end_video },
#endif /* VIDEO */
{ NULL, NULL },
};

View File

@ -216,8 +216,7 @@ static void help_draw_chat(ToxWindow *self)
wattron(win, A_BOLD);
wprintw(win, "\n Video:\n");
wattroff(win, A_BOLD);
wprintw(win, " /video : Send video capture\n");
wprintw(win, " /endvideo : End video capture\n");
wprintw(win, " /video : Toggle video call\n");
#endif /* VIDEO */
help_draw_bottom_menu(win);
@ -300,7 +299,7 @@ void help_onKey(ToxWindow *self, wint_t key)
case 'c':
#ifdef VIDEO
help_init_window(self, 23, 80);
help_init_window(self, 22, 80);
#elif AUDIO
help_init_window(self, 19, 80);
#else

View File

@ -138,7 +138,7 @@ int start_video_transmission(ToxWindow *self, ToxAV *av, Call *call)
return -1;
}
if ( register_video_device_callback(self->num, call->vin_idx, read_video_device_callback, &self->num) != vde_None)
if ( register_video_device_callback(self->num, call->vin_idx, read_video_device_callback, &self->num) != vde_None )
line_info_add(self, NULL, NULL, NULL, SYS_MSG, 0, 0, "Failed to register input video handler!");
return 0;
@ -257,6 +257,7 @@ void cmd_video(WINDOW *window, ToxWindow *self, Tox *m, int argc, char (*argv)[M
goto on_error;
}
if ( this_call->vin_idx == -1 ) {
if ( !self->stb->connection ) {
error_str = "Friend is offline.";
goto on_error;
@ -267,39 +268,10 @@ void cmd_video(WINDOW *window, ToxWindow *self, Tox *m, int argc, char (*argv)[M
goto on_error;
}
if ( this_call->vin_idx != -1 ) {
error_str = "Video is already sending in this call.";
goto on_error;
}
callback_video_starting(self->num);
return;
on_error:
print_err (self, error_str);
}
void cmd_end_video(WINDOW *window, ToxWindow *self, Tox *m, int argc, char (*argv)[MAX_STR_SIZE])
{
const char *error_str;
Call* this_call = &CallControl.calls[self->num];
if ( argc != 0 ) {
error_str = "Unknown arguments.";
goto on_error;
}
if ( !CallControl.av ) {
error_str = "ToxAV not supported!";
goto on_error;
}
if ( this_call->vin_idx == -1 ) {
error_str = "Video is not running in this call.";
goto on_error;
}
} else {
callback_video_end(self->num);
}
return;
on_error:

View File

@ -171,7 +171,7 @@ VideoDeviceError init_video_devices()
{
size[vdt_input] = 0;
#ifdef __linux__
#ifdef __linux__
for (; size[vdt_input] <= MAX_DEVICES; ++size[vdt_input]) {
int fd;
char device_address[] = "/dev/videoXX";
@ -186,6 +186,7 @@ VideoDeviceError init_video_devices()
/* Query V4L for capture capabilities */
if ( ioctl(fd, VIDIOC_QUERYCAP, &cap) != -1 ) {
//strcpy(video_input_name,cap.card);
video_input_name = cap.card;
} else {
video_input_name = device_address;
@ -195,11 +196,13 @@ VideoDeviceError init_video_devices()
close(fd);
}
}
#endif /* __linux__ */
#else /* __OSX__ */
/* TODO: Add OSX implementation for listing input video devices */
#endif
size[vdt_output] = 1;
char* video_output_name = "Video Receiver";
char* video_output_name = "Toxic Video Receiver";
video_devices_names[vdt_output][0] = video_output_name;
// Start poll thread
@ -598,6 +601,7 @@ void* video_thread_poll (void* arg) // TODO: maybe use thread for every input so
u = device->input.planes[1];
v = device->input.planes[2];
#else /* __OSX__*/
#endif
/* Convert frame image data to YUV420 for ToxAV */