From e524e0d17b236970aa3d6b9d296cbf1910d0f20d Mon Sep 17 00:00:00 2001 From: Stephen Toub Date: Sat, 21 Mar 2026 08:47:03 -0400 Subject: [PATCH] Add Video sub-class to MediaTypeNames with common video MIME types Add MediaTypeNames.Video with five commonly-used video container format constants: Mp4, Mpeg, Ogg, QuickTime, and Webm. These are the most widely used video MIME types in web applications and are already mapped in MediaTypeMap. Codec-specific types (H264, VP8, etc.) are excluded as they are rarely used as HTTP Content-Type headers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../System.Net.Mail/ref/System.Net.Mail.cs | 8 +++++++ .../src/System/Net/Mime/MediaTypeNames.cs | 19 +++++++++++++++++ .../tests/Unit/MediaTypeNamesVideoTest.cs | 21 +++++++++++++++++++ .../Unit/System.Net.Mail.Unit.Tests.csproj | 1 + 4 files changed, 49 insertions(+) create mode 100644 src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs diff --git a/src/libraries/System.Net.Mail/ref/System.Net.Mail.cs b/src/libraries/System.Net.Mail/ref/System.Net.Mail.cs index 04de1380ed0b28..14c4f8f9a761d8 100644 --- a/src/libraries/System.Net.Mail/ref/System.Net.Mail.cs +++ b/src/libraries/System.Net.Mail/ref/System.Net.Mail.cs @@ -384,6 +384,14 @@ public static partial class Text public const string Rtf = "text/rtf"; public const string Xml = "text/xml"; } + public static partial class Video + { + public const string Mp4 = "video/mp4"; + public const string Mpeg = "video/mpeg"; + public const string Ogg = "video/ogg"; + public const string QuickTime = "video/quicktime"; + public const string Webm = "video/webm"; + } } public static partial class MediaTypeMap { diff --git a/src/libraries/System.Net.Mail/src/System/Net/Mime/MediaTypeNames.cs b/src/libraries/System.Net.Mail/src/System/Net/Mime/MediaTypeNames.cs index d94769c60b4ac1..d039f372a3f94a 100644 --- a/src/libraries/System.Net.Mail/src/System/Net/Mime/MediaTypeNames.cs +++ b/src/libraries/System.Net.Mail/src/System/Net/Mime/MediaTypeNames.cs @@ -165,5 +165,24 @@ public static class Text /// Specifies that the data is in XML format. public const string Xml = "text/xml"; } + + /// Specifies the kind of video data in an email message attachment. + public static class Video + { + /// Specifies that the data is in MP4 format. + public const string Mp4 = "video/mp4"; + + /// Specifies that the data is in MPEG format. + public const string Mpeg = "video/mpeg"; + + /// Specifies that the data is in Ogg format. + public const string Ogg = "video/ogg"; + + /// Specifies that the data is in QuickTime format. + public const string QuickTime = "video/quicktime"; + + /// Specifies that the data is in WebM format. + public const string Webm = "video/webm"; + } } } diff --git a/src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs b/src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs new file mode 100644 index 00000000000000..d7847a36b07bfe --- /dev/null +++ b/src/libraries/System.Net.Mail/tests/Unit/MediaTypeNamesVideoTest.cs @@ -0,0 +1,21 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Xunit; + +namespace System.Net.Mime.Tests +{ + public class MediaTypeNamesVideoTest + { + [Theory] + [InlineData(MediaTypeNames.Video.Mp4, "video/mp4")] + [InlineData(MediaTypeNames.Video.Mpeg, "video/mpeg")] + [InlineData(MediaTypeNames.Video.Ogg, "video/ogg")] + [InlineData(MediaTypeNames.Video.QuickTime, "video/quicktime")] + [InlineData(MediaTypeNames.Video.Webm, "video/webm")] + public void VideoMediaTypeNames_MatchExpectedValues(string actual, string expected) + { + Assert.Equal(expected, actual); + } + } +} diff --git a/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj b/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj index b9ba9d628134ea..f4d98505db98ad 100644 --- a/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj +++ b/src/libraries/System.Net.Mail/tests/Unit/System.Net.Mail.Unit.Tests.csproj @@ -13,6 +13,7 @@ +