public void OnSingleManifest(Object manifest)
            {
                if (_canceled)
                {
                    return;
                }

                _manifest = manifest.JavaCast <MediaPresentationDescription>();
                if (_manifest.Dynamic && _manifest.UtcTiming != null)
                {
                    UtcTimingElementResolver.ResolveTimingElement(_manifestDataSource, _manifest.UtcTiming,
                                                                  _manifestFetcher.ManifestLoadCompleteTimestamp, this);
                }
                else
                {
                    BuildRenderers();
                }
            }
 public MpdDownloaderTests(MpdFixture mpdFixture)
 {
     this.mpd = mpdFixture.Mpd;
 }
Ejemplo n.º 3
0
        private static async Task ConcatStreams(string mpdFilePath, string outputFile)
        {
            var mpd    = new MediaPresentationDescription(mpdFilePath);
            var walker = new MpdWalker(mpd);
            var track  = walker.GetTracksFor(TrackContentType.Video).First();
            var trackRepresentation = track.TrackRepresentations.OrderByDescending(r => r.Bandwidth).First();

            using (var stream = File.OpenWrite(outputFile))
                using (var writer = new BinaryWriter(stream))
                {
                    string fragmentPath = Path.Combine(Path.GetDirectoryName(mpdFilePath), trackRepresentation.InitFragmentPath);
                    writer.Write(File.ReadAllBytes(fragmentPath));

                    foreach (var path in trackRepresentation.FragmentsPaths)
                    {
                        fragmentPath = Path.Combine(Path.GetDirectoryName(mpdFilePath), path);
                        if (!File.Exists(fragmentPath))
                        {
                            break;
                        }
                        writer.Write(File.ReadAllBytes(fragmentPath));
                    }
                }

            string[] files = new[]
            {
                "v1_257-Header.m4s",
                "v1_257-270146-i-1.m4s",
                "v1_257-270146-i-2.m4s",
                "v1_257-270146-i-3.m4s",
                "v1_257-270146-i-4.m4s",
                "v1_257-270146-i-5.m4s",
                "v1_257-270146-i-6.m4s",
                "v1_257-270146-i-7.m4s",
                "v1_257-270146-i-8.m4s",
                "v1_257-270146-i-9.m4s",
                "v1_257-270146-i-10.m4s",
                "v1_257-270146-i-11.m4s",
                "v1_257-270146-i-12.m4s",
                "v1_257-270146-i-13.m4s",
                "v1_257-270146-i-14.m4s",
                "v1_257-270146-i-15.m4s",
                "v1_257-270146-i-16.m4s",
                "v1_257-270146-i-17.m4s",
                "v1_257-270146-i-18.m4s",
                "v1_257-270146-i-19.m4s",
                "v1_257-270146-i-20.m4s",
                "v1_257-270146-i-21.m4s",
                "v1_257-270146-i-22.m4s",
                "v1_257-270146-i-23.m4s",
                "v1_257-270146-i-24.m4s",
                "v1_257-270146-i-25.m4s",
                "v1_257-270146-i-26.m4s",
                "v1_257-270146-i-27.m4s",
                "v1_257-270146-i-28.m4s",
                "v1_257-270146-i-29.m4s",
                "v1_257-270146-i-30.m4s",
                "v1_257-270146-i-31.m4s",
                "v1_257-270146-i-32.m4s",
                "v1_257-270146-i-33.m4s",
                "v1_257-270146-i-34.m4s",
                "v1_257-270146-i-35.m4s",
                "v1_257-270146-i-36.m4s",
                "v1_257-270146-i-37.m4s",
                "v1_257-270146-i-38.m4s",
                "v1_257-270146-i-39.m4s",
                "v1_257-270146-i-40.m4s",
                "v1_257-270146-i-41.m4s",
                "v1_257-270146-i-42.m4s",
                "v1_257-270146-i-43.m4s",
                "v1_257-270146-i-44.m4s",
                "v1_257-270146-i-45.m4s",
                "v1_257-270146-i-46.m4s",
                "v1_257-270146-i-47.m4s",
                "v1_257-270146-i-48.m4s",
                "v1_257-270146-i-49.m4s",
                "v1_257-270146-i-50.m4s",
                "v1_257-270146-i-51.m4s",
                "v1_257-270146-i-52.m4s",
                "v1_257-270146-i-53.m4s",
                "v1_257-270146-i-54.m4s",
                "v1_257-270146-i-55.m4s",
                "v1_257-270146-i-56.m4s",
                "v1_257-270146-i-57.m4s",
                "v1_257-270146-i-58.m4s",
                "v1_257-270146-i-59.m4s",
                "v1_257-270146-i-60.m4s",
                "v1_257-270146-i-61.m4s",
                "v1_257-270146-i-62.m4s",
                "v1_257-270146-i-63.m4s",
                "v1_257-270146-i-64.m4s",
                "v1_257-270146-i-65.m4s",
                "v1_257-270146-i-66.m4s",
                "v1_257-270146-i-67.m4s",
                "v1_257-270146-i-68.m4s",
                "v1_257-270146-i-69.m4s",
                "v1_257-270146-i-70.m4s",
                "v1_257-270146-i-71.m4s",
                "v1_257-270146-i-72.m4s",
                "v1_257-270146-i-73.m4s",
                "v1_257-270146-i-74.m4s",
                "v1_257-270146-i-75.m4s",
                "v1_257-270146-i-76.m4s",
                "v1_257-270146-i-77.m4s",
                "v1_257-270146-i-78.m4s",
                "v1_257-270146-i-79.m4s",
                "v1_257-270146-i-80.m4s",
                "v1_257-270146-i-81.m4s",
                "v1_257-270146-i-82.m4s",
                "v1_257-270146-i-83.m4s",
                "v1_257-270146-i-84.m4s",
                "v1_257-270146-i-85.m4s",
                "v1_257-270146-i-86.m4s",
                "v1_257-270146-i-87.m4s",
                "v1_257-270146-i-88.m4s",
                "v1_257-270146-i-89.m4s",
                "v1_257-270146-i-90.m4s",
                "v1_257-270146-i-91.m4s",
                "v1_257-270146-i-92.m4s",
                "v1_257-270146-i-93.m4s",
                "v1_257-270146-i-94.m4s",
                "v1_257-270146-i-95.m4s",
                "v1_257-270146-i-96.m4s",
                "v1_257-270146-i-97.m4s",
            };
            //string outputFile = Path.Combine(Path.GetDirectoryName(mpdFilePath), "output.mp4");
            //using (var stream = File.OpenWrite(outputFile))
            //using (var writer = new BinaryWriter(stream))
            //{
            //    files.Select(f => Path.Combine(Path.GetDirectoryName(mpdFilePath), f))
            //        .ToList()
            //        .ForEach(f => writer.Write(File.ReadAllBytes(f)));
            //}
        }
Ejemplo n.º 4
0
            public void OnSingleManifest(Object manifest)
            {
                if (_canceled)
                {
                    return;
                }

                _manifest = manifest.JavaCast<MediaPresentationDescription>();
                if (_manifest.Dynamic && _manifest.UtcTiming != null)
                {
                    UtcTimingElementResolver.ResolveTimingElement(_manifestDataSource, _manifest.UtcTiming,
                        _manifestFetcher.ManifestLoadCompleteTimestamp, this);
                }
                else
                {
                    BuildRenderers();
                }
            }
Ejemplo n.º 5
0
 public MpdFixture()
 {
     Stream = File.OpenRead("envivio.mpd");
     Mpd    = new MediaPresentationDescription(Stream);
 }
 public MediaPresentationDescriptionTests(MpdFixture mpdFixture)
 {
     this.mpd = mpdFixture.Mpd;
 }