int avctp_send_passthrough(struct avctp *session, uint8_t op) { /* Auto release if key pressed */ if (session->key.timer > 0) release_pressed(session); return avctp_passthrough_press(session, op); }
int avctp_send_passthrough(struct avctp *session, uint8_t op, uint8_t *params, size_t params_len) { /* Auto release if key pressed */ if (session->key.timer > 0) release_pressed(session); return avctp_passthrough_press(session, op, params, params_len); }
static bool set_pressed(struct avctp *session, uint8_t op) { if (session->key.timer > 0) { if (session->key.op == op) return TRUE; release_pressed(session); } if (op != AVC_FAST_FORWARD && op != AVC_REWIND) return FALSE; session->key.op = op; session->key.timer = g_timeout_add_seconds(AVC_PRESS_TIMEOUT, repeat_timeout, session); return TRUE; }
static bool set_pressed(struct avctp *session, uint8_t op) { struct key_pressed *key; if (session->key != NULL) { if (session->key->op == op) return TRUE; release_pressed(session); } if (op != AVC_FAST_FORWARD && op != AVC_REWIND) return FALSE; key = g_new0(struct key_pressed, 1); key->op = op; key->timer = g_timeout_add_seconds(2, repeat_timeout, session); session->key = key; return TRUE; }