acquisition.cpp
上传用户:psq1974
上传日期:2007-01-06
资源大小:1195k
文件大小:2k
源码类别:

mpeg/mp3

开发平台:

C/C++

  1. /* Copyright (C) 1998, 1999 State University of New York at Stony Brook
  2.    Author: Andrew V. Shuvalov ( andrew@ecsl.cs.sunysb.edu )
  3.    Software license is located in file "COPYING"
  4. */
  5. #include "stdafx.h"
  6. #include "acquisition.h"
  7. #include "protocol_thread.h"
  8. #include "video_thread.h"
  9. #include "text_thread.h"
  10. #include "exceptions.h"
  11. // few globals only here
  12. protocol_thread *protocolThread;
  13. video_thread    *videoThread;
  14. text_thread     *textThread;
  15. int main( int argc, char **argv )
  16. {
  17.   unsigned long videoThread_handle;
  18.   unsigned long textThread_handle;
  19.   // allocate threads
  20.   try
  21.     {
  22.       // this main thread will become the protocol thread
  23.       protocolThread = new protocol_thread( argc, argv );
  24.       videoThread = video_thread::create_instance( argc, argv );
  25.       textThread = new text_thread( argc, argv );
  26.     }
  27.   catch ( SyntaxException e ) 
  28.     {
  29.       cerr << e.getText().c_str() << endl;
  30.       return 1;
  31.     }
  32.   catch ( NetworkException e )
  33.     {
  34.       cerr << e.getText().c_str() << endl;
  35.       return 1;
  36.     }
  37.   try
  38.     {
  39.       videoThread_handle = _beginthread
  40. ( videoThread->video_thread_entry_func, 0, videoThread );
  41.       textThread_handle = _beginthread
  42. ( textThread->text_thread_entry_func, 0, textThread );
  43.       // this main thread become the protocol thread
  44.       protocolThread->protocol_thread_entry_func( protocolThread );
  45.     }
  46.   catch ( SyntaxException e ) 
  47.     {
  48.       cerr << e.getText().c_str() << endl;
  49.     }
  50.   catch ( ShutdownException e ) 
  51.     {
  52.       cerr << "should never happens at this level " << e.getText().c_str() 
  53.    << endl;
  54.     }
  55.   return 0;
  56. }