Scan() public method

public Scan ( List playlists, bool isFullScan ) : void
playlists List
isFullScan bool
return void
Exemplo n.º 1
0
        private void ScanBDROMThread(
            object parameter
            )
        {
            ScanBDROMState scanState = (ScanBDROMState)parameter;

            try {
                TSStreamFile          streamFile = scanState.StreamFile;
                List <TSPlaylistFile> playlists  = scanState.PlaylistMap[streamFile.Name];
                streamFile.Scan(playlists, true);
            }
            catch (Exception ex) {
                scanState.Exception = ex;
            }
        }
Exemplo n.º 2
0
        // not used anymore, but still there ;)
        private void SetRefreshRateBDold()
        {
            if (!_changeRefreshRate)
            {
            return;
            }

            Log.Info("Blu-Ray Player Launcher: SetRefreshRate for BDs");

            if (_driveLetter == null)
            {
            Log.Error("Blu-Ray Player Launcher: SetRefreshRate - drive letter not assigned!");
            return;
            }

            FileInfo[] files = null;
            double fps = -1;
            try
            {
            DirectoryInfo dir = new DirectoryInfo(_driveLetter + "\\BDMV\\PLAYLIST");
            PlaylistFiles.Clear();
            StreamFiles.Clear();
            StreamClipFiles.Clear();

            files = dir.GetFiles("*.MPLS");
            foreach (FileInfo file in files)
            {
                TSPlaylistFile playlistFile = new TSPlaylistFile(file);
                PlaylistFiles.Add(file.Name.ToUpper(), playlistFile);
                //Log.Info("Blu-Ray Player Launcher: MPLS - {0} {1}", file.Name, playlistFile.TotalSize);
            }

            dir = new DirectoryInfo(_driveLetter + "\\BDMV\\STREAM");
            files = dir.GetFiles("*.M2TS");
            foreach (FileInfo file in files)
            {
                TSStreamFile streamFile = new TSStreamFile(file);
                StreamFiles.Add(file.Name.ToUpper(), streamFile);
            }

            dir = new DirectoryInfo(_driveLetter + "\\BDMV\\CLIPINF");
            files = dir.GetFiles("*.CLPI");
            foreach (FileInfo file in files)
            {
                TSStreamClipFile streamClipFile = new TSStreamClipFile(file);
                StreamClipFiles.Add(file.Name.ToUpper(), streamClipFile);
            }

            foreach (TSStreamClipFile streamClipFile in StreamClipFiles.Values)
            {
                streamClipFile.Scan();
            }
            foreach (TSStreamFile streamFile in StreamFiles.Values)
            {
                streamFile.Scan(null, false);
            }

            double maxLenght = 0;

            foreach (TSPlaylistFile playlistFile in PlaylistFiles.Values)
            {
                playlistFile.Scan(StreamFiles, StreamClipFiles);
                Log.Info("Blu-Ray Player Launcher: total size - {0} - {1}", playlistFile.TotalLength, playlistFile.VideoStreams[0].FrameRate.ToString());

                if (maxLenght < playlistFile.TotalLength)
                {
                    // find the largest movie clip, might not work with seamless branching movies...
                    maxLenght = playlistFile.TotalLength;

                    switch (playlistFile.VideoStreams[0].FrameRate)
                    {
                        case TSFrameRate.FRAMERATE_23_976:
                            fps = 23.976;
                            break;
                        case TSFrameRate.FRAMERATE_24:
                            fps = 24;
                            break;
                        case TSFrameRate.FRAMERATE_25:
                            fps = 25;
                            break;
                        case TSFrameRate.FRAMERATE_29_97:
                            fps = 29.97;
                            break;
                        case TSFrameRate.FRAMERATE_50:
                            fps = 50;
                            break;
                        case TSFrameRate.FRAMERATE_59_94:
                            fps = 59.94;
                            break;
                    }
                }
                playlistFile.ClearBitrates();
            }
            }
            catch (Exception e)
            {
            Log.Error("Blu-Ray Player Launcher: SetRefreshRate - failed to get refresh rate from disk!");
            Log.Error("Blu-Ray Player Launcher: SetRefreshRate - exception {0}", e);
            return;
            }

            try
            {
            Log.Info("Blu-Ray Player Launcher: calling SetRefreshRateBasedOnFPS() - {0}Hz", fps);
            RefreshRateChanger.SetRefreshRateBasedOnFPS(fps, "", RefreshRateChanger.MediaType.Video);
            _refreshRateChangeSuccessful = true;
            }
            catch (Exception e)
            {
            Log.Error("Blu-Ray Player Launcher:SetRefreshRate - exception {0}", e);
            }
        }