Changeset 984a9ba in mainline for uspace/app
- Timestamp:
- 2018-07-05T09:34:09Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 63d46341
- Parents:
- 76f566d
- Location:
- uspace/app/wavplay
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/wavplay/dplay.c
r76f566d r984a9ba 88 88 } 89 89 90 /** 91 * Fragment playback callback function. 90 /** Fragment playback callback function. 92 91 * 93 * @param icall_handle Call capability handle. 94 * @param icall Pointer to the call structure 95 * @param arg Argument, pointer to the playback helper function 96 */ 97 static void device_event_callback(cap_call_handle_t icall_handle, 98 ipc_call_t *icall, void *arg) 99 { 100 async_answer_0(icall_handle, EOK); 92 * @param icall Pointer to the call structure 93 * @param arg Argument, pointer to the playback helper function 94 * 95 */ 96 static void device_event_callback(ipc_call_t *icall, void *arg) 97 { 98 async_answer_0(icall, EOK); 101 99 playback_t *pb = arg; 102 100 const size_t fragment_size = pb->buffer.size / DEFAULT_FRAGMENTS; 101 103 102 while (true) { 104 103 ipc_call_t call; 105 cap_call_handle_t chandle = async_get_call(&call); 104 async_get_call(&call); 105 106 106 switch (IPC_GET_IMETHOD(call)) { 107 107 case PCM_EVENT_PLAYBACK_STARTED: 108 108 case PCM_EVENT_FRAMES_PLAYED: 109 109 printf("%" PRIun " frames: ", IPC_GET_ARG1(call)); 110 async_answer_0( chandle, EOK);110 async_answer_0(&call, EOK); 111 111 break; 112 112 case PCM_EVENT_PLAYBACK_TERMINATED: … … 115 115 pb->playing = false; 116 116 fibril_condvar_signal(&pb->cv); 117 async_answer_0( chandle, EOK);117 async_answer_0(&call, EOK); 118 118 fibril_mutex_unlock(&pb->mutex); 119 119 return; 120 120 default: 121 121 printf("Unknown event %" PRIun ".\n", IPC_GET_IMETHOD(call)); 122 async_answer_0( chandle, ENOTSUP);122 async_answer_0(&call, ENOTSUP); 123 123 continue; 124 124 -
uspace/app/wavplay/drec.c
r76f566d r984a9ba 85 85 } 86 86 87 /** 88 * Recording callback. 87 /** Recording callback. 89 88 * 90 89 * Writes recorded data. 91 90 * 92 * @param icall_handle IPC call handle. 93 * @param icall Poitner to IPC call structure. 94 * @param arg Argument. Poitner to recording helper structure. 95 */ 96 static void device_event_callback(cap_call_handle_t icall_handle, 97 ipc_call_t *icall, void *arg) 98 { 99 async_answer_0(icall_handle, EOK); 91 * @param icall Poitner to IPC call structure. 92 * @param arg Argument. Poitner to recording helper structure. 93 * 94 */ 95 static void device_event_callback(ipc_call_t *icall, void *arg) 96 { 97 async_answer_0(icall, EOK); 100 98 record_t *rec = arg; 101 99 const size_t buffer_part = rec->buffer.size / BUFFER_PARTS; 102 100 bool record = true; 101 103 102 while (record) { 104 103 ipc_call_t call; 105 cap_call_handle_t chandle = async_get_call(&call); 104 async_get_call(&call); 105 106 106 switch (IPC_GET_IMETHOD(call)) { 107 107 case PCM_EVENT_CAPTURE_TERMINATED: … … 114 114 default: 115 115 printf("Unknown event %" PRIun ".\n", IPC_GET_IMETHOD(call)); 116 async_answer_0( chandle, ENOTSUP);116 async_answer_0(&call, ENOTSUP); 117 117 continue; 118 118 } 119 119 120 120 if (!record) { 121 async_answer_0( chandle, EOK);121 async_answer_0(&call, EOK); 122 122 break; 123 123 } … … 131 131 if (rec->buffer.position >= (rec->buffer.base + rec->buffer.size)) 132 132 rec->buffer.position = rec->buffer.base; 133 async_answer_0( chandle, EOK);133 async_answer_0(&call, EOK); 134 134 } 135 135 }
Note:
See TracChangeset
for help on using the changeset viewer.
