Changeset 4552:47a0412f706d in roaraudio for roard/req.c
- Timestamp:
- 10/25/10 14:03:43 (13 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/req.c
r4539 r4552 1073 1073 1074 1074 int req_on_set_stream_para (int client, struct roar_message * mes, char ** data, uint32_t flags[2]) { 1075 struct roar_stream_server * ss; 1075 1076 uint16_t * d = (uint16_t *) mes->data; 1076 uint32_t tmp; 1077 uint32_t tmp, tmp2, flagstore; 1078 int protect = 0; 1077 1079 int i; 1078 1080 … … 1107 1109 tmp |= d[3]; 1108 1110 1109 if ( d[2] == ROAR_RESET_FLAG ) { 1110 if ( streams_reset_flag(mes->stream, tmp) == -1 ) 1111 return -1; 1112 } else { 1113 if ( streams_set_flag(mes->stream, tmp) == -1 ) 1114 return -1; 1115 } 1111 if ( d[2] & ROAR_PROTECT_FLAG ) { 1112 protect = 1; 1113 d[2] -= ROAR_PROTECT_FLAG; 1114 } 1115 1116 switch (d[2]) { 1117 case ROAR_SET_FLAG: 1118 if ( streams_set_flag(mes->stream, tmp) == -1 ) 1119 return -1; 1120 break; 1121 case ROAR_RESET_FLAG: 1122 if ( streams_reset_flag(mes->stream, tmp) == -1 ) 1123 return -1; 1124 break; 1125 case ROAR_NOOP_FLAG: 1126 break; 1127 case ROAR_TOGGLE_FLAG: 1128 if ( streams_get(mes->stream, &ss) == -1 ) 1129 return -1; 1130 1131 flagstore = ss->flags; 1132 1133 tmp2 = flagstore & tmp; // those are the flags we need to reset. 1134 ROAR_DBG("req_on_set_stream_para(*): tmp2=0x%.8lx", (long int)tmp2); 1135 if ( tmp2 ) 1136 if ( streams_reset_flag(mes->stream, tmp2) == -1 ) 1137 return -1; 1138 1139 tmp2 = (flagstore ^ tmp) & tmp; // those are the flags we need to set. 1140 ROAR_DBG("req_on_set_stream_para(*): tmp2=0x%.8lx", (long int)tmp2); 1141 if ( tmp2 ) 1142 if ( streams_set_flag(mes->stream, tmp2) == -1 ) 1143 return -1; 1144 break; 1145 default: 1146 return -1; 1147 break; 1148 } 1149 1150 ROAR_DBG("req_on_set_stream_para(*): protect=%i", protect); 1151 if ( protect ) 1152 if ( streams_protect_flag(mes->stream, tmp) == -1 ) 1153 return -1; 1154 1116 1155 break; 1117 1156 case ROAR_STREAM_PARA_CHANMAP:
Note: See TracChangeset
for help on using the changeset viewer.