浏览代码

测试用例

tags/v1.1.0
waterliu99 5 年前
父节点
当前提交
0f88eceffe
共有 8 个文件被更改,包括 137 次插入9 次删除
  1. +18
    -0
      src/JT1078.Flv.Test/FlvMuxer_Test.cs
  2. +0
    -4
      src/JT1078.Flv.Test/JT1078.Flv.Test.csproj
  3. +59
    -0
      src/JT1078.Flv.Test/MessagePack/FlvMessagePackWriter_FlvBody_Test.cs
  4. +55
    -0
      src/JT1078.Flv.Test/MessagePack/FlvMessagePackWriter_FlvTags_Test.cs
  5. +1
    -1
      src/JT1078.Flv/FlvHeader.cs
  6. +1
    -1
      src/JT1078.Flv/FlvMuxer.cs
  7. +1
    -1
      src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Amf0.cs
  8. +2
    -2
      src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Flv.cs

+ 18
- 0
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();
}
}
}

+ 0
- 4
src/JT1078.Flv.Test/JT1078.Flv.Test.csproj 查看文件

@@ -17,8 +17,4 @@
<ProjectReference Include="..\JT1078.Flv\JT1078.Flv.csproj" />
</ItemGroup>

<ItemGroup>
<Folder Include="Metadata\" />
</ItemGroup>

</Project>

+ 59
- 0
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<byte> 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<Flv.Metadata.IAmf3Metadata> {
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);
}
}
}

+ 55
- 0
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<byte> 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<Flv.Metadata.IAmf3Metadata> {
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);
}
}
}

+ 1
- 1
src/JT1078.Flv/FlvHeader.cs 查看文件

@@ -23,7 +23,7 @@ namespace JT1078.Flv
Span<byte> 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);


+ 1
- 1
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


+ 1
- 1
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;


+ 2
- 2
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)


正在加载...
取消
保存