diff options
Diffstat (limited to 'src/camera.cc')
-rw-r--r-- | src/camera.cc | 75 |
1 files changed, 42 insertions, 33 deletions
diff --git a/src/camera.cc b/src/camera.cc index 03aa87f..57f4a17 100644 --- a/src/camera.cc +++ b/src/camera.cc @@ -8,25 +8,32 @@ ****************************************************************************/ /* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This file is part of MIaV. * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Library General Public License for more details. + * MIaV is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * MIaV is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with MIaV; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ + /* * $Id$ */ + /* * $Log$ + * Revision 1.14 2005/05/03 08:31:59 deva + * Removed the error object, and replaced it with a more generic info object. + * * Revision 1.13 2005/05/02 14:06:55 deva * Added unfreeze to decoder (called from camera). * @@ -45,20 +52,20 @@ * * Revision 1.8 2005/05/01 09:56:26 deva * Added Id and Log tags to all files - * */ + #include <config.h> #ifdef USE_GUI #include "camera.h" -Camera::Camera() +Camera::Camera(Info *ginfo) { + info = ginfo; } void Camera::connect(const char *ip, const int port) { - errorstatus = new Error(); initialized = false; pthread_mutex_init (&mutex, NULL); @@ -77,55 +84,64 @@ void Camera::connect(const char *ip, const int port) sem_init(&encode_sem, 0, 0); sem_init(&player_sem, 0, 0); - decoder = new Decoder(errorstatus, + decoder = new Decoder(info, &encode_sem, &player_sem, encode_queue, player_queue, &mutex, &running); + /* if(errorstatus->hasError()) { errorstatus->pushError("Camera initialization failed (decoder)."); return; } - - encoder = new Encoder(errorstatus, + */ + encoder = new Encoder(info, ip, port, &encode_sem, encode_queue, &mutex, &running); + /* if(errorstatus->hasError()) { errorstatus->pushError("Camera initialization failed (encoder)."); return; } - - player = new Player(errorstatus, + */ + player = new Player(info, &running, &player_sem, player_queue, &mutex); + /* if(errorstatus->hasError()) { errorstatus->pushError("Camera initialization failed (player)."); return; } + */ pthread_create (&decodetid, NULL, thread_run, decoder); + /* if(errorstatus->hasError()) { errorstatus->pushError("Camera initialization failed (decoder thread)."); return; } + */ pthread_create (&encodetid, NULL, thread_run, encoder); + /* if(errorstatus->hasError()) { errorstatus->pushError("Camera initialization failed (encoder thread)."); return; } + */ pthread_create (&playertid, NULL, thread_run, player); + /* if(errorstatus->hasError()) { errorstatus->pushError("Camera initialization failed (player thread)."); return; } - + */ initialized = true; } @@ -147,15 +163,13 @@ Camera::~Camera() delete player_queue; delete encode_queue; - - delete errorstatus; } void Camera::setCpr(char *newcpr) { if(initialized) encoder->setCpr(newcpr); - else errorstatus->pushError("Camera not initialized."); + else info->error("Camera not initialized."); } @@ -166,7 +180,7 @@ void Camera::start() encoder->start(); decoder->start(); } else { - errorstatus->pushError("Camera not initialized."); + info->error("Camera not initialized."); } } @@ -176,7 +190,7 @@ void Camera::stop(n_savestate save) decoder->stop(save); encoder->stop(save); } else { - errorstatus->pushError("Camera not initialized."); + info->error("Camera not initialized."); } } @@ -187,7 +201,7 @@ void Camera::freeze() // encoder->freeze(); decoder->freeze(); } else { - errorstatus->pushError("Camera not initialized."); + info->error("Camera not initialized."); } } @@ -197,7 +211,7 @@ void Camera::unfreeze() player->start(); decoder->unfreeze(); } else { - errorstatus->pushError("Camera not initialized."); + info->error("Camera not initialized."); } } @@ -207,13 +221,8 @@ void Camera::snapshot(unsigned char *rgb) decoder->shoot(rgb); encoder->shoot(); } else { - errorstatus->pushError("Camera not initialized."); + info->error("Camera not initialized."); } } -Error *Camera::errorObject() -{ - return errorstatus; -} - #endif/* USE_GUI */ |