Changeset 5388:e5cc8e03a3e1 in roaraudio
- Timestamp:
- 01/17/12 11:27:07 (12 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 35 edited
Legend:
- Unmodified
- Added
- Removed
-
ChangeLog
r5380 r5388 1 1 v. 1.0beta0 - ? 2 2 * Updated API (SONAME change) 3 (Closes: #184, #185, #128, #135, #134, #133, #129, #188, #126 )3 (Closes: #184, #185, #128, #135, #134, #133, #129, #188, #126, #127) 4 4 * Do not set errno to zero in ogg_vorbis codec filter (Closes: #191) 5 5 * Updated data types for struct roar_audio_info (Closes: #189) -
include/libroar/vio.h
r5381 r5388 52 52 53 53 #define ROAR_VIO_FLAGS_NONE 0x00000000UL 54 #define ROAR_VIO_FLAGS_FREESELF 0x000000 20UL /* Free the VIO object */54 #define ROAR_VIO_FLAGS_FREESELF 0x00000001UL /* Free the VIO object */ 55 55 56 56 struct roar_connection; … … 81 81 int roar_vio_sync (struct roar_vio_calls * vio) _LIBROAR_ATTR_NONNULL_ALL; 82 82 int roar_vio_ctl (struct roar_vio_calls * vio, roar_vio_ctl_t cmd, void * data) _LIBROAR_ATTR_USE_RESULT _LIBROAR_ATTR_NONNULL(1); 83 int roar_vio_close (struct roar_vio_calls * vio) _LIBROAR_ATTR_NONNULL_ALL; 83 84 #define roar_vio_close(x) roar_vio_unref((x)) 85 int roar_vio_ref (struct roar_vio_calls * vio) _LIBROAR_ATTR_NONNULL_ALL; 86 int roar_vio_unref (struct roar_vio_calls * vio) _LIBROAR_ATTR_NONNULL_ALL; 84 87 85 88 // specal commands: -
include/libroar/vio_dstr.h
r5381 r5388 199 199 200 200 int roar_vio_open_dstr_simple(struct roar_vio_calls * calls, const char * dstr, int o_flags); 201 struct roar_vio_calls * roar_vio_open_dstr_simple_new(const char * dstr, int o_flags); 201 202 202 203 int roar_vio_open_dstr (struct roar_vio_calls * calls, const char * dstr, struct roar_vio_defaults * def, int dnum); -
libroar/vio.c
r5381 r5388 53 53 memset((void*)calls, 0, sizeof(struct roar_vio_calls)); 54 54 calls->flags = ROAR_VIO_FLAGS_NONE; 55 calls->refc = 0;55 calls->refc = 1; 56 56 57 57 return 0; … … 202 202 } 203 203 204 int roar_vio_close (struct roar_vio_calls * vio) { 204 205 int roar_vio_ref (struct roar_vio_calls * vio) { 206 if ( vio == NULL ) { 207 roar_err_set(ROAR_ERROR_FAULT); 208 return -1; 209 } 210 211 vio->refc++; 212 213 return 0; 214 } 215 216 int roar_vio_unref (struct roar_vio_calls * vio) { 205 217 int ret; 206 218 207 ROAR_DBG("roar_vio_ close(vio=%p) = ?", vio);208 209 if ( vio == NULL ) { 210 roar_err_set(ROAR_ERROR_FAULT); 211 return -1; 212 } 213 214 if ( vio-> close == NULL ) {219 ROAR_DBG("roar_vio_unref(vio=%p) = ?", vio); 220 221 if ( vio == NULL ) { 222 roar_err_set(ROAR_ERROR_FAULT); 223 return -1; 224 } 225 226 if ( vio->refc == 1 && vio->close == NULL ) { 215 227 roar_err_set(ROAR_ERROR_NOSYS); 216 228 return -1; 217 229 } 230 231 vio->refc--; 232 233 if ( vio->refc ) 234 return 0; 218 235 219 236 roar_err_clear_all(); … … 221 238 roar_err_update(); 222 239 240 if ( vio->flags & ROAR_VIO_FLAGS_FREESELF ) 241 roar_mm_free(vio); 242 223 243 return ret; 224 244 } … … 257 277 258 278 memset((void*)calls, 0, sizeof(struct roar_vio_calls)); 279 calls->flags = ROAR_VIO_FLAGS_NONE; 280 calls->refc = 1; 259 281 260 282 calls->read = roar_vio_basic_read; … … 642 664 643 665 memset((void*)calls, 0, sizeof(struct roar_vio_calls)); 666 calls->flags = ROAR_VIO_FLAGS_NONE; 667 calls->refc = 1; 644 668 645 669 calls->read = roar_vio_pass_read; -
libroar/vio_bio.c
r5381 r5388 42 42 43 43 memset(calls, 0, sizeof(struct roar_vio_calls)); 44 calls->flags = ROAR_VIO_FLAGS_NONE; 45 calls->refc = 1; 44 46 45 47 calls->read = roar_vio_bio_read; -
libroar/vio_buffer.c
r5381 r5388 59 59 60 60 memset(calls, 0, sizeof(struct roar_vio_calls)); 61 calls->flags = ROAR_VIO_FLAGS_NONE; 62 calls->refc = 1; 61 63 62 64 calls->inst = self; -
libroar/vio_buffer_store.c
r5381 r5388 50 50 51 51 memset(calls, 0, sizeof(struct roar_vio_calls)); 52 calls->flags = ROAR_VIO_FLAGS_NONE; 53 calls->refc = 1; 52 54 53 55 if ( inst != NULL ) -
libroar/vio_cmd.c
r5381 r5388 54 54 // clear all 55 55 memset(calls, 0, sizeof(struct roar_vio_calls)); 56 calls->flags = ROAR_VIO_FLAGS_NONE; 57 calls->refc = 1; 56 58 memset(state, 0, sizeof(struct roar_vio_cmd_state)); 57 59 … … 233 235 // clear all 234 236 memset(calls, 0, sizeof(struct roar_vio_calls)); 237 calls->flags = ROAR_VIO_FLAGS_NONE; 238 calls->refc = 1; 235 239 memset(state, 0, sizeof(struct roar_vio_2popen_state)); 236 240 -
libroar/vio_dstr.c
r5381 r5388 411 411 } 412 412 413 struct roar_vio_calls * roar_vio_open_dstr_simple_new(const char * dstr, int o_flags) { 414 struct roar_vio_calls * ret = roar_mm_malloc(sizeof(struct roar_vio_calls)); 415 int err; 416 417 if ( ret == NULL ) 418 return NULL; 419 420 if ( roar_vio_open_dstr_simple(ret, dstr, o_flags) == -1 ) { 421 err = roar_error; 422 roar_mm_free(ret); 423 roar_error = err; 424 return NULL; 425 } 426 427 ret->flags |= ROAR_VIO_FLAGS_FREESELF; 428 429 return ret; 430 } 431 413 432 int roar_vio_open_dstr (struct roar_vio_calls * calls, const char * dstr, struct roar_vio_defaults * def, int dnum) { 414 433 return roar_vio_open_dstr_vio(calls, dstr, def, dnum, NULL); -
libroar/vio_jumbo.c
r5381 r5388 53 53 54 54 memset(calls, 0, sizeof(struct roar_vio_calls)); 55 calls->flags = ROAR_VIO_FLAGS_NONE; 56 calls->refc = 1; 55 57 calls->inst = self; 56 58 calls->close = roar_vio_jumbo_close; -
libroar/vio_misc.c
r5381 r5388 106 106 107 107 memset(calls, 0, sizeof(struct roar_vio_calls)); 108 calls->flags = ROAR_VIO_FLAGS_NONE; 109 calls->refc = 1; 108 110 calls->read = roar_vio_misc_read; 109 111 calls->write = roar_vio_misc_write; -
libroar/vio_pipe.c
r5381 r5388 125 125 126 126 memset(s, 0, sizeof(struct roar_vio_calls)); 127 s->flags = ROAR_VIO_FLAGS_NONE; 128 s->refc = 1; 127 129 128 130 s->close = roar_vio_pipe_close; -
libroar/vio_rtp.c
r5381 r5388 110 110 111 111 memset(calls, 0, sizeof(struct roar_vio_calls)); 112 calls->flags = ROAR_VIO_FLAGS_NONE; 113 calls->refc = 1; 112 114 113 115 calls->inst = self; -
libroar/vio_stack.c
r5381 r5388 56 56 memset(self, 0, sizeof(struct roar_vio_stack)); 57 57 memset(calls, 0, sizeof(struct roar_vio_calls)); 58 calls->flags = ROAR_VIO_FLAGS_NONE; 59 calls->refc = 1; 58 60 59 61 self->free = func; -
libroar/vio_stdio.c
r5381 r5388 42 42 43 43 memset(calls, 0, sizeof(struct roar_vio_calls)); 44 calls->flags = ROAR_VIO_FLAGS_NONE; 45 calls->refc = 1; 44 46 45 47 calls->read = roar_vio_stdio_read; -
libroar/vio_tantalos.c
r5381 r5388 97 97 return 0; 98 98 99 memset(calls, 0, sizeof( *calls));99 memset(calls, 0, sizeof(struct roar_vio_calls)); 100 100 } 101 101 -
libroar/vio_zlib.c
r5381 r5388 538 538 539 539 memset(calls, 0, sizeof(struct roar_vio_calls)); 540 calls->flags = ROAR_VIO_FLAGS_NONE; 541 calls->refc = 1; 540 542 541 543 calls->inst = self; -
libroardsp/vio_transcode.c
r5381 r5388 44 44 45 45 memset(calls, 0, sizeof(struct roar_vio_calls)); 46 calls->flags = ROAR_VIO_FLAGS_NONE; 47 calls->refc = 1; 46 48 47 49 calls->inst = (void*)xcoder; … … 115 117 116 118 memset(calls, 0, sizeof(struct roar_vio_calls)); 119 calls->flags = ROAR_VIO_FLAGS_NONE; 120 calls->refc = 1; 117 121 118 calls->inst 122 calls->inst = (void*)bixcoder; 119 123 120 calls->close 124 calls->close = roar_vio_bixcode_close; 121 125 122 126 calls->read = roar_vio_bixcode_read; -
libroareio/driver.c
r5381 r5388 38 38 39 39 memset(calls, 0, sizeof(struct roar_vio_calls)); 40 calls->flags = ROAR_VIO_FLAGS_NONE; 41 calls->refc = 1; 40 42 calls->read = roar_vio_null_rw; 41 43 calls->write = roar_vio_null_rw; -
roard/beep.c
r5381 r5388 61 61 62 62 memset(vio, 0, sizeof(struct roar_vio_calls)); 63 63 vio->flags = ROAR_VIO_FLAGS_NONE; 64 vio->refc = 1; 64 65 vio->inst = inst; 65 66 vio->read = beep_read; -
roard/container_framework.c
r5381 r5388 169 169 170 170 memset(vio, 0, sizeof(struct roar_vio_calls)); 171 vio->inst = inst; 172 171 vio->flags = ROAR_VIO_FLAGS_NONE; 172 vio->refc = 1; 173 vio->inst = inst; 173 174 vio->read = cont_fw_read; 174 175 vio->write = cont_fw_write; … … 238 239 int cont_pvio_open (struct roar_vio_calls * vio, void * inst) { 239 240 memset(vio, 0, sizeof(struct roar_vio_calls)); 241 vio->flags = ROAR_VIO_FLAGS_NONE; 242 vio->refc = 1; 240 243 241 244 vio->inst = inst; -
roard/driver.c
r5381 r5388 220 220 if ( g_driver[i].open == NULL ) { // this is the null driver 221 221 memset(calls, 0, sizeof(struct roar_vio_calls)); 222 calls->flags = ROAR_VIO_FLAGS_NONE; 223 calls->refc = 1; 222 224 calls->read = roar_vio_null_rw; 223 225 calls->write = roar_vio_null_rw; -
roard/driver_alsa.c
r5381 r5388 225 225 226 226 memset(inst, 0, sizeof(struct roar_vio_calls)); 227 inst->flags = ROAR_VIO_FLAGS_NONE; 228 inst->refc = 1; 227 229 228 230 inst->inst = (void*) interface; -
roard/driver_ao.c
r5381 r5388 131 131 132 132 memset(inst, 0, sizeof(struct roar_vio_calls)); 133 inst->flags = ROAR_VIO_FLAGS_NONE; 134 inst->refc = 1; 133 135 inst->inst = (void*) aodevice; 134 136 inst->write = driver_ao_write; -
roard/driver_artsc.c
r5381 r5388 119 119 120 120 memset(inst, 0, sizeof(struct roar_vio_calls)); 121 inst->flags = ROAR_VIO_FLAGS_NONE; 122 inst->refc = 1; 121 123 122 124 inst->inst = (void*) self; -
roard/driver_jack.c
r5381 r5388 61 61 // set up VIO: 62 62 memset(inst, 0, sizeof(struct roar_vio_calls)); 63 inst->flags = ROAR_VIO_FLAGS_NONE; 64 inst->refc = 1; 63 65 64 66 inst->read = driver_jack_read; -
roard/driver_oss.c
r5381 r5388 35 35 36 36 memset(vio, 0, sizeof(struct roar_vio_calls)); 37 vio->flags = ROAR_VIO_FLAGS_NONE; 38 vio->refc = 1; 37 39 38 40 vio->write = driver_oss_write; -
roard/driver_portaudio.c
r5381 r5388 120 120 121 121 memset(inst, 0, sizeof(struct roar_vio_calls)); 122 inst->flags = ROAR_VIO_FLAGS_NONE; 123 inst->refc = 1; 122 124 123 125 inst->inst = self; -
roard/driver_pulsesimple.c
r5381 r5388 121 121 122 122 memset(inst, 0, sizeof(struct roar_vio_calls)); 123 inst->flags = ROAR_VIO_FLAGS_NONE; 124 inst->refc = 1; 123 125 124 126 inst->inst = self; -
roard/driver_rsound.c
r5381 r5388 167 167 168 168 memset(inst, 0, sizeof(struct roar_vio_calls)); 169 inst->flags = ROAR_VIO_FLAGS_NONE; 170 inst->refc = 1; 169 171 170 172 inst->inst = self; -
roard/driver_shout.c
r5381 r5388 199 199 200 200 memset(inst, 0, sizeof(struct roar_vio_calls)); 201 inst->flags = ROAR_VIO_FLAGS_NONE; 202 inst->refc = 1; 201 203 inst->inst = (void*)shout; 202 204 inst->write = driver_shout_write; -
roard/driver_sndio.c
r5381 r5388 32 32 33 33 memset(vio, 0, sizeof(struct roar_vio_calls)); 34 vio->flags = ROAR_VIO_FLAGS_NONE; 35 vio->refc = 1; 34 36 35 37 vio->close = driver_sndio_close_vio; -
roard/driver_sysclock.c
r5381 r5388 39 39 memset(self, 0, sizeof(struct driver_sysclock)); 40 40 memset(inst, 0, sizeof(struct roar_vio_calls)); 41 inst->flags = ROAR_VIO_FLAGS_NONE; 42 inst->refc = 1; 41 43 42 44 inst->inst = self; -
roard/driver_wmm.c
r5381 r5388 188 188 // VIO Setup: 189 189 memset(inst, 0, sizeof(struct roar_vio_calls)); 190 inst->flags = ROAR_VIO_FLAGS_NONE; 191 inst->refc = 1; 190 192 inst->inst = self; 191 193 inst->close = driver_wmm_close_vio; -
roard/sources.c
r5381 r5388 441 441 442 442 memset(&(ss->vio), 0, sizeof(struct roar_vio_calls)); 443 ss->vio.flags = ROAR_VIO_FLAGS_NONE; 444 ss->vio.refc = 1; 443 445 ss->vio.read = sources_radionoise_read; 444 446 ss->vio.close = sources_radionoise_return_zero;
Note: See TracChangeset
for help on using the changeset viewer.