Changeset 3529:fba86b5b08a7 in roaraudio for roard/req.c
- Timestamp:
- 02/19/10 17:36:33 (14 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/req.c
r3517 r3529 808 808 int req_on_get_vol (int client, struct roar_message * mes, char * data) { 809 809 uint16_t * info = (uint16_t *) mes->data; 810 uint16_t version = -1; 810 811 int stream; 811 812 struct roar_stream_server * s; … … 816 817 ROAR_DBG("req_on_get_vol(*): mes->datalen=%i", mes->datalen); 817 818 818 if ( mes->datalen < (2*2) ) 819 return -1; 820 821 if ( info[0] != 0 ) // version 822 return -1; 823 824 stream = ROAR_NET2HOST16(info[1]); 819 if ( mes->datalen < 2 ) { 820 return -1; 821 } 822 823 version = ROAR_NET2HOST16(info[0]); 824 825 switch (version) { 826 case 0: 827 if ( mes->datalen < (2*2) ) 828 return -1; 829 830 stream = ROAR_NET2HOST16(info[1]); 831 break; 832 case 1: 833 stream = mes->stream; 834 break; 835 default: 836 return -1; 837 break; 838 } 839 825 840 ROAR_DBG("req_on_get_vol(*): stream=%i", stream); 826 841 … … 841 856 // ok, we have everything 842 857 843 info[0] = 0; 844 info[1] = ROAR_HOST2NET16(chans = ROAR_STREAM(s)->info.channels); 845 846 for (i = 0; i < chans; i++) 847 info[2+i] = ROAR_HOST2NET16(s->mixer.mixer[i]); 848 849 mes->datalen = (2 + chans)*2; 858 info[0] = ROAR_HOST2NET16(version); 859 860 switch (version) { 861 case 0: 862 info[1] = ROAR_HOST2NET16(chans = ROAR_STREAM(s)->info.channels); 863 864 for (i = 0; i < chans; i++) 865 info[2+i] = ROAR_HOST2NET16(s->mixer.mixer[i]); 866 867 mes->datalen = (2 + chans)*2; 868 break; 869 case 1: 870 info[1] = ROAR_HOST2NET16(chans = ROAR_STREAM(s)->info.channels); 871 info[2] = ROAR_HOST2NET16(s->mixer.scale); 872 info[3] = ROAR_HOST2NET16(s->mixer.rpg_mul); 873 info[4] = ROAR_HOST2NET16(s->mixer.rpg_div); 874 875 for (i = 0; i < chans; i++) 876 info[5+i] = ROAR_HOST2NET16(s->mixer.mixer[i]); 877 878 mes->datalen = (5 + chans)*2; 879 break; 880 default: 881 return -1; 882 break; 883 } 884 850 885 mes->cmd = ROAR_CMD_OK; 851 886
Note: See TracChangeset
for help on using the changeset viewer.