private string GetParameterValue(string parameterKey, BroadcastingParameter parameter) { switch (parameterKey) { case "name": return parameter.BroadcastParameter.Name; case "bitrate": return parameter.Bitrate.ToString(); case "tags": return parameter.BroadcastParameter.Genre; case "description": return parameter.BroadcastParameter.Description; case "comment": return parameter.BroadcastParameter.Comment; case "contact_url": return parameter.BroadcastParameter.ContactUrl; case "protocol": return "Peercast"; case "stream_url": return "http://localhost:7144/pls/" + parameter.Id; case "type": return parameter.BroadcastParameter.Type; case "password": return parameter.YellowPagesParameters.Single(x => x.Key == "password").Value; case "listeners_invisibility": return parameter.YellowPagesParameters.Single(x => x.Key == "listeners_invisibility").Value; case "result_format": return "json"; default: throw new ArgumentException(); } }
public Task OnBroadcastedAsync(BroadcastingParameter parameter) { password = parameter.YellowPagesParameters["password"]; var nvc = new NameValueCollection(); foreach (var param in BroadcastParameters) { nvc.Add(param, GetParameterValue(param, parameter)); } return Post(BroadcastUrl, nvc); }
public static IChannel ToChannel(BroadcastingParameter parameter) { return new Channel { Name = parameter.BroadcastParameter.Name, Id = parameter.Id, Bitrate = parameter.Bitrate, Type = "", TotalListeners = 0, TotalRelays = 0, LocalListeners = 0, LocalRelays = 0, Status = "", Genre = parameter.BroadcastParameter.Genre, Description = parameter.BroadcastParameter.Description, ContactUrl = parameter.BroadcastParameter.ContactUrl, Comment = parameter.BroadcastParameter.Comment, Age = 0 }; }