public void Process(MetadataStream metadata) { try { List<EventStream> events; List<VideoAnalyticsStream> analytics; ExtractStreams(metadata, out events, out analytics); if (eventMetadataProcessor != null) events.ForEach(es => eventMetadataProcessor.Process(es)); if (sceneMetadataProcessor != null) analytics.ForEach(vas => sceneMetadataProcessor.Process(vas)); } catch (Exception ex) { dbg.Error(ex); } }
private void ExtractStreams(MetadataStream metadata, out List<EventStream> events, out List<VideoAnalyticsStream> analytics) { events = new List<EventStream>(); analytics = new List<VideoAnalyticsStream>(); var items = metadata.items; if (items != null) { foreach (var item in items) { if (item is EventStream) { var ev = (EventStream)item; events.Add(ev); } else if (item is VideoAnalyticsStream) { var va = (VideoAnalyticsStream)item; analytics.Add(va); } } } }