Changeset 643:c3fc248024dd in roaraudio for roard/streams.c
- Timestamp:
- 08/25/08 13:26:36 (16 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/streams.c
r634 r643 58 58 s->post_underruns = 0; 59 59 s->codec_orgi = -1; 60 s->primary = 0; 60 61 61 62 s->mixer.scale = 65535; … … 84 85 85 86 int streams_delete (int id) { 86 if ( g_streams[id] == NULL ) 87 struct roar_stream_server * s; 88 if ( (s = g_streams[id]) == NULL ) 87 89 return 0; 88 90 89 91 ROAR_DBG("streams_delete(id=%i) = ?", id); 90 ROAR_DBG("streams_delete(id=%i): g_streams[id]->id=%i", id, ROAR_STREAM( g_streams[id])->id);91 92 if ( g_streams[id]->codecfilter != -1 ) {93 codecfilter_close( g_streams[id]->codecfilter_inst, g_streams[id]->codecfilter);94 g_streams[id]->codecfilter_inst = NULL;95 g_streams[id]->codecfilter = -1;96 } 97 98 if ( g_streams[id]->client != -1 ) {92 ROAR_DBG("streams_delete(id=%i): g_streams[id]->id=%i", id, ROAR_STREAM(s)->id); 93 94 if ( s->codecfilter != -1 ) { 95 codecfilter_close(s->codecfilter_inst, s->codecfilter); 96 s->codecfilter_inst = NULL; 97 s->codecfilter = -1; 98 } 99 100 if ( s->client != -1 ) { 99 101 ROAR_DBG("streams_delete(id=%i): Stream is owned by client %i", id, g_streams[id]->client); 100 client_stream_delete(g_streams[id]->client, id); 101 } 102 103 if ( g_streams[id]->buffer != NULL ) 104 roar_buffer_free(g_streams[id]->buffer); 105 106 if ( g_streams[id]->output != NULL ) 107 free(g_streams[id]->output); 108 109 if ( ROAR_STREAM(g_streams[id])->fh != -1 ) 110 close(ROAR_STREAM(g_streams[id])->fh); 111 112 free(g_streams[id]); 102 client_stream_delete(s->client, id); 103 } 104 105 if ( s->buffer != NULL ) 106 roar_buffer_free(s->buffer); 107 108 if ( s->output != NULL ) 109 free(s->output); 110 111 if ( ROAR_STREAM(s)->fh != -1 ) 112 close(ROAR_STREAM(s)->fh); 113 114 if ( s->primary ) { 115 alive = 0; 116 clean_quit(); 117 } 118 119 free(s); 113 120 114 121 g_streams[id] = NULL; … … 195 202 } 196 203 204 int streams_set_primary (int id, int prim) { 205 if ( g_streams[id] == NULL ) 206 return -1; 207 208 g_streams[id]->primary = prim; 209 210 return 0; 211 } 212 213 int streams_mark_primary (int id) { 214 return streams_set_primary(id, 1); 215 } 197 216 int streams_get_outputbuffer (int id, void ** buffer, size_t size) { 198 217 if ( g_streams[id] == NULL )
Note: See TracChangeset
for help on using the changeset viewer.