def send_command(mediaClient, commandStr)
@cal.synchronize do
@csl.synchronize do
logd("Sending media Len[#{commandStr.length}] Command[#{commandStr}]")
@t << [commandStr.length].pack("N") << commandStr
5.times do
if @csl_cmd.wait(10)
returnVal = @command_result
@command_result = nil
returnVal.session = mediaClient.session
@media_clients.synchronize do
if returnVal.cmd == "CREATE MEDIA" && returnVal.result == "Success"
@media_clients[returnVal.media_id] = mediaClient
end
if returnVal.cmd == "DESTROY MEDIA" && returnVal.result == "Success"
@media_clients.delete(returnVal.media_id)
end
end
return returnVal
end
end
logd("Unable to get result after 5 retries 50Sec. Command: #{commandStr}")
Process.exit(1)
end
end
end