diff --git a/src/JT1078.Flv.Test/FlvMuxer_Test.cs b/src/JT1078.Flv.Test/FlvMuxer_Test.cs
new file mode 100644
index 0000000..9172da9
--- /dev/null
+++ b/src/JT1078.Flv.Test/FlvMuxer_Test.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Xunit;
+using JT1078.Flv.Extensions;
+
+namespace JT1078.Flv.Test
+{
+ public class FlvMuxer_Test
+ {
+ [Fact]
+ public void FlvMuxer_Test_1() {
+ FlvMuxer flvMuxer = new FlvMuxer();
+ var buff = flvMuxer.FlvFirstFrame();
+ var hex= buff.ToHexString();
+ }
+ }
+}
diff --git a/src/JT1078.Flv.Test/JT1078.Flv.Test.csproj b/src/JT1078.Flv.Test/JT1078.Flv.Test.csproj
index da12930..baad934 100644
--- a/src/JT1078.Flv.Test/JT1078.Flv.Test.csproj
+++ b/src/JT1078.Flv.Test/JT1078.Flv.Test.csproj
@@ -17,8 +17,4 @@
-
-
-
-
diff --git a/src/JT1078.Flv.Test/MessagePack/FlvMessagePackWriter_FlvBody_Test.cs b/src/JT1078.Flv.Test/MessagePack/FlvMessagePackWriter_FlvBody_Test.cs
new file mode 100644
index 0000000..2082303
--- /dev/null
+++ b/src/JT1078.Flv.Test/MessagePack/FlvMessagePackWriter_FlvBody_Test.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Xunit;
+using JT1078.Flv.MessagePack;
+using JT1078.Flv.Metadata;
+using JT1078.Flv.Extensions;
+
+namespace JT1078.Flv.Test.MessagePack
+{
+
+ public class FlvMessagePackWriter_FlvBody_Test
+ {
+ [Fact]
+ public void FlvMessagePackWriter_FlvBody_Test_1()
+ {
+ Span buffer = new byte[1024];
+ FlvMessagePackWriter flvMessagePackWriter = new FlvMessagePackWriter(buffer);
+ FlvBody flvBody = new FlvBody()
+ {
+ PreviousTagSize=0,
+ Tag = new FlvTags
+ {
+ Type = Enums.TagType.ScriptData,
+ DataSize = 156,
+ DataTagsData = new Amf3
+ {
+ Amf3Metadatas = new List {
+ new Amf3Metadata_Duration{
+ Value=7.22100
+ },
+ new Amf3Metadata_FileSize{
+ Value=2005421.00000
+ },
+ new Amf3Metadata_FrameRate{
+ Value=29.16667
+ },
+ new Amf3Metadata_Height{
+ Value=960.00000
+ },
+ new Amf3Metadata_VideoCodecId{
+ Value=7.00000
+ },
+ new Amf3Metadata_VideoDataRate{
+ Value=0.00000
+ },
+ new Amf3Metadata_Width{
+ Value=544.00000
+ }
+ }
+ }
+ }
+ };
+ flvMessagePackWriter.WriteFlvBody(flvBody);
+ var hex=flvMessagePackWriter.FlushAndGetArray().ToHexString();
+ Assert.Equal("00000000120000A00000000000000002000A6F6E4D65746144617461080000000700086475726174696F6E00401CE24DD2F1A9FC000866696C6573697A6500413E99AD0000000000096672616D657261746500403D2AAAE297396D000668656967687400408E000000000000000C766964656F636F646563696400401C000000000000000D766964656F646174617261746500000000000000000000057769647468004081000000000000", hex);
+ }
+ }
+}
diff --git a/src/JT1078.Flv.Test/MessagePack/FlvMessagePackWriter_FlvTags_Test.cs b/src/JT1078.Flv.Test/MessagePack/FlvMessagePackWriter_FlvTags_Test.cs
new file mode 100644
index 0000000..1042197
--- /dev/null
+++ b/src/JT1078.Flv.Test/MessagePack/FlvMessagePackWriter_FlvTags_Test.cs
@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Xunit;
+using JT1078.Flv.MessagePack;
+using JT1078.Flv.Metadata;
+using JT1078.Flv.Extensions;
+
+namespace JT1078.Flv.Test.MessagePack
+{
+
+ public class FlvMessagePackWriter_FlvTags_Test
+ {
+ [Fact]
+ public void FlvMessagePackWriter_FlvTags_Test_1()
+ {
+ Span buffer = new byte[1024];
+ FlvMessagePackWriter flvMessagePackWriter = new FlvMessagePackWriter(buffer);
+ FlvTags flvTags = new FlvTags
+ {
+ Type = Enums.TagType.ScriptData,
+ DataSize = 156,
+ DataTagsData = new Amf3
+ {
+ Amf3Metadatas = new List {
+ new Amf3Metadata_Duration{
+ Value=7.22100
+ },
+ new Amf3Metadata_FileSize{
+ Value=2005421.00000
+ },
+ new Amf3Metadata_FrameRate{
+ Value=29.16667
+ },
+ new Amf3Metadata_Height{
+ Value=960.00000
+ },
+ new Amf3Metadata_VideoCodecId{
+ Value=7.00000
+ },
+ new Amf3Metadata_VideoDataRate{
+ Value=0.00000
+ },
+ new Amf3Metadata_Width{
+ Value=544.00000
+ }
+ }
+ }
+ };
+ flvMessagePackWriter.WriteFlvTag(flvTags);
+ var hex=flvMessagePackWriter.FlushAndGetArray().ToHexString();
+ Assert.Equal("1200009C0000000000000002000A6F6E4D65746144617461080000000700086475726174696F6E00401CE24DD2F1A9FC000866696C6573697A6500413E99AD0000000000096672616D657261746500403D2AAAE297396D000668656967687400408E000000000000000C766964656F636F646563696400401C000000000000000D766964656F646174617261746500000000000000000000057769647468004081000000000000", hex);
+ }
+ }
+}
diff --git a/src/JT1078.Flv/FlvHeader.cs b/src/JT1078.Flv/FlvHeader.cs
index 5a58274..f42316c 100644
--- a/src/JT1078.Flv/FlvHeader.cs
+++ b/src/JT1078.Flv/FlvHeader.cs
@@ -23,7 +23,7 @@ namespace JT1078.Flv
Span tmp = new byte[9];
tmp[0] = 0x46;
tmp[1] = 0x4c;
- tmp[2] = 0x66;
+ tmp[2] = 0x56;
tmp[3] = 0x01;
tmp[4] = Flags;
BinaryPrimitives.WriteInt32BigEndian(tmp.Slice(5), 9);
diff --git a/src/JT1078.Flv/FlvMuxer.cs b/src/JT1078.Flv/FlvMuxer.cs
index a9b0589..382c2a7 100644
--- a/src/JT1078.Flv/FlvMuxer.cs
+++ b/src/JT1078.Flv/FlvMuxer.cs
@@ -20,7 +20,7 @@ namespace JT1078.Flv
//flv body PreviousTagSize
flvMessagePackWriter.WriteUInt32(0);
//flv body tag
-
+
//flv body tag header
//flv body tag body
diff --git a/src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Amf0.cs b/src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Amf0.cs
index e0d77b7..94229e1 100644
--- a/src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Amf0.cs
+++ b/src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Amf0.cs
@@ -7,7 +7,7 @@ namespace JT1078.Flv.MessagePack
ref partial struct FlvMessagePackWriter
{
private readonly static byte[] FixedAmf0Data = new byte[] { 0x6F, 0x6E, 0x4D, 0x65, 0x74, 0x61, 0x44, 0x61, 0x74, 0x61 };
- public void WriteAmf1()
+ public void WriteAmf0()
{
var span = writer.Free;
span[0] = 0x02;
diff --git a/src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Flv.cs b/src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Flv.cs
index aac079f..ebe05e2 100644
--- a/src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Flv.cs
+++ b/src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Flv.cs
@@ -34,7 +34,7 @@ namespace JT1078.Flv.MessagePack
case TagType.ScriptData:
//DataTags
//flv Amf0
- WriteAmf1();
+ WriteAmf0();
//flv Amf3
WriteAmf3(tag.DataTagsData);
break;
@@ -42,7 +42,7 @@ namespace JT1078.Flv.MessagePack
//VIDEODATA
break;
}
- WriteInt24Return(GetCurrentPosition() - DataSizePosition - 3, DataSizePosition);
+ WriteInt24Return(GetCurrentPosition() - 11, DataSizePosition);
}
public void WriteUInt24(uint value)