Exemplo n.º 1
0
        public override async Task <WebRequestorResponse> GetTrackFragmentStream(Microsoft.Media.AdaptiveStreaming.Dash.Smooth.ManifestTrackType trackType, uint bitrate, ulong timeOffset, string language)
        {
            if (language == string.Empty)
            {
                language = null;
            }

            var track = this.ManifestTracks
                        .Where(t => t.Type == trackType && t.Bitrate == bitrate && t.Language == language)
                        .SingleOrDefault();

            if (track != null)
            {
                var entry = track.Fragments.TrackFragmentRandomAccessEntries.FirstOrDefault(e => e.Time == timeOffset);

                if (entry != null)
                {
                    return(await DownloadFragment(this.fileUri, (long)entry.MoofOffset, (long)entry.SampleSize));
                }
            }
            return(null);
        }
Exemplo n.º 2
0
 public abstract Task <WebRequestorResponse> GetTrackFragmentStream(Microsoft.Media.AdaptiveStreaming.Dash.Smooth.ManifestTrackType trackType, uint bitrate, ulong timeOffset, string language);