Example #1
0
 public BifService(IServerApplicationPaths appPaths, ILibraryManager libraryManager, IMediaEncoder mediaEncoder, IFileSystem fileSystem)
 {
     _appPaths = appPaths;
     _libraryManager = libraryManager;
     _mediaEncoder = mediaEncoder;
     _fileSystem = fileSystem;
 }
Example #2
0
 protected BaseTunerHost(IConfigurationManager config, ILogger logger, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder)
 {
     Config = config;
     Logger = logger;
     JsonSerializer = jsonSerializer;
     MediaEncoder = mediaEncoder;
 }
Example #3
0
        public ImageProcessor(ILogger logger, IServerApplicationPaths appPaths, IFileSystem fileSystem, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder)
        {
            _logger = logger;
            _fileSystem = fileSystem;
            _jsonSerializer = jsonSerializer;
            _mediaEncoder = mediaEncoder;
            _appPaths = appPaths;

            _saveImageSizeTimer = new Timer(SaveImageSizeCallback, null, Timeout.Infinite, Timeout.Infinite);

            Dictionary<Guid, ImageSize> sizeDictionary;

            try
            {
                sizeDictionary = jsonSerializer.DeserializeFromFile<Dictionary<Guid, ImageSize>>(ImageSizeFile) ??
                    new Dictionary<Guid, ImageSize>();
            }
            catch (FileNotFoundException)
            {
                // No biggie
                sizeDictionary = new Dictionary<Guid, ImageSize>();
            }
            catch (Exception ex)
            {
                logger.ErrorException("Error parsing image size cache file", ex);

                sizeDictionary = new Dictionary<Guid, ImageSize>();
            }

            _cachedImagedSizes = new ConcurrentDictionary<Guid, ImageSize>(sizeDictionary);
        }
 public AudioImageProvider(IIsoManager isoManager, IMediaEncoder mediaEncoder, IServerConfigurationManager config, IFileSystem fileSystem)
 {
     _isoManager = isoManager;
     _mediaEncoder = mediaEncoder;
     _config = config;
     _fileSystem = fileSystem;
 }
Example #5
0
 public DlnaEntryPoint(IServerConfigurationManager config,
     ILogManager logManager,
     IServerApplicationHost appHost,
     INetworkManager network,
     ISessionManager sessionManager,
     IHttpClient httpClient,
     ILibraryManager libraryManager,
     IUserManager userManager,
     IDlnaManager dlnaManager,
     IImageProcessor imageProcessor,
     IUserDataManager userDataManager,
     ILocalizationManager localization,
     IMediaSourceManager mediaSourceManager,
     ISsdpHandler ssdpHandler, IDeviceDiscovery deviceDiscovery, IMediaEncoder mediaEncoder)
 {
     _config = config;
     _appHost = appHost;
     _network = network;
     _sessionManager = sessionManager;
     _httpClient = httpClient;
     _libraryManager = libraryManager;
     _userManager = userManager;
     _dlnaManager = dlnaManager;
     _imageProcessor = imageProcessor;
     _userDataManager = userDataManager;
     _localization = localization;
     _mediaSourceManager = mediaSourceManager;
     _deviceDiscovery = deviceDiscovery;
     _mediaEncoder = mediaEncoder;
     _ssdpHandler = (SsdpHandler)ssdpHandler;
     _logger = logManager.GetLogger("Dlna");
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="BaseMetadataProvider" /> class.
        /// </summary>
        /// <param name="logManager">The log manager.</param>
        /// <param name="configurationManager">The configuration manager.</param>
        /// <param name="mediaEncoder">The media encoder.</param>
        public AudioImageProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder)
            : base(logManager, configurationManager)
        {
            _mediaEncoder = mediaEncoder;

            ImageCache = new FileSystemRepository(Kernel.Instance.FFMpegManager.AudioImagesDataPath);
        }
Example #7
0
 public SatIpHost(IServerConfigurationManager config, ILogger logger, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IHttpClient httpClient, IServerApplicationHost appHost)
     : base(config, logger, jsonSerializer, mediaEncoder)
 {
     _fileSystem = fileSystem;
     _httpClient = httpClient;
     _appHost = appHost;
 }
Example #8
0
 public SubtitleEncoder(ILibraryManager libraryManager, ILogger logger, IApplicationPaths appPaths, IFileSystem fileSystem, IMediaEncoder mediaEncoder)
 {
     _libraryManager = libraryManager;
     _logger = logger;
     _appPaths = appPaths;
     _fileSystem = fileSystem;
     _mediaEncoder = mediaEncoder;
 }
Example #9
0
 public EncodedRecorder(ILogger logger, IFileSystem fileSystem, IMediaEncoder mediaEncoder, IApplicationPaths appPaths, IJsonSerializer json)
 {
     _logger = logger;
     _fileSystem = fileSystem;
     _mediaEncoder = mediaEncoder;
     _appPaths = appPaths;
     _json = json;
 }
Example #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseStreamingService" /> class.
 /// </summary>
 /// <param name="appPaths">The app paths.</param>
 /// <param name="userManager">The user manager.</param>
 /// <param name="libraryManager">The library manager.</param>
 /// <param name="isoManager">The iso manager.</param>
 /// <param name="mediaEncoder">The media encoder.</param>
 protected BaseStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder)
 {
     ApplicationPaths = appPaths;
     UserManager = userManager;
     LibraryManager = libraryManager;
     IsoManager = isoManager;
     MediaEncoder = mediaEncoder;
 }
 public VideoImageProvider(IIsoManager isoManager, IMediaEncoder mediaEncoder, IServerConfigurationManager config, ILibraryManager libraryManager, ILogger logger)
 {
     _isoManager = isoManager;
     _mediaEncoder = mediaEncoder;
     _config = config;
     _libraryManager = libraryManager;
     _logger = logger;
 }
Example #12
0
 public EncodingManager(IServerConfigurationManager config, IFileSystem fileSystem, ILogger logger, IItemRepository itemRepo, IMediaEncoder encoder)
 {
     _config = config;
     _fileSystem = fileSystem;
     _logger = logger;
     _itemRepo = itemRepo;
     _encoder = encoder;
 }
Example #13
0
 public VideoProcessor(ILogger logger, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IApplicationPaths appPaths, ILibraryMonitor libraryMonitor)
 {
     _logger = logger;
     _mediaEncoder = mediaEncoder;
     _fileSystem = fileSystem;
     _appPaths = appPaths;
     _libraryMonitor = libraryMonitor;
 }
Example #14
0
 public BifService(ILibraryManager libraryManager, IMediaEncoder mediaEncoder, IFileSystem fileSystem, ILogger logger, IApplicationPaths appPaths, ILibraryMonitor libraryMonitor)
 {
     _libraryManager = libraryManager;
     _mediaEncoder = mediaEncoder;
     _fileSystem = fileSystem;
     _logger = logger;
     _appPaths = appPaths;
     _libraryMonitor = libraryMonitor;
 }
 public LiveTvMediaSourceProvider(ILiveTvManager liveTvManager, IJsonSerializer jsonSerializer, ILogManager logManager, IMediaSourceManager mediaSourceManager, IMediaEncoder mediaEncoder, IServerApplicationHost appHost)
 {
     _liveTvManager = liveTvManager;
     _jsonSerializer = jsonSerializer;
     _mediaSourceManager = mediaSourceManager;
     _mediaEncoder = mediaEncoder;
     _appHost = appHost;
     _logger = logManager.GetLogger(GetType().Name);
 }
 public RokuScheduledTask(ILibraryManager libraryManager, ILogger logger, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IApplicationPaths appPaths, ILibraryMonitor libraryMonitor)
 {
     _libraryManager = libraryManager;
     _logger = logger;
     _mediaEncoder = mediaEncoder;
     _fileSystem = fileSystem;
     _appPaths = appPaths;
     _libraryMonitor = libraryMonitor;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseStreamingService" /> class.
 /// </summary>
 /// <param name="appPaths">The app paths.</param>
 /// <param name="userManager">The user manager.</param>
 /// <param name="libraryManager">The library manager.</param>
 /// <param name="isoManager">The iso manager.</param>
 /// <param name="mediaEncoder">The media encoder.</param>
 protected BaseStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService, IFileSystem fileSystem)
 {
     FileSystem = fileSystem;
     DtoService = dtoService;
     ApplicationPaths = appPaths;
     UserManager = userManager;
     LibraryManager = libraryManager;
     IsoManager = isoManager;
     MediaEncoder = mediaEncoder;
 }
Example #18
0
 public SyncJobProcessor(ILibraryManager libraryManager, ISyncRepository syncRepo, ISyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder)
 {
     _libraryManager = libraryManager;
     _syncRepo = syncRepo;
     _syncManager = syncManager;
     _logger = logger;
     _userManager = userManager;
     _tvSeriesManager = tvSeriesManager;
     _mediaEncoder = mediaEncoder;
 }
Example #19
0
 public EncodingManager(IFileSystem fileSystem, 
     ILogger logger, 
     IMediaEncoder encoder, 
     IChapterManager chapterManager)
 {
     _fileSystem = fileSystem;
     _logger = logger;
     _encoder = encoder;
     _chapterManager = chapterManager;
 }
Example #20
0
 public EncodedRecorder(ILogger logger, IFileSystem fileSystem, IMediaEncoder mediaEncoder, IServerApplicationPaths appPaths, IJsonSerializer json, LiveTvOptions liveTvOptions, IHttpClient httpClient)
 {
     _logger = logger;
     _fileSystem = fileSystem;
     _mediaEncoder = mediaEncoder;
     _appPaths = appPaths;
     _json = json;
     _liveTvOptions = liveTvOptions;
     _httpClient = httpClient;
 }
Example #21
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FFMpegManager" /> class.
        /// </summary>
        /// <param name="appPaths">The app paths.</param>
        /// <param name="encoder">The encoder.</param>
        /// <param name="logger">The logger.</param>
        /// <param name="itemRepo">The item repo.</param>
        /// <exception cref="System.ArgumentNullException">zipClient</exception>
        public FFMpegManager(IServerApplicationPaths appPaths, IMediaEncoder encoder, ILogger logger, IItemRepository itemRepo)
        {
            _appPaths = appPaths;
            _encoder = encoder;
            _logger = logger;
            _itemRepo = itemRepo;

            VideoImageCache = new FileSystemRepository(VideoImagesDataPath);
            SubtitleCache = new FileSystemRepository(SubtitleCachePath);
        }
Example #22
0
 public SubtitleEncoder(ILibraryManager libraryManager, ILogger logger, IApplicationPaths appPaths, IFileSystem fileSystem, IMediaEncoder mediaEncoder, IJsonSerializer json, IHttpClient httpClient, IMediaSourceManager mediaSourceManager)
 {
     _libraryManager = libraryManager;
     _logger = logger;
     _appPaths = appPaths;
     _fileSystem = fileSystem;
     _mediaEncoder = mediaEncoder;
     _json = json;
     _httpClient = httpClient;
     _mediaSourceManager = mediaSourceManager;
 }
Example #23
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FFMpegManager" /> class.
        /// </summary>
        /// <param name="encoder">The encoder.</param>
        /// <param name="logger">The logger.</param>
        /// <param name="itemRepo">The item repo.</param>
        /// <exception cref="System.ArgumentNullException">zipClient</exception>
        public FFMpegManager(IMediaEncoder encoder, ILogger logger, IItemRepository itemRepo, IFileSystem fileSystem, IServerConfigurationManager config)
        {
            _encoder = encoder;
            _logger = logger;
            _itemRepo = itemRepo;
            _fileSystem = fileSystem;
            _config = config;

            // TODO: Remove this static instance
            Instance = this;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseStreamingService" /> class.
 /// </summary>
 /// <param name="serverConfig">The server configuration.</param>
 /// <param name="userManager">The user manager.</param>
 /// <param name="libraryManager">The library manager.</param>
 /// <param name="isoManager">The iso manager.</param>
 /// <param name="mediaEncoder">The media encoder.</param>
 /// <param name="dtoService">The dto service.</param>
 /// <param name="fileSystem">The file system.</param>
 /// <param name="itemRepository">The item repository.</param>
 protected BaseStreamingService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService, IFileSystem fileSystem, IItemRepository itemRepository)
 {
     ItemRepository = itemRepository;
     FileSystem = fileSystem;
     DtoService = dtoService;
     ServerConfigurationManager = serverConfig;
     UserManager = userManager;
     LibraryManager = libraryManager;
     IsoManager = isoManager;
     MediaEncoder = mediaEncoder;
 }
 public EncodingManager(IServerConfigurationManager config, 
     IFileSystem fileSystem, 
     ILogger logger, 
     IMediaEncoder encoder, 
     IChapterManager chapterManager)
 {
     _config = config;
     _fileSystem = fileSystem;
     _logger = logger;
     _encoder = encoder;
     _chapterManager = chapterManager;
 }
        public LiveTvService(ILogger logger, IMediaEncoder mediaEncoder)
        {
            //System.Diagnostics.StackTrace t = new System.Diagnostics.StackTrace();
            logger.Info("[TVHclient] LiveTvService()");

            _logger = logger;

            _htsConnectionHandler = HTSConnectionHandler.GetInstance(_logger);
            _htsConnectionHandler.setLiveTvService(this);

            //Added for stream probing
            _mediaEncoder = mediaEncoder;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseStreamingService" /> class.
 /// </summary>
 protected BaseStreamingService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IFileSystem fileSystem, ILiveTvManager liveTvManager, IDlnaManager dlnaManager, IChannelManager channelManager, ISubtitleEncoder subtitleEncoder)
 {
     SubtitleEncoder = subtitleEncoder;
     ChannelManager = channelManager;
     DlnaManager = dlnaManager;
     LiveTvManager = liveTvManager;
     FileSystem = fileSystem;
     ServerConfigurationManager = serverConfig;
     UserManager = userManager;
     LibraryManager = libraryManager;
     IsoManager = isoManager;
     MediaEncoder = mediaEncoder;
 }
Example #28
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AudioImagesTask" /> class.
        /// </summary>
        /// <param name="libraryManager">The library manager.</param>
        /// <param name="logManager">The log manager.</param>
        /// <param name="mediaEncoder">The media encoder.</param>
        /// <param name="isoManager">The iso manager.</param>
        public VideoImagesTask(ILibraryManager libraryManager, ILogManager logManager, IMediaEncoder mediaEncoder, IIsoManager isoManager, IItemRepository itemRepo)
        {
            _libraryManager = libraryManager;
            _mediaEncoder = mediaEncoder;
            _isoManager = isoManager;
            _itemRepo = itemRepo;
            _logger = logManager.GetLogger(GetType().Name);

            ImageCache = new FileSystemRepository(Kernel.Instance.FFMpegManager.VideoImagesDataPath);

            libraryManager.ItemAdded += libraryManager_ItemAdded;
            libraryManager.ItemUpdated += libraryManager_ItemAdded;
        }
Example #29
0
        public LiveTvManager(IServerConfigurationManager config, IFileSystem fileSystem, ILogger logger, IItemRepository itemRepo, IImageProcessor imageProcessor, IUserDataManager userDataManager, IDtoService dtoService, IUserManager userManager, ILibraryManager libraryManager, IMediaEncoder mediaEncoder, ITaskManager taskManager)
        {
            _config = config;
            _fileSystem = fileSystem;
            _logger = logger;
            _itemRepo = itemRepo;
            _userManager = userManager;
            _libraryManager = libraryManager;
            _mediaEncoder = mediaEncoder;
            _taskManager = taskManager;
            _userDataManager = userDataManager;

            _tvDtoService = new LiveTvDtoService(dtoService, userDataManager, imageProcessor, logger, _itemRepo);
        }
Example #30
0
 public DidlBuilder(DeviceProfile profile, User user, IImageProcessor imageProcessor, string serverAddress, string accessToken, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, ILogger logger, ILibraryManager libraryManager, IMediaEncoder mediaEncoder)
 {
     _profile = profile;
     _imageProcessor = imageProcessor;
     _serverAddress = serverAddress;
     _userDataManager = userDataManager;
     _localization = localization;
     _mediaSourceManager = mediaSourceManager;
     _logger = logger;
     _libraryManager = libraryManager;
     _mediaEncoder = mediaEncoder;
     _accessToken = accessToken;
     _user = user;
 }
Example #31
0
 public SubtitleEncoder(ILibraryManager libraryManager, ILogger logger, IApplicationPaths appPaths, IFileSystem fileSystem, IMediaEncoder mediaEncoder, IJsonSerializer json, IHttpClient httpClient, IMediaSourceManager mediaSourceManager)
 {
     _libraryManager     = libraryManager;
     _logger             = logger;
     _appPaths           = appPaths;
     _fileSystem         = fileSystem;
     _mediaEncoder       = mediaEncoder;
     _json               = json;
     _httpClient         = httpClient;
     _mediaSourceManager = mediaSourceManager;
 }
Example #32
0
 public SubtitleEncoder(ILibraryManager libraryManager, ILogger logger, IApplicationPaths appPaths, IFileSystem fileSystem, IMediaEncoder mediaEncoder, IJsonSerializer json)
 {
     _libraryManager = libraryManager;
     _logger         = logger;
     _appPaths       = appPaths;
     _fileSystem     = fileSystem;
     _mediaEncoder   = mediaEncoder;
     _json           = json;
 }
Example #33
0
 public PlayToController(SessionInfo session, ISessionManager sessionManager, ILibraryManager libraryManager, ILogger logger, IDlnaManager dlnaManager, IUserManager userManager, IImageProcessor imageProcessor, string serverAddress, string accessToken, IDeviceDiscovery deviceDiscovery, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, IConfigurationManager config, IMediaEncoder mediaEncoder)
 {
     _session            = session;
     _sessionManager     = sessionManager;
     _libraryManager     = libraryManager;
     _dlnaManager        = dlnaManager;
     _userManager        = userManager;
     _imageProcessor     = imageProcessor;
     _serverAddress      = serverAddress;
     _deviceDiscovery    = deviceDiscovery;
     _userDataManager    = userDataManager;
     _localization       = localization;
     _mediaSourceManager = mediaSourceManager;
     _config             = config;
     _mediaEncoder       = mediaEncoder;
     _accessToken        = accessToken;
     _logger             = logger;
     _creationTime       = DateTime.UtcNow;
 }
Example #34
0
 public ContentDirectory(IDlnaManager dlna,
                         IUserDataManager userDataManager,
                         IImageProcessor imageProcessor,
                         ILibraryManager libraryManager,
                         IServerConfigurationManager config,
                         IUserManager userManager,
                         ILogger logger,
                         IHttpClient httpClient, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, IUserViewManager userViewManager, IMediaEncoder mediaEncoder, IXmlReaderSettingsFactory xmlReaderSettingsFactory, ITVSeriesManager tvSeriesManager)
     : base(logger, httpClient)
 {
     _dlna                    = dlna;
     _userDataManager         = userDataManager;
     _imageProcessor          = imageProcessor;
     _libraryManager          = libraryManager;
     _config                  = config;
     _userManager             = userManager;
     _localization            = localization;
     _mediaSourceManager      = mediaSourceManager;
     _userViewManager         = userViewManager;
     _mediaEncoder            = mediaEncoder;
     XmlReaderSettingsFactory = xmlReaderSettingsFactory;
     _tvSeriesManager         = tvSeriesManager;
 }
Example #35
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseStreamingService" /> class.
 /// </summary>
 protected BaseStreamingService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IDlnaManager dlnaManager, ISubtitleEncoder subtitleEncoder, IDeviceManager deviceManager, IMediaSourceManager mediaSourceManager, IZipClient zipClient, IJsonSerializer jsonSerializer, IAuthorizationContext authorizationContext)
 {
     JsonSerializer             = jsonSerializer;
     AuthorizationContext       = authorizationContext;
     ZipClient                  = zipClient;
     MediaSourceManager         = mediaSourceManager;
     DeviceManager              = deviceManager;
     SubtitleEncoder            = subtitleEncoder;
     DlnaManager                = dlnaManager;
     FileSystem                 = fileSystem;
     ServerConfigurationManager = serverConfig;
     UserManager                = userManager;
     LibraryManager             = libraryManager;
     IsoManager                 = isoManager;
     MediaEncoder               = mediaEncoder;
     EncodingHelper             = new EncodingHelper(MediaEncoder, FileSystem, SubtitleEncoder);
 }
Example #36
0
 public DynamicHlsService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IDlnaManager dlnaManager, ISubtitleEncoder subtitleEncoder, IDeviceManager deviceManager, IMediaSourceManager mediaSourceManager, IZipClient zipClient, IJsonSerializer jsonSerializer, INetworkManager networkManager)
     : base(serverConfig, userManager, libraryManager, isoManager, mediaEncoder, fileSystem, dlnaManager, subtitleEncoder, deviceManager, mediaSourceManager, zipClient, jsonSerializer)
 {
     NetworkManager = networkManager;
 }
Example #37
0
 public AudioService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IDlnaManager dlnaManager, ISubtitleEncoder subtitleEncoder, IDeviceManager deviceManager, IMediaSourceManager mediaSourceManager, IZipClient zipClient, IJsonSerializer jsonSerializer, IImageProcessor imageProcessor, IHttpClient httpClient) : base(serverConfig, userManager, libraryManager, isoManager, mediaEncoder, fileSystem, dlnaManager, subtitleEncoder, deviceManager, mediaSourceManager, zipClient, jsonSerializer, imageProcessor, httpClient)
 {
 }
Example #38
0
 protected BaseHlsService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IFileSystem fileSystem, ILiveTvManager liveTvManager, IDlnaManager dlnaManager, IChannelManager channelManager, ISubtitleEncoder subtitleEncoder)
     : base(serverConfig, userManager, libraryManager, isoManager, mediaEncoder, fileSystem, liveTvManager, dlnaManager, channelManager, subtitleEncoder)
 {
 }
Example #39
0
 public HdHomerunHost(IConfigurationManager config, ILogger logger, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder, IHttpClient httpClient)
     : base(config, logger, jsonSerializer, mediaEncoder)
 {
     _httpClient = httpClient;
 }
Example #40
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AudioService"/> class.
 /// </summary>
 /// <param name="appPaths">The app paths.</param>
 /// <param name="userManager">The user manager.</param>
 /// <param name="libraryManager">The library manager.</param>
 /// <param name="isoManager">The iso manager.</param>
 /// <param name="mediaEncoder">The media encoder.</param>
 public AudioService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IDtoService dtoService)
     : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo, dtoService)
 {
 }
Example #41
0
 public DlnaEntryPoint(IServerConfigurationManager config,
                       ILogManager logManager,
                       IServerApplicationHost appHost,
                       INetworkManager network,
                       ISessionManager sessionManager,
                       IHttpClient httpClient,
                       ILibraryManager libraryManager,
                       IUserManager userManager,
                       IDlnaManager dlnaManager,
                       IImageProcessor imageProcessor,
                       IUserDataManager userDataManager,
                       ILocalizationManager localization,
                       IMediaSourceManager mediaSourceManager,
                       ISsdpHandler ssdpHandler, IDeviceDiscovery deviceDiscovery, IMediaEncoder mediaEncoder)
 {
     _config             = config;
     _appHost            = appHost;
     _network            = network;
     _sessionManager     = sessionManager;
     _httpClient         = httpClient;
     _libraryManager     = libraryManager;
     _userManager        = userManager;
     _dlnaManager        = dlnaManager;
     _imageProcessor     = imageProcessor;
     _userDataManager    = userDataManager;
     _localization       = localization;
     _mediaSourceManager = mediaSourceManager;
     _deviceDiscovery    = deviceDiscovery;
     _mediaEncoder       = mediaEncoder;
     _ssdpHandler        = (SsdpHandler)ssdpHandler;
     _logger             = logManager.GetLogger("Dlna");
 }
 public VideoImageProvider(IMediaEncoder mediaEncoder, ILogger logger, IFileSystem fileSystem)
 {
     _mediaEncoder = mediaEncoder;
     _logger       = logger;
     _fileSystem   = fileSystem;
 }
Example #43
0
 protected BaseProgressiveStreamingService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService, IFileSystem fileSystem, IItemRepository itemRepository, ILiveTvManager liveTvManager, IEncodingManager encodingManager, IDlnaManager dlnaManager, IHttpClient httpClient, IImageProcessor imageProcessor)
     : base(serverConfig, userManager, libraryManager, isoManager, mediaEncoder, dtoService, fileSystem, itemRepository, liveTvManager, encodingManager, dlnaManager)
 {
     HttpClient     = httpClient;
     ImageProcessor = imageProcessor;
 }
Example #44
0
 public StartupWizardService(IServerConfigurationManager config, IServerApplicationHost appHost, IUserManager userManager, IConnectManager connectManager, IMediaEncoder mediaEncoder)
 {
     _config         = config;
     _appHost        = appHost;
     _userManager    = userManager;
     _connectManager = connectManager;
     _mediaEncoder   = mediaEncoder;
 }
Example #45
0
 protected BaseFFMpegProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder) : base(logManager, configurationManager)
 {
     MediaEncoder = mediaEncoder;
 }
Example #46
0
 public M3UTunerHost(IServerConfigurationManager config, ILogger logger, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IHttpClient httpClient, IServerApplicationHost appHost)
     : base(config, logger, jsonSerializer, mediaEncoder)
 {
     _fileSystem = fileSystem;
     _httpClient = httpClient;
     _appHost    = appHost;
 }
Example #47
0
 public AudioImageProvider(IMediaEncoder mediaEncoder, IServerConfigurationManager config, IFileSystem fileSystem)
 {
     _mediaEncoder = mediaEncoder;
     _config       = config;
     _fileSystem   = fileSystem;
 }
Example #48
0
 public LiveTvMediaSourceProvider(ILiveTvManager liveTvManager, IJsonSerializer jsonSerializer, ILogManager logManager, IMediaSourceManager mediaSourceManager, IMediaEncoder mediaEncoder, IServerApplicationHost appHost)
 {
     _liveTvManager      = liveTvManager;
     _jsonSerializer     = jsonSerializer;
     _mediaSourceManager = mediaSourceManager;
     _mediaEncoder       = mediaEncoder;
     _appHost            = appHost;
     _logger             = logManager.GetLogger(GetType().Name);
 }
Example #49
0
        /// <summary>
        /// Gets the current streaming state.
        /// </summary>
        /// <param name="streamingRequest">The <see cref="StreamingRequestDto"/>.</param>
        /// <param name="httpRequest">The <see cref="HttpRequest"/>.</param>
        /// <param name="authorizationContext">Instance of the <see cref="IAuthorizationContext"/> interface.</param>
        /// <param name="mediaSourceManager">Instance of the <see cref="IMediaSourceManager"/> interface.</param>
        /// <param name="userManager">Instance of the <see cref="IUserManager"/> interface.</param>
        /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
        /// <param name="serverConfigurationManager">Instance of the <see cref="IServerConfigurationManager"/> interface.</param>
        /// <param name="mediaEncoder">Instance of the <see cref="IMediaEncoder"/> interface.</param>
        /// <param name="encodingHelper">Instance of <see cref="EncodingHelper"/>.</param>
        /// <param name="dlnaManager">Instance of the <see cref="IDlnaManager"/> interface.</param>
        /// <param name="deviceManager">Instance of the <see cref="IDeviceManager"/> interface.</param>
        /// <param name="transcodingJobHelper">Initialized <see cref="TranscodingJobHelper"/>.</param>
        /// <param name="transcodingJobType">The <see cref="TranscodingJobType"/>.</param>
        /// <param name="cancellationToken">The <see cref="CancellationToken"/>.</param>
        /// <returns>A <see cref="Task"/> containing the current <see cref="StreamState"/>.</returns>
        public static async Task <StreamState> GetStreamingState(
            StreamingRequestDto streamingRequest,
            HttpRequest httpRequest,
            IAuthorizationContext authorizationContext,
            IMediaSourceManager mediaSourceManager,
            IUserManager userManager,
            ILibraryManager libraryManager,
            IServerConfigurationManager serverConfigurationManager,
            IMediaEncoder mediaEncoder,
            EncodingHelper encodingHelper,
            IDlnaManager dlnaManager,
            IDeviceManager deviceManager,
            TranscodingJobHelper transcodingJobHelper,
            TranscodingJobType transcodingJobType,
            CancellationToken cancellationToken)
        {
            // Parse the DLNA time seek header
            if (!streamingRequest.StartTimeTicks.HasValue)
            {
                var timeSeek = httpRequest.Headers["TimeSeekRange.dlna.org"];

                streamingRequest.StartTimeTicks = ParseTimeSeekHeader(timeSeek.ToString());
            }

            if (!string.IsNullOrWhiteSpace(streamingRequest.Params))
            {
                ParseParams(streamingRequest);
            }

            streamingRequest.StreamOptions = ParseStreamOptions(httpRequest.Query);
            if (httpRequest.Path.Value == null)
            {
                throw new ResourceNotFoundException(nameof(httpRequest.Path));
            }

            var url = httpRequest.Path.Value.AsSpan().RightPart('.').ToString();

            if (string.IsNullOrEmpty(streamingRequest.AudioCodec))
            {
                streamingRequest.AudioCodec = encodingHelper.InferAudioCodec(url);
            }

            var enableDlnaHeaders = !string.IsNullOrWhiteSpace(streamingRequest.Params) ||
                                    streamingRequest.StreamOptions.ContainsKey("dlnaheaders") ||
                                    string.Equals(httpRequest.Headers["GetContentFeatures.DLNA.ORG"], "1", StringComparison.OrdinalIgnoreCase);

            var state = new StreamState(mediaSourceManager, transcodingJobType, transcodingJobHelper)
            {
                Request           = streamingRequest,
                RequestedUrl      = url,
                UserAgent         = httpRequest.Headers[HeaderNames.UserAgent],
                EnableDlnaHeaders = enableDlnaHeaders
            };

            var auth = await authorizationContext.GetAuthorizationInfo(httpRequest).ConfigureAwait(false);

            if (!auth.UserId.Equals(Guid.Empty))
            {
                state.User = userManager.GetUserById(auth.UserId);
            }

            if (state.IsVideoRequest && !string.IsNullOrWhiteSpace(state.Request.VideoCodec))
            {
                state.SupportedVideoCodecs = state.Request.VideoCodec.Split(',', StringSplitOptions.RemoveEmptyEntries);
                state.Request.VideoCodec   = state.SupportedVideoCodecs.FirstOrDefault();
            }

            if (!string.IsNullOrWhiteSpace(streamingRequest.AudioCodec))
            {
                state.SupportedAudioCodecs = streamingRequest.AudioCodec.Split(',', StringSplitOptions.RemoveEmptyEntries);
                state.Request.AudioCodec   = state.SupportedAudioCodecs.FirstOrDefault(mediaEncoder.CanEncodeToAudioCodec)
                                             ?? state.SupportedAudioCodecs.FirstOrDefault();
            }

            if (!string.IsNullOrWhiteSpace(streamingRequest.SubtitleCodec))
            {
                state.SupportedSubtitleCodecs = streamingRequest.SubtitleCodec.Split(',', StringSplitOptions.RemoveEmptyEntries);
                state.Request.SubtitleCodec   = state.SupportedSubtitleCodecs.FirstOrDefault(mediaEncoder.CanEncodeToSubtitleCodec)
                                                ?? state.SupportedSubtitleCodecs.FirstOrDefault();
            }

            var item = libraryManager.GetItemById(streamingRequest.Id);

            state.IsInputVideo = string.Equals(item.MediaType, MediaType.Video, StringComparison.OrdinalIgnoreCase);

            MediaSourceInfo?mediaSource = null;

            if (string.IsNullOrWhiteSpace(streamingRequest.LiveStreamId))
            {
                var currentJob = !string.IsNullOrWhiteSpace(streamingRequest.PlaySessionId)
                    ? transcodingJobHelper.GetTranscodingJob(streamingRequest.PlaySessionId)
                    : null;

                if (currentJob != null)
                {
                    mediaSource = currentJob.MediaSource;
                }

                if (mediaSource == null)
                {
                    var mediaSources = await mediaSourceManager.GetPlaybackMediaSources(libraryManager.GetItemById(streamingRequest.Id), null, false, false, cancellationToken).ConfigureAwait(false);

                    mediaSource = string.IsNullOrEmpty(streamingRequest.MediaSourceId)
                        ? mediaSources[0]
                        : mediaSources.Find(i => string.Equals(i.Id, streamingRequest.MediaSourceId, StringComparison.Ordinal));

                    if (mediaSource == null && Guid.Parse(streamingRequest.MediaSourceId) == streamingRequest.Id)
                    {
                        mediaSource = mediaSources[0];
                    }
                }
            }
            else
            {
                var liveStreamInfo = await mediaSourceManager.GetLiveStreamWithDirectStreamProvider(streamingRequest.LiveStreamId, cancellationToken).ConfigureAwait(false);

                mediaSource = liveStreamInfo.Item1;
                state.DirectStreamProvider = liveStreamInfo.Item2;
            }

            var encodingOptions = serverConfigurationManager.GetEncodingOptions();

            encodingHelper.AttachMediaSourceInfo(state, encodingOptions, mediaSource, url);

            string?containerInternal = Path.GetExtension(state.RequestedUrl);

            if (!string.IsNullOrEmpty(streamingRequest.Container))
            {
                containerInternal = streamingRequest.Container;
            }

            if (string.IsNullOrEmpty(containerInternal))
            {
                containerInternal = streamingRequest.Static ?
                                    StreamBuilder.NormalizeMediaSourceFormatIntoSingleContainer(state.InputContainer, null, DlnaProfileType.Audio)
                    : GetOutputFileExtension(state);
            }

            state.OutputContainer = (containerInternal ?? string.Empty).TrimStart('.');

            state.OutputAudioBitrate = encodingHelper.GetAudioBitrateParam(streamingRequest.AudioBitRate, streamingRequest.AudioCodec, state.AudioStream);

            state.OutputAudioCodec = streamingRequest.AudioCodec;

            state.OutputAudioChannels = encodingHelper.GetNumAudioChannelsParam(state, state.AudioStream, state.OutputAudioCodec);

            if (state.VideoRequest != null)
            {
                state.OutputVideoCodec   = state.Request.VideoCodec;
                state.OutputVideoBitrate = encodingHelper.GetVideoBitrateParamValue(state.VideoRequest, state.VideoStream, state.OutputVideoCodec);

                encodingHelper.TryStreamCopy(state);

                if (!EncodingHelper.IsCopyCodec(state.OutputVideoCodec) && state.OutputVideoBitrate.HasValue)
                {
                    var isVideoResolutionNotRequested = !state.VideoRequest.Width.HasValue &&
                                                        !state.VideoRequest.Height.HasValue &&
                                                        !state.VideoRequest.MaxWidth.HasValue &&
                                                        !state.VideoRequest.MaxHeight.HasValue;

                    if (isVideoResolutionNotRequested &&
                        state.VideoStream != null &&
                        state.VideoRequest.VideoBitRate.HasValue &&
                        state.VideoStream.BitRate.HasValue &&
                        state.VideoRequest.VideoBitRate.Value >= state.VideoStream.BitRate.Value)
                    {
                        // Don't downscale the resolution if the width/height/MaxWidth/MaxHeight is not requested,
                        // and the requested video bitrate is higher than source video bitrate.
                        if (state.VideoStream.Width.HasValue || state.VideoStream.Height.HasValue)
                        {
                            state.VideoRequest.MaxWidth  = state.VideoStream?.Width;
                            state.VideoRequest.MaxHeight = state.VideoStream?.Height;
                        }
                    }
                    else
                    {
                        var resolution = ResolutionNormalizer.Normalize(
                            state.VideoStream?.BitRate,
                            state.OutputVideoBitrate.Value,
                            state.VideoRequest.MaxWidth,
                            state.VideoRequest.MaxHeight);

                        state.VideoRequest.MaxWidth  = resolution.MaxWidth;
                        state.VideoRequest.MaxHeight = resolution.MaxHeight;
                    }
                }
            }

            ApplyDeviceProfileSettings(state, dlnaManager, deviceManager, httpRequest, streamingRequest.DeviceProfileId, streamingRequest.Static);

            var ext = string.IsNullOrWhiteSpace(state.OutputContainer)
                ? GetOutputFileExtension(state)
                : ("." + state.OutputContainer);

            state.OutputFilePath = GetOutputFilePath(state, ext !, serverConfigurationManager, streamingRequest.DeviceId, streamingRequest.PlaySessionId);

            return(state);
        }
Example #50
0
 public PlayToManager(ILogger logger, ISessionManager sessionManager, ILibraryManager libraryManager, IUserManager userManager, IDlnaManager dlnaManager, IServerApplicationHost appHost, IImageProcessor imageProcessor, IDeviceDiscovery deviceDiscovery, IHttpClient httpClient, IServerConfigurationManager config, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, IMediaEncoder mediaEncoder)
 {
     _logger             = logger;
     _sessionManager     = sessionManager;
     _libraryManager     = libraryManager;
     _userManager        = userManager;
     _dlnaManager        = dlnaManager;
     _appHost            = appHost;
     _imageProcessor     = imageProcessor;
     _deviceDiscovery    = deviceDiscovery;
     _httpClient         = httpClient;
     _config             = config;
     _userDataManager    = userDataManager;
     _localization       = localization;
     _mediaSourceManager = mediaSourceManager;
     _mediaEncoder       = mediaEncoder;
 }
Example #51
0
 public VideoService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IDtoService dtoService, IFileSystem fileSystem, IItemRepository itemRepository, ILiveTvManager liveTvManager, IEncodingManager encodingManager, IDlnaManager dlnaManager, IChannelManager channelManager, IHttpClient httpClient, IImageProcessor imageProcessor) : base(serverConfig, userManager, libraryManager, isoManager, mediaEncoder, dtoService, fileSystem, itemRepository, liveTvManager, encodingManager, dlnaManager, channelManager, httpClient, imageProcessor)
 {
 }
Example #52
0
 public SyncJobProcessor(ILibraryManager libraryManager, ISyncRepository syncRepo, SyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder, ISubtitleEncoder subtitleEncoder, IConfigurationManager config, IFileSystem fileSystem, IMediaSourceManager mediaSourceManager)
 {
     _libraryManager     = libraryManager;
     _syncRepo           = syncRepo;
     _syncManager        = syncManager;
     _logger             = logger;
     _userManager        = userManager;
     _tvSeriesManager    = tvSeriesManager;
     _mediaEncoder       = mediaEncoder;
     _subtitleEncoder    = subtitleEncoder;
     _config             = config;
     _fileSystem         = fileSystem;
     _mediaSourceManager = mediaSourceManager;
 }
Example #53
0
 public AudioService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IDtoService dtoService, IImageProcessor imageProcessor, IFileSystem fileSystem)
     : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo, dtoService, imageProcessor, fileSystem)
 {
 }
Example #54
0
 public DidlBuilder(DeviceProfile profile, User user, IImageProcessor imageProcessor, string serverAddress, string accessToken, IUserDataManager userDataManager, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, ILogger logger, ILibraryManager libraryManager, IMediaEncoder mediaEncoder)
 {
     _profile            = profile;
     _imageProcessor     = imageProcessor;
     _serverAddress      = serverAddress;
     _userDataManager    = userDataManager;
     _localization       = localization;
     _mediaSourceManager = mediaSourceManager;
     _logger             = logger;
     _libraryManager     = libraryManager;
     _mediaEncoder       = mediaEncoder;
     _accessToken        = accessToken;
     _user = user;
 }
Example #55
0
        public EmbyTV(IApplicationHost appHost, ILogger logger, IJsonSerializer jsonSerializer, IHttpClient httpClient, IServerConfigurationManager config, ILiveTvManager liveTvManager, IFileSystem fileSystem, ISecurityManager security, ILibraryManager libraryManager, ILibraryMonitor libraryMonitor, IProviderManager providerManager, IFileOrganizationService organizationService, IMediaEncoder mediaEncoder, IPowerManagement powerManagement)
        {
            Current = this;

            _appHpst             = appHost;
            _logger              = logger;
            _httpClient          = httpClient;
            _config              = config;
            _fileSystem          = fileSystem;
            _security            = security;
            _libraryManager      = libraryManager;
            _libraryMonitor      = libraryMonitor;
            _providerManager     = providerManager;
            _organizationService = organizationService;
            _mediaEncoder        = mediaEncoder;
            _liveTvManager       = (LiveTvManager)liveTvManager;
            _jsonSerializer      = jsonSerializer;

            _recordingProvider         = new ItemDataProvider <RecordingInfo>(fileSystem, jsonSerializer, _logger, Path.Combine(DataPath, "recordings"), (r1, r2) => string.Equals(r1.Id, r2.Id, StringComparison.OrdinalIgnoreCase));
            _seriesTimerProvider       = new SeriesTimerManager(fileSystem, jsonSerializer, _logger, Path.Combine(DataPath, "seriestimers"));
            _timerProvider             = new TimerManager(fileSystem, jsonSerializer, _logger, Path.Combine(DataPath, "timers"), powerManagement, _logger);
            _timerProvider.TimerFired += _timerProvider_TimerFired;
        }
Example #56
0
 protected BaseTunerHost(IServerConfigurationManager config, ILogger logger, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder, IFileSystem fileSystem)
 {
     Config         = config;
     Logger         = logger;
     JsonSerializer = jsonSerializer;
     MediaEncoder   = mediaEncoder;
     FileSystem     = fileSystem;
 }
 public FFProbeAudioInfoProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder, IJsonSerializer jsonSerializer)
     : base(logManager, configurationManager, mediaEncoder, jsonSerializer)
 {
 }
Example #58
0
 public HdHomerunHost(IServerConfigurationManager config, ILogger logger, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IHttpClient httpClient, IServerApplicationHost appHost, ISocketFactory socketFactory, INetworkManager networkManager, IEnvironmentInfo environment) : base(config, logger, jsonSerializer, mediaEncoder, fileSystem)
 {
     _httpClient     = httpClient;
     _appHost        = appHost;
     _socketFactory  = socketFactory;
     _networkManager = networkManager;
     _environment    = environment;
 }
 protected BaseFFProbeProvider(ILogManager logManager, IServerConfigurationManager configurationManager, IMediaEncoder mediaEncoder, IJsonSerializer jsonSerializer)
     : base(logManager, configurationManager, mediaEncoder)
 {
     JsonSerializer = jsonSerializer;
 }
Example #60
0
        public ControlHandler(ILogger logger, ILibraryManager libraryManager, DeviceProfile profile, string serverAddress, string accessToken, IImageProcessor imageProcessor, IUserDataManager userDataManager, User user, int systemUpdateId, IServerConfigurationManager config, ILocalizationManager localization, IMediaSourceManager mediaSourceManager, IUserViewManager userViewManager, IMediaEncoder mediaEncoder, IXmlReaderSettingsFactory xmlReaderSettingsFactory, ITVSeriesManager tvSeriesManager)
            : base(config, logger, xmlReaderSettingsFactory)
        {
            _libraryManager  = libraryManager;
            _userDataManager = userDataManager;
            _user            = user;
            _systemUpdateId  = systemUpdateId;
            _userViewManager = userViewManager;
            _tvSeriesManager = tvSeriesManager;
            _profile         = profile;
            _config          = config;

            _didlBuilder = new DidlBuilder(profile, user, imageProcessor, serverAddress, accessToken, userDataManager, localization, mediaSourceManager, _logger, libraryManager, mediaEncoder);
        }