public TasksProcessorActor(ITranscoder transcoder, IMetadataExtractor metadataExtractor) { _transcoder = transcoder; _metadataExtractor = metadataExtractor; Task.Run(() => { ExecuteTasks(); }); }
public ImportSample( IMediaStore store, IMetadataExtractor metadataExtractor, IFaceDetectionService faceDetectionService, IBoxExtractorService faceExtractorService, IThumbnailService thumbnailService) { _store = store; _metadataExtractor = metadataExtractor; _faceDetectionService = faceDetectionService; _faceExtractorService = faceExtractorService; _thumbnailService = thumbnailService; }
public void ItemsWereAdded(string location, ICollection <PluginItemMetadata> items) { IPluginManager pluginManager = ServiceRegistration.Get <IPluginManager>(); foreach (PluginItemMetadata itemMetadata in items) { try { IMetadataExtractor metadataExtractor = pluginManager.RequestPluginItem <IMetadataExtractor>( itemMetadata.RegistrationLocation, itemMetadata.Id, new FixedItemStateTracker(METADATA_EXTRACTORS_USE_COMPONENT_NAME)); _parent.RegisterMetadataExtractor(metadataExtractor); } catch (PluginInvalidStateException e) { ServiceRegistration.Get <ILogger>().Warn("Cannot add metadata extractor for {0}", e, itemMetadata); } } }
protected void RegisterMetadataExtractor(IMetadataExtractor metadataExtractor) { lock (_syncObj) _metadataExtractors.Add(metadataExtractor.Metadata.MetadataExtractorId, metadataExtractor); MediaAccessorMessaging.SendMetadataExtractorMessage(MediaAccessorMessaging.MessageType.MetadataExtractorAdded, metadataExtractor.Metadata.MetadataExtractorId); }
/// <summary> /// Get the metadata for files in the METS xml. /// </summary> /// <param name="fileName">Name of the file to get metadata.</param> /// <returns>Metadata for the given file.</returns> internal MetadataSection GetMetadata(string fileName) { if (string.IsNullOrEmpty(fileName)) { throw new ArgumentNullException("fileName"); } XmlMetadata[] fileMetadata = GetXmlData(fileName); if (null == fileMetadata) { return(null); } Metadata descriptiveData = null; Metadata administrativeData = null; foreach (XmlMetadata metadataXml in fileMetadata) { if (null == metadataXml.Metadata) { continue; } IMetadataExtractor extractor = null; Metadata data = null; Stream xmlDataStream = new MemoryStream(); StreamWriter dataWriter = new StreamWriter(xmlDataStream); dataWriter.Write(metadataXml.Metadata.ToString()); dataWriter.Flush(); xmlDataStream.Position = 0; if (MetsConstants.DublinCorePrefix == metadataXml.MdType) { extractor = new DublinCoreMetadataExtractor(); } data = extractor.ExtractMetadata(xmlDataStream); if (null == data) { continue; } if (metadataXml.IsDiscriptive) { MergeMetadata(ref descriptiveData, data); } else { MergeMetadata(ref administrativeData, data); } } if (null == administrativeData && null == descriptiveData) { return(null); } return(new MetadataSection { FileName = fileName, AdministrativeMetadata = administrativeData, DescriptiveMetadata = descriptiveData }); }
protected void RegisterMetadataExtractor(IMetadataExtractor metadataExtractor) { lock (_syncObj) _metadataExtractors.Add(metadataExtractor.Metadata.MetadataExtractorId, metadataExtractor); MediaAccessorMessaging.SendResourceProviderMessage(MediaAccessorMessaging.MessageType.MetadataExtractorAdded, metadataExtractor.Metadata.MetadataExtractorId); }
public ExtractMetadataTask(IMetadataExtractor metadataExtractor) { _metadataExtractor = metadataExtractor; }