新增 Mjpegplayer 用来播放 Web 流

This commit is contained in:
2026-01-21 19:03:59 +08:00
parent f79cb6e74d
commit c438edfa0d
71 changed files with 4538 additions and 452 deletions

View File

@@ -0,0 +1,22 @@
using System.Collections.Concurrent;
namespace SHH.MjpegPlayer
{
/// <summary>
/// 辅助类:线程安全集合
/// </summary>
public class ConcurrentHashSet<T> : IEnumerable<T>
{
private readonly ConcurrentDictionary<T, byte> _dict = new ConcurrentDictionary<T, byte>();
public void Add(T item) => _dict.TryAdd(item, 0);
public void Remove(T item) => _dict.TryRemove(item, out _);
public bool IsEmpty => _dict.IsEmpty;
public IEnumerator<T> GetEnumerator() => _dict.Keys.GetEnumerator();
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => GetEnumerator();
}
}