Changeset b5ba8f6 in mainline for uspace/app
- Timestamp:
- 2013-09-13T13:11:53Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1eaa3cf
- Parents:
- 95027b5 (diff), 1c5f6f8 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/app
- Files:
-
- 2 added
- 4 edited
-
netspeed/Makefile (added)
-
netspeed/netspeed.c (added)
-
sportdmp/sportdmp.c (modified) (9 diffs)
-
wavplay/dplay.c (modified) (5 diffs)
-
wavplay/main.c (modified) (2 diffs)
-
wavplay/wave.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/sportdmp/sportdmp.c
r95027b5 rb5ba8f6 44 44 sysarg_t baud = 9600; 45 45 service_id_t svc_id; 46 46 47 47 int arg = 1; 48 48 int rc; 49 49 50 50 if (argc > arg && str_test_prefix(argv[arg], "--baud=")) { 51 51 size_t arg_offset = str_lsize(argv[arg], 7); … … 65 65 arg++; 66 66 } 67 67 68 68 if (argc > arg) { 69 69 rc = loc_service_get_id(argv[arg], &svc_id, 0); … … 77 77 else { 78 78 category_id_t serial_cat_id; 79 79 80 80 rc = loc_category_get_id("serial", &serial_cat_id, 0); 81 81 if (rc != EOK) { … … 84 84 return 1; 85 85 } 86 86 87 87 service_id_t *svc_ids; 88 88 size_t svc_count; 89 90 rc = loc_category_get_svcs(serial_cat_id, &svc_ids, &svc_count); if (rc != EOK) { 89 90 rc = loc_category_get_svcs(serial_cat_id, &svc_ids, &svc_count); 91 if (rc != EOK) { 91 92 fprintf(stderr, "Failed getting list of services\n"); 92 93 return 1; 93 94 } 94 95 95 96 if (svc_count == 0) { 96 97 fprintf(stderr, "No service in category 'serial'\n"); … … 98 99 return 1; 99 100 } 100 101 101 102 svc_id = svc_ids[0]; 102 103 free(svc_ids); 103 104 } 104 105 105 106 if (argc > arg) { 106 107 fprintf(stderr, "Too many arguments\n"); … … 108 109 return 1; 109 110 } 110 111 111 112 112 113 async_sess_t *sess = loc_service_connect(EXCHANGE_SERIALIZE, svc_id, 113 114 IPC_FLAG_BLOCKING); … … 115 116 fprintf(stderr, "Failed connecting to service\n"); 116 117 } 117 118 118 119 async_exch_t *exch = async_exchange_begin(sess); 119 120 rc = async_req_4_0(exch, SERIAL_SET_COM_PROPS, baud, 120 121 SERIAL_NO_PARITY, 8, 1); 121 122 async_exchange_end(exch); 122 123 123 124 if (rc != EOK) { 124 125 fprintf(stderr, "Failed setting serial properties\n"); 125 126 return 2; 126 127 } 127 128 128 129 uint8_t *buf = (uint8_t *) malloc(BUF_SIZE); 129 130 if (buf == NULL) { … … 131 132 return 3; 132 133 } 133 134 134 135 while (true) { 135 136 ssize_t read = char_dev_read(sess, buf, BUF_SIZE); … … 144 145 fflush(stdout); 145 146 } 146 147 147 148 free(buf); 148 149 return 0; 149 150 } 151 -
uspace/app/wavplay/dplay.c
r95027b5 rb5ba8f6 151 151 device_event_callback, pb); 152 152 if (ret != EOK) { 153 printf("Failed to register event callback.\n"); 153 printf("Failed to register event callback: %s.\n", 154 str_error(ret)); 154 155 return; 155 156 } … … 285 286 pb->f.sample_format); 286 287 if (ret != EOK) { 287 printf("Failed to start playback\n"); 288 printf("Failed to start playback: %s\n", 289 str_error(ret)); 288 290 return; 289 291 } … … 291 293 ret = audio_pcm_get_buffer_pos(pb->device, &pos); 292 294 if (ret != EOK) { 293 printf("Failed to update position indicator\n"); 295 printf("Failed to update position indicator " 296 "%s\n", str_error(ret)); 294 297 } 295 298 } … … 308 311 const int ret = audio_pcm_get_buffer_pos(pb->device, &pos); 309 312 if (ret != EOK) { 310 printf("Failed to update position indicator\n"); 313 printf("Failed to update position indicator %s\n", 314 str_error(ret)); 311 315 } 312 316 getuptime(&time); … … 350 354 ret = audio_pcm_get_info_str(session, &info); 351 355 if (ret != EOK) { 352 printf("Failed to get PCM info .\n");356 printf("Failed to get PCM info: %s.\n", str_error(ret)); 353 357 goto close_session; 354 358 } -
uspace/app/wavplay/main.c
r95027b5 rb5ba8f6 79 79 &format.sampling_rate, &format.sample_format, &error); 80 80 if (ret != EOK) { 81 printf("Error parsing wav header: %s.\n", error);81 printf("Error parsing `%s' wav header: %s.\n", filename, error); 82 82 fclose(source); 83 83 return EINVAL; 84 84 } 85 86 printf("File `%s' format: %u channel(s), %uHz, %s.\n", filename, 87 format.channels, format.sampling_rate, 88 pcm_sample_format_str(format.sample_format)); 85 89 86 90 /* Allocate buffer and create new context */ … … 136 140 &format.sampling_rate, &format.sample_format, &error); 137 141 if (ret != EOK) { 138 printf("Error parsing wav header: %s.\n", error);142 printf("Error parsing `%s' wav header: %s.\n", filename, error); 139 143 fclose(source); 140 144 return EINVAL; 141 145 } 146 printf("File `%s' format: %u channel(s), %uHz, %s.\n", filename, 147 format.channels, format.sampling_rate, 148 pcm_sample_format_str(format.sample_format)); 142 149 143 150 /* Connect new playback context */ -
uspace/app/wavplay/wave.c
r95027b5 rb5ba8f6 81 81 } 82 82 83 if (uint16_t_le2host(header->subchunk1_size) != PCM_SUBCHUNK1_SIZE) { 83 if (uint32_t_le2host(header->subchunk1_size) != PCM_SUBCHUNK1_SIZE) { 84 //TODO subchunk 1 sizes other than 16 are allowed ( 18, 40) 85 //http://www-mmsp.ece.mcgill.ca/documents/AudioFormats/WAVE/WAVE.html 84 86 if (error) 85 87 *error = "invalid subchunk1 size"; 86 return EINVAL;88 // return EINVAL; 87 89 } 88 90 … … 94 96 95 97 if (str_lcmp(header->subchunk2_id, SUBCHUNK2_ID, 4) != 0) { 98 //TODO basedd on subchunk1 size, we might be reading wrong 99 //offset 96 100 if (error) 97 101 *error = "invalid subchunk2 id"; 98 return EINVAL;102 // return EINVAL; 99 103 } 100 104 101 105 106 //TODO data and data_size are incorrect in extended wav formats 107 //pcm params are OK 102 108 if (data) 103 109 *data = header->data;
Note:
See TracChangeset
for help on using the changeset viewer.
