Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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()));
        }
Ejemplo n.º 4
0
        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));
        }