void Playlist_SegmentSwitched(IHLSPlaylist sender, IHLSSegmentSwitchEventArgs args) { Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { try { var toSegment = args.ToSegment; if (toSegment.LoadState == SegmentState.LOADED) { var metadatastreams = toSegment.GetMetadataStreams(); if (metadatastreams != null) { if (nometadataStatus.Visibility == Visibility.Visible) { nometadataStatus.Visibility = Visibility.Collapsed; } foreach (var stm in metadatastreams) { var payloads = stm.GetPayloads(); if (payloads != null) { var entry = _segmentid3tags.Where((hms) => { return(hms.StreamID == stm.StreamID); }).FirstOrDefault(); if (entry == null) { entry = new HLSMetadataStream(stm.StreamID); _segmentid3tags.Add(entry); } entry.Payloads.AddRange(payloads.Select((pld) => { return(new HLSMetadataPayload(pld, args.ToBitrate, toSegment.SequenceNumber)); })); } } } } } catch (Exception ex) { } }); }
void Playlist_SegmentSwitched(IHLSPlaylist sender, IHLSSegmentSwitchEventArgs args) { Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { try { var toSegment = args.ToSegment; if (toSegment.LoadState == SegmentState.LOADED) { var metadatastreams = toSegment.GetMetadataStreams(); if (metadatastreams != null) { if (nometadataStatus.Visibility == Visibility.Visible) nometadataStatus.Visibility = Visibility.Collapsed; foreach (var stm in metadatastreams) { var payloads = stm.GetPayloads(); if (payloads != null) { var entry = _segmentid3tags.Where((hms) => { return hms.StreamID == stm.StreamID; }).FirstOrDefault(); if (entry == null) { entry = new HLSMetadataStream(stm.StreamID); _segmentid3tags.Add(entry); } entry.Payloads.AddRange(payloads.Select((pld) => { return new HLSMetadataPayload(pld, args.ToBitrate, toSegment.SequenceNumber); })); } } } } } catch(Exception ex) { } }); }