Changeset 4847:8af3ac8d139a in roaraudio
- Timestamp:
- 04/08/11 13:40:15 (13 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/streams.c
r4846 r4847 263 263 roar_notify_core_emit_snoargs(ROAR_OE_BASICS_DELETE, -1, id, ROAR_OT_STREAM); 264 264 265 prim = s->primary; 266 267 if ( prim ) 268 alive = 0; 269 265 270 if ( s->flags & ROAR_FLAG_SINGLESINK ) 266 271 streams_set_single_sink(id, 1); … … 338 343 #endif 339 344 345 // all IO is no disconnected: 346 s->ready = 0; 347 348 // re-try reset after all IO is disconnected. 349 if ( streams_get_flag(id, ROAR_FLAG_RECSOURCE) == 1 ) 350 streams_reset_flag(id, ROAR_FLAG_RECSOURCE); 351 340 352 //roardsp_fchain_uninit(&(s->fc)); 341 353 … … 364 376 if ( !no_vio_close ) 365 377 roar_vio_close(s->viop); 366 367 prim = s->primary;368 378 369 379 if ( s->name != NULL ) … … 1112 1122 #endif 1113 1123 1114 ROAR_DBG("streams_set_flag(id=%i, flag=0x%.8X) = ?", id, flag);1124 ROAR_DBG("streams_set_flag(id=%i, flag=0x%.8X) = 0", id, flag); 1115 1125 1116 1126 return 0; … … 1130 1140 int streams_reset_flag (int id, uint32_t flag) { 1131 1141 int tmp; 1142 1143 ROAR_DBG("streams_reset_flag(id=%i, flag=0x%.8X) = ?", id, flag); 1132 1144 1133 1145 _CHECK_SID(id); … … 1144 1156 flag &= g_streams[id]->flags; 1145 1157 1158 ROAR_DBG("streams_reset_flag(id=%i, flag=0x%.8X) = ?", id, flag); 1159 1146 1160 if ( (flag & ROAR_FLAG_RECSOURCE) && streams_recsource_id == id ) { 1147 1161 if ( g_streams[id]->ready ) { 1148 1162 tmp = 0; 1149 if ( stream_vio_ctl(id, ROAR_VIO_CTL_SET_RECORD, &tmp) == -1 ) 1163 if ( stream_vio_ctl(id, ROAR_VIO_CTL_SET_RECORD, &tmp) == -1 ) { 1164 if ( alive ) { // do not warn if we are shutting down anyway. 1165 ROAR_WARN("streams_reset_flag(id=%i, flag=0x%.8X): Driver refused to reset record flag.", id, flag); 1166 } 1167 ROAR_DBG("streams_reset_flag(id=%i, flag=0x%.8X) = -1", id, flag); 1150 1168 return -1; 1169 } 1151 1170 } 1152 1171 1153 1172 streams_recsource_id = -1; 1154 1173 } 1174 1175 ROAR_DBG("streams_reset_flag(id=%i, flag=0x%.8X) = ?", id, flag); 1155 1176 1156 1177 … … 1192 1213 g_streams[id]->flags |= flag; 1193 1214 g_streams[id]->flags -= flag; 1215 1216 ROAR_DBG("streams_reset_flag(id=%i, flag=0x%.8X) = 0", id, flag); 1194 1217 1195 1218 return 0;
Note: See TracChangeset
for help on using the changeset viewer.