public async static Task<UriShieldData> GetVideoStream(string url) { var client = new HttpClient(); string message; try { if (url.EndsWith("Manifest")) { url += "?type=json&protection=url"; } else { url += "&type=json&protection=url"; } var response = await client.GetStringAsync(new Uri(url)); UriShieldData data = new UriShieldData(); data.Subtitles = false; data.Url = JsonConvert.DeserializeObject<string>(response); client.Dispose(); return data; } catch (Exception hrex) { message = hrex.Message; client.Dispose(); } MessageBox.Show(string.Format(ResourceHelper.GetString("WebErrorMessage"), message)); return new UriShieldData(); }
public async static Task<UriShieldData> getUriShieldData(string id, bool live) { EncodedStreamData data; UriShieldData shieldData; if (live) { data = await UitzendingGemistService.GetLiveStreamData(id); shieldData = new UriShieldData(); shieldData.Subtitles = false; shieldData.Url = await GetVideoStream(data.PlainText); return shieldData; } else { data = await UitzendingGemistService.GetStreamData(id); HttpClient client = UitzendingGemistService.CreateClient(); try { Debug.WriteLine(data.PlainText); string urishield_json = await client.GetStringAsync(new Uri(data.PlainText + "?extension=Manifest")); Debug.WriteLine(urishield_json); shieldData = JsonConvert.DeserializeObject<UriShieldData>(urishield_json); shieldData.Subtitles = data.Subtitles; client.Dispose(); Debug.WriteLineIf(shieldData != null, shieldData.Url); return shieldData; } catch(Exception e) { client.Dispose(); return new UriShieldData(); } } }