internal BaseFile GetFile(PlainFolder aParent, FileInfo info) { BaseFile item; lock (ids) { item = ids.GetItemByPath(info.FullName) as BaseFile; } if (item != null && item.InfoDate == info.LastWriteTimeUtc && item.InfoSize == info.Length) { return(item); } var ext = regSanitizeExt.Replace( info.Extension.ToUpperInvariant().Substring(1), string.Empty ); var type = DlnaMaps.Ext2Dlna[ext]; var mediaType = DlnaMaps.Ext2Media[ext]; if (store != null) { item = store.MaybeGetFile(this, info, type); if (item != null) { pendingFiles.Enqueue(new WeakReference(item)); return(item); } } var rv = BaseFile.GetFile(aParent, info, type, mediaType); pendingFiles.Enqueue(new WeakReference(rv)); return(rv); }
internal BaseFile GetFile(PlainFolder aParent, FileInfo info) { BaseFile item; lock (ids) { item = ids.GetItemByPath(info.FullName) as BaseFile; } if (item != null && item.InfoDate == info.LastAccessTimeUtc && item.InfoSize == info.Length) { return(item); } var ext = re_sansitizeExt.Replace( info.Extension.ToUpperInvariant().Substring(1), string.Empty ); var type = DlnaMaps.Ext2Dlna[ext]; var mediaType = DlnaMaps.Ext2Media[ext]; if (_store != null) { item = _storeReader.GetFile(info, this, type); if (item != null) { AddPending(item); return(item); } } var rv = BaseFile.GetFile(aParent, info, type, mediaType); AddPending(rv); return(rv); }
internal BaseFile GetFile(PlainFolder aParent, FileInfo info) { BaseFile item; lock (ids) { item = ids.GetItemByPath(info.FullName) as BaseFile; } if (item != null && item.InfoDate == info.LastAccessTimeUtc && item.InfoSize == info.Length) { return item; } var ext = re_sansitizeExt.Replace( info.Extension.ToLower().Substring(1), string.Empty ); var type = DlnaMaps.Ext2Dlna[ext]; var mediaType = DlnaMaps.Ext2Media[ext]; if (store != null) { item = store.MaybeGetFile(this, info, type); if (item != null) { return item; } } return BaseFile.GetFile(aParent, info, type, mediaType); }
internal BaseFile GetFile(PlainFolder aParent, FileInfo info) { BaseFile item; lock (ids) { item = ids.GetItemByPath(info.FullName) as BaseFile; } if (item != null && item.InfoDate == info.LastAccessTimeUtc && item.InfoSize == info.Length) { return item; } var ext = re_sansitizeExt.Replace( info.Extension.ToUpperInvariant().Substring(1), string.Empty ); var type = DlnaMaps.Ext2Dlna[ext]; var mediaType = DlnaMaps.Ext2Media[ext]; if (store != null) { item = store.MaybeGetFile(this, info, type); if (item != null) { lock (this) { pendingFiles.Add(new WeakReference(item)); } return item; } } lock (this) { var rv = BaseFile.GetFile(aParent, info, type, mediaType); pendingFiles.Add(new WeakReference(rv)); return rv; } }
internal static BaseFile GetFile(PlainFolder aParentFolder, FileInfo aFile, DlnaMime aType, DlnaMediaTypes aMediaType) { switch (aMediaType) { case DlnaMediaTypes.Video: return new VideoFile(aParentFolder.Server, aFile, aType); case DlnaMediaTypes.Audio: return new AudioFile(aParentFolder.Server, aFile, aType); case DlnaMediaTypes.Image: return new ImageFile(aParentFolder.Server, aFile, aType); default: return new BaseFile(aParentFolder.Server, aFile, aType, aMediaType); } }
internal static BaseFile GetFile(PlainFolder parentFolder, FileInfo file, DlnaMime type, DlnaMediaTypes mediaType) { switch (mediaType) { case DlnaMediaTypes.Video: return new VideoFile(parentFolder.Server, file, type); case DlnaMediaTypes.Audio: return new AudioFile(parentFolder.Server, file, type); case DlnaMediaTypes.Image: return new ImageFile(parentFolder.Server, file, type); default: return new BaseFile(parentFolder.Server, file, type, mediaType); } }