Changeset 2900

Show
Ignore:
Timestamp:
11/03/99 11:59:05 (14 years ago)
Author:
ucacoxh
Message:

- Added echo suppression back.

Location:
rat/trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • rat/trunk/MODS

    r2895 r2900  
    922922        - Tuples for mbus command switches in mbus_{control,engine,ui}. 
    923923        * 2 November 1999 
    924  
     924        - Added echo suppression back, it fell out of code base at some point. 
    925925 
    926926TODO -- They're features not bugs dammit! 
     
    977977  traffic, and display this in the loss matrix. 
    978978- Layering is broken (hasn't been updated for multiple processes, etc) 
    979  
  • rat/trunk/main_engine.c

    r2877 r2900  
    237237                } 
    238238 
     239                /* Echo Suppression - cut off transmitter when receiving     */ 
     240                /* audio, enable when stop receiving.                        */ 
     241 
     242                if (sp->echo_suppress) { 
     243                        if (source_list_source_count(sp->active_sources) > 0) { 
     244                                if (tx_is_sending(sp->tb)) { 
     245                                        tx_stop(sp->tb); 
     246                                        sp->echo_tx_active = TRUE; 
     247                                } 
     248                        } else if (sp->echo_tx_active) { 
     249                                /* Transmitter was stopped because we were   */ 
     250                                /* playing out audio.  Restart it.           */ 
     251                                if (tx_is_sending(sp->tb) == FALSE) { 
     252                                        tx_start(sp->tb); 
     253                                } 
     254                                sp->echo_tx_active = FALSE; 
     255                        } 
     256                } 
     257 
    239258                if (alc >= 50) { 
    240259                        if (!sp->lecture && tx_is_sending(sp->tb) && sp->auto_lecture != 0) { 
  • rat/trunk/mbus_engine.c

    r2886 r2900  
    260260        if (mbus_parse_int(sp->mbus_engine, &i)) { 
    261261                sp->echo_suppress = i; 
    262                 if (sp->echo_suppress) { 
    263                         source_list_clear(sp->active_sources); 
     262                if (sp->echo_suppress     == FALSE &&  
     263                    sp->echo_tx_active    == TRUE  &&  
     264                    tx_is_sending(sp->tb) == FALSE) { 
     265                        /* Suppressor has just been disabled,  transmitter  */ 
     266                        /* is in suppressed state and would otherwise be    */ 
     267                        /* active.  Therefore start it up now.              */ 
     268                        tx_start(sp->tb); 
    264269                } 
    265270        } else { 
     
    302307                        } 
    303308                } 
    304                 sp->echo_was_sending = i; 
     309                /* Keep echo suppressor informed of change */ 
     310                sp->echo_tx_active = !i; 
    305311                ui_update_input_port(sp); 
    306312        } else { 
  • rat/trunk/session.h

    r2881 r2900  
    7575        int                 render_3d; 
    7676        int                 echo_suppress; 
    77         int                 echo_was_sending; /* Mute state when suppressing */ 
     77        int                 echo_tx_active; /* Mute state when suppressing */ 
    7878        int                 auto_lecture;     /* Used for dummy lecture mode */ 
    7979        int                 receive_audit_required; 
  • rat/trunk/transmit.c

    r2798 r2900  
    179179        if (tb->sending_audio) { 
    180180                debug_msg("Why? Fix"); 
     181                abort(); 
    181182                return; 
    182183        }