Changeset 3011

Show
Ignore:
Timestamp:
12/12/99 21:22:00 (14 years ago)
Author:
ucaccsp
Message:

- Assorted code cleanups.
- Add back thread priority for win32

Location:
rat/trunk
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • rat/trunk/MODS

    r3009 r3011  
    997997        - Add version number to mbus config file. Should prevent crashes 
    998998          when we update the format of that file. 
     999        - Set thread priority of media engine to THREAD_PRIORITY_ABOVE_NORMAL  
     1000          on Windows. 
    9991001 
    10001002 
  • rat/trunk/auddev_win32.c

    r2956 r3011  
    3535static int  error = 0; 
    3636static char errorText[MAXERRORLENGTH]; 
    37 extern int  thread_pri; 
    3837static int  nLoopGain = 100; 
    3938#define     MAX_DEV_NAME 64 
  • rat/trunk/main_engine.c

    r3008 r3011  
    4444#include "rtp_callback.h" 
    4545 
    46 int should_exit = FALSE; 
    47 int thread_pri  = 2; /* Time Critical */ 
     46int      should_exit = FALSE; 
     47char    *c_addr, *token, *token_e; /* These should be parameters of the session? */ 
    4848 
    4949#ifndef WIN32 
     
    5555} 
    5656#endif 
    57  
    58 char    *c_addr, *token, *token_e;  
    5957 
    6058#define MBUS_ADDR_ENGINE "(media:audio module:engine app:rat instance:%5u)" 
     
    102100        uint8_t          j; 
    103101 
    104 #ifndef WIN32 
     102#ifdef WIN32 
     103        /* Not sure what the correct priority should be... rat-3.0.x uses  */ 
     104        /* THREAD_PRIORITY_TIME_CRITICAL, but that's maybe too high. [csp] */ 
     105        SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_ABOVE_NORMAL); 
     106#else 
    105107        signal(SIGINT, signal_handler);  
     108        debug_set_core_dir(argv[0]); 
    106109#endif 
    107110 
    108         debug_set_core_dir(argv[0]); 
    109  
     111        /* Setup things which are independent of the session. These should */ 
     112        /* be create static data only, since it will be accessed by BOTH   */ 
     113        /* instances when running as a transcoder.                         */ 
    110114        seed = (gethostid() << 8) | (getpid() & 0xff); 
    111115        srand48(seed); 
    112116        lbl_srandom(seed); 
    113  
     117        converters_init(); 
     118        audio_init_interfaces(); 
     119        parse_args(argc, argv); 
     120 
     121        /* Initialize the session structure, and all session specific data */ 
    114122        sp = (session_t *) xmalloc(sizeof(session_t)); 
    115123        session_init(sp); 
    116         converters_init(); 
    117         audio_init_interfaces(); 
    118124        audio_device_get_safe_config(&sp->new_config); 
    119125        audio_device_reconfigure(sp); 
    120         sp->cur_ts = ts_seq32_in(&sp->decode_sequencer,  
    121                                  get_freq(sp->device_clock), 0); 
     126        sp->cur_ts = ts_seq32_in(&sp->decode_sequencer, get_freq(sp->device_clock), 0); 
    122127        assert(audio_device_is_open(sp->audio_device)); 
    123128        settings_load_early(sp); 
    124         parse_args(argc, argv); 
    125129 
    126130        /* Initialise our mbus interface... once this is done we can talk to our controller */ 
     
    165169        settings_load_late(sp); 
    166170 
    167         ui_controller_init(sp); 
    168171        ui_initial_settings(sp); 
    169172        ui_update(sp); 
    170173        network_process_mbus(sp); 
    171174         
    172 #ifdef NDEF 
    173         if (sp->new_config != NULL) { 
    174                 network_process_mbus(sp); 
    175                 audio_device_reconfigure(sp); 
    176                 network_process_mbus(sp); 
    177         } 
    178 #endif 
    179  
    180 #ifdef NDEF 
    181         ui_final_settings(sp); 
    182         network_process_mbus(sp); 
    183 #endif 
    184175        audio_drain(sp->audio_device); 
    185176        if (tx_is_sending(sp->tb)) { 
     
    222213                /* Process audio */ 
    223214                elapsed_time += audio_rw_process(sp, sp, sp->ms); 
    224                 cur_time = get_time(sp->device_clock); 
    225                 ntp_time = ntp_time32(); 
    226                 sp->cur_ts   = ts_seq32_in(&sp->decode_sequencer, get_freq(sp->device_clock), cur_time); 
     215                cur_time      = get_time(sp->device_clock); 
     216                ntp_time      = ntp_time32(); 
     217                sp->cur_ts    = ts_seq32_in(&sp->decode_sequencer, get_freq(sp->device_clock), cur_time); 
    227218 
    228219                if (tx_is_sending(sp->tb)) { 
     
    234225                if (sp->playing_audio) { 
    235226                        struct s_source *s; 
    236                         int sidx; 
    237                         ts_t cush_ts; 
     227                        int              sidx; 
     228                        ts_t             cush_ts; 
     229 
    238230                        cush_ts = ts_map32(get_freq(sp->device_clock), cushion_get_size(sp->cushion)); 
    239231                        cush_ts = ts_add(sp->cur_ts, cush_ts); 
     
    269261                /* Echo Suppression - cut off transmitter when receiving     */ 
    270262                /* audio, enable when stop receiving.                        */ 
    271  
    272263                if (sp->echo_suppress) { 
    273264                        if (scnt > 0) { 
     
    305296                } 
    306297                if (sp->new_config != NULL) { 
    307                         /* wait for mbus messages - closing audio device 
    308                          * can timeout unprocessed messages as some drivers 
    309                          * pause to drain before closing. 
    310                          */ 
     298                        /* wait for mbus messages - closing audio device    */ 
     299                        /* can timeout unprocessed messages as some drivers */ 
     300                        /* pause to drain before closing.                   */ 
    311301                        network_process_mbus(sp); 
    312302                        if (audio_device_reconfigure(sp)) { 
    313                                 /* Device reconfigured so 
    314                                  * decode paths of all sources 
    315                                  * are misconfigured.  Delete 
    316                                  * and incoming data will 
    317                                  * drive correct new path */ 
     303                                /* Device reconfigured so decode paths of all sources */ 
     304                                /* are misconfigured. Delete the source, and incoming */ 
     305                                /* data will drive the correct new path.              */ 
    318306                                source_list_clear(sp->active_sources); 
    319307                        } 
     
    345333        } while (!mbus_sent_all(sp->mbus_engine)); 
    346334        mbus_exit(sp->mbus_engine); 
    347         sp->mbus_engine = NULL; 
    348335 
    349336        for (j = 0; j < sp->rtp_session_count; j++) { 
     
    354341 
    355342        session_exit(sp); 
    356         xfree(sp); 
    357  
    358343        converters_free(); 
    359344        audio_free_interfaces(); 
    360  
    361345        xmemdmp(); 
    362346        return 0; 
  • rat/trunk/session.c

    r2958 r3011  
    160160        channel_encoder_destroy(&sp->channel_coder); 
    161161        source_list_destroy(&sp->active_sources); 
     162        xfree(sp); 
    162163} 
    163164 
  • rat/trunk/ui.c

    r3006 r3011  
    10811081ui_initial_settings(session_t *sp) 
    10821082{ 
     1083        /* One off setting transfers / initialization */ 
    10831084        uint32_t my_ssrc = rtp_my_ssrc(sp->rtp_session[0]); 
    1084         /* One off setting transfers / initialization */ 
     1085 
     1086        mbus_qmsgf(sp->mbus_engine, sp->mbus_ui_addr, TRUE, "rtp.ssrc", "%08lx", my_ssrc); 
     1087        network_process_mbus(sp); 
     1088 
    10851089        ui_sampling_modes(sp);                  network_process_mbus(sp); 
    10861090        ui_converters(sp);                      network_process_mbus(sp); 
     
    10951099        ui_info_update_tool(sp,  my_ssrc);      network_process_mbus(sp); 
    10961100        ui_title(sp);                           network_process_mbus(sp); 
    1097 #ifdef NDEF /* This is done by load_settings() now... */ 
    1098         ui_load_settings(sp);                   network_process_mbus(sp); 
    1099 #endif 
    11001101} 
    11011102 
     
    11061107} 
    11071108 
    1108 void 
    1109 ui_controller_init(session_t *sp) 
    1110 { 
    1111         char    my_ssrc[11]; 
    1112  
    1113         sprintf(my_ssrc, "\"%08x\"", rtp_my_ssrc(sp->rtp_session[0])); 
    1114         mbus_qmsg(sp->mbus_engine, sp->mbus_ui_addr, "rtp.ssrc", my_ssrc, TRUE); 
    1115 } 
    1116  
  • rat/trunk/ui.h

    r2958 r3011  
    6464void ui_quit                 (struct s_session *s); 
    6565 
    66 void ui_controller_init      (struct s_session *s); 
    67  
    6866#endif