diff --git a/channels/chan_usbradio.c b/channels/chan_usbradio.c index b2b5d141a1a2a7f7ad562327772ec519709b893a..e6ef5e48c27729101d752dae03fdaf1fb2db3103 100644 --- a/channels/chan_usbradio.c +++ b/channels/chan_usbradio.c @@ -1526,8 +1526,9 @@ static int setformat(struct chan_usbradio_pvt *o, int mode) ast_log(LOG_WARNING, "Unable to re-open DSP device %d: %s\n", o->devicenum, strerror(errno)); return -1; } - if (o->owner) - o->owner->fds[0] = fd; + if (o->owner) { + ast_channel_internal_fd_set(o->owner, 0, fd); + } #if __BYTE_ORDER == __LITTLE_ENDIAN fmt = AFMT_S16_LE; @@ -2181,7 +2182,7 @@ static struct ast_channel *usbradio_new(struct chan_usbradio_pvt *o, char *ext, ast_channel_tech_set(c, &usbradio_tech); if (o->sounddev < 0) setformat(o, O_RDWR); - c->fds[0] = o->sounddev; /* -1 if device closed, override later */ + ast_channel_internal_fd_set(c, 0, o->sounddev);/* -1 if device closed, override later */ ast_format_cap_add(ast_channel_nativeformats(c), &slin); ast_format_set(ast_channel_readformat(c), AST_FORMAT_SLINEAR, 0); ast_format_set(ast_channel_writeformat(c), AST_FORMAT_SLINEAR, 0);