Changeset 2240:3e47106d192e in roaraudio
- Timestamp:
- 07/28/09 04:03:14 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/raw.c
r2237 r2240 26 26 27 27 int raw_check_stream (int id) { 28 return -1; 28 struct roar_stream * s; 29 struct roar_stream_server * ss; 30 struct roar_buffer * buf; 31 void * data; 32 ssize_t len; 33 34 if ( g_streams[id] == NULL ) 35 return -1; 36 37 ROAR_DBG("raw_check_stream(id=%i) = ?", id); 38 39 s = ROAR_STREAM(ss = g_streams[id]); 40 41 if ( s->pos_rel_id == -1 ) 42 return -1; 43 44 if ( roar_buffer_new(&buf, RAW_READ_LEN) == -1 ) 45 return -1; 46 47 if ( roar_buffer_get_data(buf, &data) == -1 ) { 48 roar_buffer_free(buf); 49 return -1; 50 } 51 52 if ( (len = stream_vio_s_read(ss, data, RAW_READ_LEN)) < 1 ) { 53 roar_buffer_free(buf); 54 return -1; 55 } 56 57 if ( stream_vio_write(s->pos_rel_id, data, len) != len ) { 58 // we are that hard here as this is needed to ensure data integrety 59 streams_delete(s->pos_rel_id); 60 } 61 62 roar_buffer_free(buf); 63 64 return 0; 29 65 } 30 66
Note: See TracChangeset
for help on using the changeset viewer.