LoggerE("Failed to unset custom event listener");
}
- if (nullptr != handle_ && MEDIA_CONTROLLER_ERROR_NONE != mc_client_destroy(handle_)) {
- LoggerE("Unable to destroy media controller client");
+ {
+ std::lock_guard<std::mutex> lock(handle_mutex_);
+ if (nullptr != handle_ && MEDIA_CONTROLLER_ERROR_NONE != mc_client_destroy(handle_)) {
+ LoggerE("Unable to destroy media controller client");
+ }
+ handle_ = nullptr;
}
}
ScopeLogger();
int ret;
- ret = mc_client_foreach_server(handle_, FindServersCallback, servers);
+ {
+ std::lock_guard<std::mutex> lock(handle_mutex_);
+ ret = mc_client_foreach_server(handle_, FindServersCallback, servers);
+ }
if (MEDIA_CONTROLLER_ERROR_NONE != ret) {
return LogAndCreateResult(
ErrorCode::UNKNOWN_ERR, "Unable to fetch active servers, error",
free(name);
};
mc_server_state_e state;
- ret = mc_client_get_latest_server_info(handle_, &name, &state);
+ {
+ std::lock_guard<std::mutex> lock(handle_mutex_);
+ ret = mc_client_get_latest_server_info(handle_, &name, &state);
+ }
if (MEDIA_CONTROLLER_ERROR_NONE != ret) {
return LogAndCreateResult(
ErrorCode::UNKNOWN_ERR, "Error getting latest server info",
* If subscription is successful, then servers are subscribed to every subscription type,
* so we can check only the one type of subscription to receive all subscribed servers.
*/
+ std::lock_guard<std::mutex> lock(handle_mutex_);
int ret = mc_client_foreach_server_subscribed(handle_, MC_SUBSCRIPTION_TYPE_ABILITY_SUPPORT,
FindServersCallback, servers);
if (MEDIA_CONTROLLER_ERROR_NONE != ret) {
SCOPE_EXIT {
free(request_id);
};*/
+ std::lock_guard<std::mutex> lock(handle_mutex_);
int ret = mc_client_send_playback_action_cmd(handle_, server_name.c_str(), action_e, nullptr);
if (MEDIA_CONTROLLER_ERROR_NONE != ret) {
return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Error sending playback state",
SCOPE_EXIT {
free(request_id);
};*/
+ std::lock_guard<std::mutex> lock(handle_mutex_);
int ret = mc_client_send_playback_position_cmd(handle_, server_name.c_str(),
static_cast<unsigned long long>(position),
/*&request_id*/ nullptr);
SCOPE_EXIT {
free(request_id);
};*/
+ std::lock_guard<std::mutex> lock(handle_mutex_);
int ret = mc_client_send_shuffle_mode_cmd(handle_, server_name.c_str(),
mode ? MC_SHUFFLE_MODE_ON : MC_SHUFFLE_MODE_OFF,
/*&request_id*/ nullptr);
SCOPE_EXIT {
free(request_id);
};*/
+ std::lock_guard<std::mutex> lock(handle_mutex_);
int ret = mc_client_send_repeat_mode_cmd(handle_, server_name.c_str(),
mode ? MC_REPEAT_MODE_ON : MC_REPEAT_MODE_OFF,
/*&request_id*/ nullptr);
return result;
}
+ std::lock_guard<std::mutex> lock(handle_mutex_);
int ret = mc_client_send_repeat_mode_cmd(handle_, server_name.c_str(), state_e, nullptr);
if (MEDIA_CONTROLLER_ERROR_NONE != ret) {
return LogAndCreateResult(
}
}
- if (nullptr != handle_ && MEDIA_CONTROLLER_ERROR_NONE != mc_server_destroy(handle_)) {
- LoggerE("Unable to destroy media controller server");
+ {
+ std::lock_guard<std::mutex> lock(handle_mutex_);
+ if (nullptr != handle_ && MEDIA_CONTROLLER_ERROR_NONE != mc_server_destroy(handle_)) {
+ LoggerE("Unable to destroy media controller server");
+ }
+ handle_ = nullptr;
}
}
"Playlist with given name doesn't exist");
}
+ std::lock_guard<std::mutex> lock(handle_mutex_);
int ret = mc_server_update_playlist_done(handle_, playlist_handle_map_[name]);
if (MEDIA_CONTROLLER_ERROR_NONE != ret) {
"Playlist with given name doesn't exist");
}
+ std::lock_guard<std::mutex> lock(handle_mutex_);
int ret = mc_server_delete_playlist(handle_, playlist_handle_map_[name]);
if (MEDIA_CONTROLLER_ERROR_NONE != ret) {