continue;
for (i = 0; i < NUM_OF_STREAM_IO_TYPE; i++) {
if (param_s->request_type & (i+1)) {
- if (node->taken_by_id[i].pid == param_s->pid && (node->taken_by_id[i].handle_id == param_s->handle_id || node->taken_by_id[i].by_session)) {
+ if (node->taken_by_id[i].pid == param_s->pid &&
+ (node->taken_by_id[i].handle_id == param_s->handle_id || node->taken_by_id[i].by_session)) {
+ /* exception case as per the previous session policy,
+ * "session resumption" is only available for "media session" */
+ if (my_node->is_for_session && node->is_for_session) {
+ if (strncmp(node->stream_type, "media", MAX_STREAM_TYPE_LEN))
+ continue;
+ }
/* do callback for resumption */
if ((ret = _mm_sound_mgr_focus_do_callback(FOCUS_COMMAND_ACQUIRE, node, param_s)))
debug_error("Fail to _focus_do_callback for COMMAND ACQUIRE to node[%x], ret[0x%x]\n", node, ret);