Changeset 4336:044833933e5c in roaraudio


Ignore:
Timestamp:
09/13/10 04:36:15 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

use a central function for stream state change

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/streams.c

    r4290 r4336  
    3232int streams_recsource_id = -1; 
    3333 
     34static void _streams_change_state(struct roar_stream_server * s, const int new, const char * func) { 
     35 register int id  = ROAR_STREAM(s)->id; 
     36 register int old = s->state; 
     37 
     38 s->state = new; 
     39 
     40 if ( func == NULL ) { 
     41  func = "(unknown)"; 
     42 } 
     43 
     44 ROAR_INFO("_streams_change_state[by %s](id=%i): stream state: %s->%s", ROAR_DBG_INFO_VERBOSE, 
     45            func, 
     46            ROAR_STREAM(s)->id, 
     47            roar_streamstate2str(old), roar_streamstate2str(new)); 
     48 
     49 roar_notify_core_emit_simple(ROAR_OE_BASICS_CHANGE_STATE, -1, id, ROAR_OT_STREAM, old, new, NULL, 0); 
     50} 
     51 
    3452int streams_init (void) { 
    3553 int i; 
     
    165183  return 0; 
    166184 
    167  ROAR_INFO("streams_delete(id=%i): stream state: %s->closing", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(s->state)); 
    168  s->state = ROAR_STREAMSTATE_CLOSING; 
     185 _streams_change_state(s, ROAR_STREAMSTATE_CLOSING, "streams_delete"); 
    169186 
    170187 counters_inc(streams, -1); 
     
    596613 if ( fh == -1 || fh == -2 ) { // yes, this is valid, indecats full vio! 
    597614  ss->ready = 1; 
    598   ROAR_INFO("streams_set_fh(id=%i, fh=%i): stream state: %s->new", ROAR_DBG_INFO_VERBOSE, id, fh, roar_streamstate2str(ss->state)); 
    599   ss->state = ROAR_STREAMSTATE_NEW; 
     615  //ROAR_INFO("streams_set_fh(id=%i, fh=%i): stream state: %s->new", ROAR_DBG_INFO_VERBOSE, id, fh, roar_streamstate2str(ss->state)); 
     616  _streams_change_state(ss, ROAR_STREAMSTATE_NEW, "streams_set_fh"); 
    600617  return 0; 
    601618 } 
     
    633650 if ( !nonblock ) { 
    634651  ss->ready = 1; 
    635   ROAR_INFO("streams_set_fh(id=%i, fh=%i): stream state: %s->new", ROAR_DBG_INFO_VERBOSE, id, fh, roar_streamstate2str(ss->state)); 
    636   ss->state = ROAR_STREAMSTATE_NEW; 
     652  //ROAR_INFO("streams_set_fh(id=%i, fh=%i): stream state: %s->new", ROAR_DBG_INFO_VERBOSE, id, fh, roar_streamstate2str(ss->state)); 
     653  _streams_change_state(ss, ROAR_STREAMSTATE_NEW, "streams_set_fh"); 
    637654 
    638655  ROAR_DBG("streams_set_fh(id=%i, fh=%i) = 0", id, fh); 
     
    645662 
    646663  ss->ready = 1; 
    647   ROAR_INFO("streams_set_fh(id=%i, fh=%i): stream state: %s->new", ROAR_DBG_INFO_VERBOSE, id, fh, roar_streamstate2str(ss->state)); 
    648   ss->state = ROAR_STREAMSTATE_NEW; 
     664  //ROAR_INFO("streams_set_fh(id=%i, fh=%i): stream state: %s->new", ROAR_DBG_INFO_VERBOSE, id, fh, roar_streamstate2str(ss->state)); 
     665  _streams_change_state(ss, ROAR_STREAMSTATE_NEW, "streams_set_fh"); 
    649666 
    650667  ROAR_DBG("streams_set_fh(id=%i, fh=%i) = 0", id, fh); 
     
    13141331 
    13151332 if ( ss->is_new ) { 
    1316   ss->state = ROAR_STREAMSTATE_OLD; 
    1317   ROAR_INFO("streams_fill_mixbuffer2(id=%i, info=...): stream state: new->old", ROAR_DBG_INFO_VERBOSE, id); 
     1333  //ROAR_INFO("streams_fill_mixbuffer2(id=%i, info=...): stream state: new->old", ROAR_DBG_INFO_VERBOSE, id); 
     1334  _streams_change_state(ss, ROAR_STREAMSTATE_OLD, "streams_fill_mixbuffer2"); 
    13181335 } 
    13191336 
     
    18781895     if ( codecfilter_write(ss->codecfilter_inst, ss->codecfilter, NULL, 0) == 0 ) 
    18791896      if ( ss->state != ROAR_STREAMSTATE_OLD ) { 
    1880        ROAR_INFO("streams_send_mon(id=%i): stream state: %s->old", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(ss->state)); 
     1897       //ROAR_INFO("streams_send_mon(id=%i): stream state: %s->old", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(ss->state)); 
     1898       _streams_change_state(ss, ROAR_STREAMSTATE_OLD, "streams_send_mon"); 
    18811899      } 
    1882       ss->state = ROAR_STREAMSTATE_OLD; 
    18831900    } 
    18841901    return 0; 
     
    19731990   s->pos = ROAR_MATH_OVERFLOW_ADD(s->pos, ROAR_OUTPUT_CALC_OUTBUFSAMP(&(s->info), olen)*s->info.channels); 
    19741991   if ( ss->state != ROAR_STREAMSTATE_OLD ) { 
    1975     ROAR_INFO("streams_send_mon(id=%i): stream state: %s->old", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(ss->state)); 
     1992    //ROAR_INFO("streams_send_mon(id=%i): stream state: %s->old", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(ss->state)); 
     1993    _streams_change_state(ss, ROAR_STREAMSTATE_OLD, "streams_send_mon"); 
    19761994   } 
    1977    ss->state = ROAR_STREAMSTATE_OLD; 
    19781995   ROAR_DBG("streams_send_mon(id=%i) = 0", id); 
    19791996   _return(0); 
     
    19862003   s->pos = ROAR_MATH_OVERFLOW_ADD(s->pos, ROAR_OUTPUT_CALC_OUTBUFSAMP(&(s->info), ret)*s->info.channels); 
    19872004   if ( ss->state != ROAR_STREAMSTATE_OLD ) { 
    1988     ROAR_INFO("streams_send_mon(id=%i): stream state: %s->old", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(ss->state)); 
     2005    //ROAR_INFO("streams_send_mon(id=%i): stream state: %s->old", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(ss->state)); 
     2006    _streams_change_state(ss, ROAR_STREAMSTATE_OLD, "streams_send_mon"); 
    19892007   } 
    1990    ss->state = ROAR_STREAMSTATE_OLD; 
    19912008   _return(0); 
    19922009  } 
     
    19972014   s->pos = ROAR_MATH_OVERFLOW_ADD(s->pos, ROAR_OUTPUT_CALC_OUTBUFSAMP(&(s->info), olen)*s->info.channels); 
    19982015   if ( ss->state != ROAR_STREAMSTATE_OLD ) { 
    1999     ROAR_INFO("streams_send_mon(id=%i): stream state: %s->old", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(ss->state)); 
     2016    //ROAR_INFO("streams_send_mon(id=%i): stream state: %s->old", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(ss->state)); 
     2017    _streams_change_state(ss, ROAR_STREAMSTATE_OLD, "streams_send_mon"); 
    20002018   } 
    2001    ss->state = ROAR_STREAMSTATE_OLD; 
    20022019   _return(0); 
    20032020  } else { // we cann't retry on codec filetered streams 
     
    20202037   s->pos = ROAR_MATH_OVERFLOW_ADD(s->pos, ROAR_OUTPUT_CALC_OUTBUFSAMP(&(s->info), olen)*s->info.channels); 
    20212038   if ( ss->state != ROAR_STREAMSTATE_OLD ) { 
    2022     ROAR_INFO("streams_send_mon(id=%i): stream state: %s->old", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(ss->state)); 
     2039    //ROAR_INFO("streams_send_mon(id=%i): stream state: %s->old", ROAR_DBG_INFO_VERBOSE, id, roar_streamstate2str(ss->state)); 
     2040    _streams_change_state(ss, ROAR_STREAMSTATE_OLD, "streams_send_mon"); 
    20232041   } 
    2024    ss->state = ROAR_STREAMSTATE_OLD; 
    20252042   _return(0); 
    20262043  } else if ( errno == EAGAIN ) { 
     
    21342151      if ( g_streams[i] != NULL ) { 
    21352152       if ( g_streams[i]->state != ROAR_STREAMSTATE_OLD ) { 
    2136         ROAR_INFO("stream_vio_s_read(*): (stream: %i) stream state: %s->old", ROAR_DBG_INFO_VERBOSE, i, roar_streamstate2str(g_streams[i]->state)); 
     2153        //ROAR_INFO("stream_vio_s_read(*): (stream: %i) stream state: %s->old", ROAR_DBG_INFO_VERBOSE, i, roar_streamstate2str(g_streams[i]->state)); 
     2154        _streams_change_state(g_streams[i], ROAR_STREAMSTATE_OLD, "stream_vio_s_read"); 
    21372155       } 
    2138        g_streams[i]->state = ROAR_STREAMSTATE_OLD; 
    21392156      } 
    21402157     } 
     
    21812198      if ( g_streams[i] != NULL ) { 
    21822199       if ( g_streams[i]->state != ROAR_STREAMSTATE_OLD ) { 
    2183         ROAR_INFO("stream_vio_s_write(*): (stream: %i) stream state: %s->old", ROAR_DBG_INFO_VERBOSE, i, roar_streamstate2str(g_streams[i]->state)); 
     2200        //ROAR_INFO("stream_vio_s_write(*): (stream: %i) stream state: %s->old", ROAR_DBG_INFO_VERBOSE, i, roar_streamstate2str(g_streams[i]->state)); 
     2201        _streams_change_state(g_streams[i], ROAR_STREAMSTATE_OLD, "stream_vio_s_write"); 
    21842202       } 
    2185        g_streams[i]->state = ROAR_STREAMSTATE_OLD; 
    21862203      } 
    21872204     } 
Note: See TracChangeset for help on using the changeset viewer.