public void ShouldGet2997FrameRate() { const string CodecPrivateData2997Fps = "00000001674D400D96560A8CDFF820001F8284001B7E44066FF30180000927000124F9FC638C00004938000927CFE31C3B4244A70000000168EA5352"; var parser = new H264FrameRateParser(); var frameRate = parser.GetFrameRate(CodecPrivateData2997Fps); Assert.AreEqual(SmpteFrameRate.Smpte2997NonDrop, frameRate); }
public void ShouldGet24FrameRate() { const string CodecPrivateData24Fps = "00000001674D4020965280A00B77FE08000800A10000030001000003003060400033E14000081B33FC638C0800067C28000103667F8C70ED0B168B0000000168E9093520"; var parser = new H264FrameRateParser(); var frameRate = parser.GetFrameRate(CodecPrivateData24Fps); Assert.AreEqual(SmpteFrameRate.Smpte24, frameRate); }
public void ShouldGetUnknownFrameRateFor2339Fps() { const string CodecPrivateData2339Fps = "0000000167640032AC2CA501E0089F97FF0400040052020202800233938066FF3031500016E360002DC6FF8C718A8000B71B00016E37FC6387684894580000000168E9093525"; var parser = new H264FrameRateParser(); var frameRate = parser.GetFrameRate(CodecPrivateData2339Fps); Assert.AreEqual(SmpteFrameRate.Unknown, frameRate); }
public void ShouldGet25FrameRate() { const string CodecPrivateData25Fps = "00000001274D401EB90A05819D80A5010101F00000030010000003032E0400055730000802CEF7B80F844228B00000000128E93BC8"; var parser = new H264FrameRateParser(); var frameRate = parser.GetFrameRate(CodecPrivateData25Fps); Assert.AreEqual(SmpteFrameRate.Smpte25, frameRate); }
public CodecPrivateDataParser() { // TODO: Get the frame rate parsers as parameters. var h264FrameRateParser = new H264FrameRateParser(); var wvc1FrameRateParser = new WVC1FrameRateParser(); this.frameRateParsers = new Dictionary <string, IFrameRateParser>(StringComparer.OrdinalIgnoreCase); this.frameRateParsers.Add(h264FrameRateParser.FourCC, h264FrameRateParser); this.frameRateParsers.Add(wvc1FrameRateParser.FourCC, wvc1FrameRateParser); }