public void Init(Device device, TranscodeSettings[] transcodeSettings) { _transcodeSettings = transcodeSettings; _device = device; _device.PlaybackChanged += Device_PlaybackChanged; _device.CurrentIdChanged += Device_CurrentIdChanged; _device.Start(); _updateTimer = new Timer(1000); _updateTimer.Elapsed += updateTimer_Elapsed; _updateTimer.Start(); }
public static PlaylistItem GetBasicConfig(BaseItem item, TranscodeSettings[] profileTranscodings) { var playlistItem = new PlaylistItem(); playlistItem.ItemId = item.Id.ToString(); if (string.Equals(item.MediaType, Model.Entities.MediaType.Video, StringComparison.OrdinalIgnoreCase)) { playlistItem.IsVideo = true; } else { playlistItem.IsAudio = true; } var path = item.Path.ToLower(); //Check the DlnaProfile associated with the renderer if (profileTranscodings != null) { foreach (TranscodeSettings transcodeSetting in profileTranscodings) { if (string.IsNullOrWhiteSpace(transcodeSetting.Container)) continue; if (path.EndsWith(transcodeSetting.Container)) { playlistItem.Transcode = true; playlistItem.FileFormat = transcodeSetting.TargetContainer; return playlistItem; } } } if (playlistItem.IsVideo) { //Check to see if we support serving the format statically foreach (string supported in PlayToConfiguration.SupportedStaticFormats) { if (path.EndsWith(supported)) { playlistItem.Transcode = false; playlistItem.FileFormat = supported; return playlistItem; } } playlistItem.Transcode = true; playlistItem.FileFormat = "ts"; } else { foreach (string supported in PlayToConfiguration.SupportedStaticFormats) { if (path.EndsWith(supported)) { playlistItem.Transcode = false; playlistItem.FileFormat = supported; return playlistItem; } } playlistItem.Transcode = true; playlistItem.FileFormat = "mp3"; } return playlistItem; }