private void HandleResponse(Response response) { MediaStatusResponse mediaStatusResponse = response as MediaStatusResponse; if (mediaStatusResponse != null) { if (mediaStatusResponse.Statuses != null && mediaStatusResponse.Statuses.Count > 0) { OnMediaStatusChanged(mediaStatusResponse.Statuses[0]); } return; } LoadFailedResponse loadFailedResponse = response as LoadFailedResponse; if (loadFailedResponse != null) { throw new LoadMediaException(loadFailedResponse.Code, loadFailedResponse.Details); } InvalidRequestResponse invalidRequestResponse = response as InvalidRequestResponse; if (invalidRequestResponse != null) { throw new InvalidRequestException(invalidRequestResponse.Reason); } }
private MediaStatus GetMediaStatus(string transportId) { Response response = _channel.SendRequest(Channel.NS_CAST_MEDIA, new StatusRequest(), transportId); MediaStatusResponse statusResponse = response as MediaStatusResponse; if (statusResponse != null && statusResponse.Statuses != null && statusResponse.Statuses.Count > 0) { return(statusResponse.Statuses[0]); } return(null); }