Exemplo n.º 1
0
        private readonly DllImports.GetSeekPreviewStoryboardDelegate _getSeekPreviewStoryboardDelegate = GetSeekPreviewStoryboardDataDelegate; // so it's not GC-ed while used in native code

        public DllImports.GetTilePreviewStoryboardDelegate AddTile(int tileId)
        {
            if (ResourceLoader.GetInstance().ContentList[tileId].TilePreviewPath != null)
            {
                _tilePreviewPath.Add(tileId, ResourceLoader.GetInstance().ContentList[tileId].TilePreviewPath);
            }

            return(_getTilePreviewStoryboardDelegate);
        }
Exemplo n.º 2
0
            getStoryboardDataDelegate = GetStoryboardData; // so it's not GC-ed while used in native code

        public DllImports.GetStoryboardDataDelegate AddTile(int tileId)
        {
            if (ResourceLoader.GetInstance().ContentList[tileId].TilePreviewPath != null)
            {
                storyboardReaders.Add(tileId,
                                      new StoryboardReader(ResourceLoader.GetInstance().ContentList[tileId].TilePreviewPath,
                                                           StoryboardReader.PreloadingStrategy.PreloadOnlyRemoteSources));
            }

            return(getStoryboardDataDelegate);
        }
Exemplo n.º 3
0
        private void InitMenu()
        {
            SetLoaderLogo(Path.Combine(Current.DirectoryInfo.SharedResource, "JuvoPlayerOpenGLNativeTizenTV.png"));

            _resourceLoader = ResourceLoader.GetInstance();
            _resourceLoader.LoadResources(
                Path.GetDirectoryName(Path.GetDirectoryName(Current.ApplicationInfo.ExecutablePath)),
                HandleLoadingFinished);
            _metricsHandler = new MetricsHandler();
            SetMetrics();
            SetMenuFooter();
            SetupOptionsMenu();
            SetDefaultMenuState();
        }
Exemplo n.º 4
0
        private DllImports.StoryboardData GetStoryboardDataImpl(long position, int tileId)
        {
            const float tilePreviewTimeScale = 10.0f / 3.0f;

            if (tileId != _tilePreviewReaderId)
            {
                _tilePreviewReaderId = tileId;
                _tilePreviewReader?.Dispose();
                if (_tilePreviewPath.ContainsKey(tileId))
                {
                    _tilePreviewReader = new StoryboardReader(
                        ResourceLoader.GetInstance().ContentList[tileId].TilePreviewPath,
                        StoryboardReader.PreloadingStrategy.PreloadOnlyRemoteSources);
                }
                else
                {
                    _tilePreviewReader = null;
                    return(GetStoryboardData());
                }
            }

            if (!_tilePreviewReader.LoadTask.IsCompletedSuccessfully)
            {
                return(GetStoryboardData(1));
            }

            var subSkBitmap = _tilePreviewReader.GetFrame(TimeSpan.FromMilliseconds(position) * tilePreviewTimeScale);

            if (subSkBitmap == null)
            {
                return(GetStoryboardData(1, 1, 0, new DllImports.SubBitmap(),
                                         (long)(_tilePreviewReader.Duration().TotalMilliseconds / tilePreviewTimeScale)));
            }

            return(GetStoryboardData(1, 1, 1, GetFrame(subSkBitmap),
                                     (long)(_tilePreviewReader.Duration().TotalMilliseconds / tilePreviewTimeScale)));
        }