Files
webRtc/Packages/com.unity.renderstreaming@3.1.0-exp.9/Runtime/Scripts/Codec.cs
2026-04-28 16:48:04 +08:00

37 lines
1.3 KiB
C#

using System.Collections.Generic;
using System.Linq;
using Unity.WebRTC;
namespace Unity.RenderStreaming
{
internal static class RTCRtpCodecCapabilityExtension
{
public static string GetCodecName(this string mimeType)
{
if (mimeType == null)
return null;
string[] substrings = mimeType.Split('/');
if (substrings.Length > 1)
return substrings[1];
return null;
}
public static IEnumerable<RTCRtpCodecCapability> SelectCodecCapabilities(this RTCRtpCapabilities capabilities, IEnumerable<VideoCodecInfo> codecs)
{
var caps = capabilities.codecs;
return codecs
.Where(codec => codec != null)
.Select(codec => caps.FirstOrDefault(cap => codec.Equals(cap)))
.Where(cap => cap != null);
}
public static IEnumerable<RTCRtpCodecCapability> SelectCodecCapabilities(this RTCRtpCapabilities capabilities, IEnumerable<AudioCodecInfo> codecs)
{
var caps = capabilities.codecs;
return codecs
.Where(codec => codec != null)
.Select(codec => caps.FirstOrDefault(cap => codec.Equals(cap)))
.Where(cap => cap != null);
}
}
}