public async Task <MediaStatus> LoadMedia( ChromecastApplication application, Uri mediaUrl, string contentType, CancellationToken token, IMetadata metadata = null, string streamType = "BUFFERED", double duration = 0D, object customData = null, Track[] tracks = null, int[] activeTrackIds = null, bool autoPlay = true, double currentTime = 0D) { int requestId = RequestIdProvider.Next; var mediaObject = new MediaData(mediaUrl.ToString(), contentType, metadata, streamType, duration, customData, tracks); var req = new LoadRequest(requestId, application.SessionId, mediaObject, autoPlay, currentTime, customData, activeTrackIds); var reqJson = req.ToJson(); var requestCompletedSource = await AddRequestTracking(requestId, token).ConfigureAwait(false); await Write(MessageFactory.Load(application.TransportId, reqJson), token).ConfigureAwait(false); return(await requestCompletedSource.Task.WaitOnRequestCompletion(token).ConfigureAwait(false)); }
public static async void LoadPlexMedia(this PlexChannel channel, ChromeCastClient client, PlexObject content) { var mediaObject = PlexMediaData.DataFromContent(content); var req = new LoadRequest(client.CurrentApplicationSessionId, mediaObject, true, 0, mediaObject.CustomData); var reqJson = req.ToJson(); await channel.Write(MessageFactory.Load(client.CurrentApplicationTransportId, reqJson)); }
private void button1_Click(object sender, EventArgs e) { string url = "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4"; //string url = "http://192.168.0.100/live/vp8/0/0/blub.webm"; var currentStatus = this.CurrentStatus.status.Applications.FirstOrDefault((t) => t.AppId == CurrentApp.AppId); var images = new List <string>(); images.Add("http://upload.wikimedia.org/wikipedia/commons/c/c5/Big_buck_bunny_poster_big.jpg"); var metadata = new GenericMetadata("BigBuck bunny", "Peach Open Movie Project", images); var req = new LoadRequest(currentStatus.SessionId, new Media(url, "video/mp4", metadata), true, 0.0); Trace.WriteLine(req.ToJson()); CurrentAggregate.Client.Write(MessageFactory.Load(currentStatus.TransportId, req.ToJson())); }
public async Task LoadMedia( string mediaUrl, string contentType = "application/vnd.ms-sstr+xml", IMetadata metadata = null, string streamType = "BUFFERED", double duration = 0D, object customData = null, Track[] tracks = null, int[] activeTrackIds = null, bool autoPlay = true, double currentTime = 0.0) { var mediaObject = new MediaData(mediaUrl, contentType, metadata, streamType, duration, customData, tracks); var req = new LoadRequest(Client.CurrentApplicationSessionId, mediaObject, autoPlay, currentTime, customData, activeTrackIds); var reqJson = req.ToJson(); await Write(MessageFactory.Load(Client.CurrentApplicationTransportId, reqJson)); }