Pārlūkot izejas kodu

组装测试盒子

tags/v1.1.0
SmallChi(Koike) pirms 4 gadiem
vecāks
revīzija
684c09661f
4 mainītis faili ar 114 papildinājumiem un 6 dzēšanām
  1. +65
    -4
      src/JT1078.FMp4.Test/FMp4Box_Test.cs
  2. +8
    -0
      src/JT1078.FMp4/Boxs/MediaInformationBox.cs
  3. +24
    -2
      src/JT1078.FMp4/Boxs/VideoMediaHeaderBox.cs
  4. +17
    -0
      src/JT1078.FMp4/JT1078.FMp4.xml

+ 65
- 4
src/JT1078.FMp4.Test/FMp4Box_Test.cs Parādīt failu

@@ -29,7 +29,6 @@ namespace JT1078.FMp4.Test
var hex = writer.FlushAndGetArray().ToHexString();
Assert.Equal("000000246674797069736f6d0000020069736f6d69736f326176633169736f366d703431".ToUpper(), hex);
}

/// <summary>
/// 使用doc/video/fragmented_demo.mp4
/// </summary>
@@ -47,7 +46,6 @@ namespace JT1078.FMp4.Test
var hex = writer.FlushAndGetArray().ToHexString();
Assert.Equal("0000006c6d766864000000000000000000000000000003e8000000000001000001000000000000000000000000010000000000000000000000000000000100000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002".ToUpper(), hex);
}

/// <summary>
/// 使用doc/video/fragmented_demo.mp4
/// </summary>
@@ -66,7 +64,6 @@ namespace JT1078.FMp4.Test
var hex = writer.FlushAndGetArray().ToHexString();
Assert.Equal("0000005C746B68640000000300000000000000000000000100000000000000000000000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000004000000000000220000003C0".ToUpper(), hex);
}

/// <summary>
/// 使用doc/video/fragmented_demo.mp4
/// </summary>
@@ -76,7 +73,6 @@ namespace JT1078.FMp4.Test


}

/// <summary>
/// 使用doc/video/fragmented_demo.mp4
/// </summary>
@@ -105,5 +101,70 @@ namespace JT1078.FMp4.Test
//0000
Assert.Equal("000000206d64686400000000000000000000000000124f800000000055c40000".ToUpper(), hex);
}
/// <summary>
/// 使用doc/video/fragmented_demo.mp4
/// </summary>
[Fact(DisplayName = "trak_mdia_hdlr")]
public void trak_mdia_hdlr_test()
{
HandlerBox handlerBox = new HandlerBox(0, 0);
handlerBox.HandlerType = Enums.HandlerType.vide;
handlerBox.Name = "VideoHandler";
FMp4MessagePackWriter writer = new MessagePack.FMp4MessagePackWriter(new byte[10240]);
handlerBox.ToBuffer(ref writer);
var hex = writer.FlushAndGetArray().ToHexString();
Assert.Equal("0000002C68646C72000000000000000076696465000000000000000000000000566964656F48616E646C6572".ToUpper(), hex);
}
/// <summary>
/// 使用doc/video/fragmented_demo.mp4
/// </summary>
[Fact(DisplayName = "trak_mdia_hdlr_minf")]
public void trak_mdia_hdlr_minf_test()
{
HandlerBox handlerBox = new HandlerBox(0, 0);
handlerBox.HandlerType = Enums.HandlerType.vide;
handlerBox.Name = "VideoHandler\0";
FMp4MessagePackWriter writer = new MessagePack.FMp4MessagePackWriter(new byte[10240]);
handlerBox.ToBuffer(ref writer);
var hex = writer.FlushAndGetArray().ToHexString();
Assert.Equal("0000002D68646C72000000000000000076696465000000000000000000000000566964656F48616E646C657200".ToUpper(), hex);
}
/// <summary>
/// 使用doc/video/fragmented_demo.mp4
/// </summary>
[Fact(DisplayName = "trak_mdia_hdlr_minf_vmhd")]
public void trak_mdia_hdlr_minf_vmhd_test()
{
VideoMediaHeaderBox videoMediaHeaderBox = new VideoMediaHeaderBox();
FMp4MessagePackWriter writer = new MessagePack.FMp4MessagePackWriter(new byte[10240]);
videoMediaHeaderBox.ToBuffer(ref writer);
var hex = writer.FlushAndGetArray().ToHexString();
Assert.Equal("00000014766d6864000000010000000000000000".ToUpper(), hex);
}
/// <summary>
/// 使用doc/video/fragmented_demo.mp4
/// </summary>
[Fact(DisplayName = "trak_mdia_hdlr_minf_dinf")]
public void trak_mdia_hdlr_minf_dinf_test()
{
DataInformationBox dataInformationBox = new DataInformationBox();
DataReferenceBox dataReferenceBox = new DataReferenceBox();
dataReferenceBox.DataEntryBoxes = new List<DataEntryBox>();
dataReferenceBox.DataEntryBoxes.Add(new DataEntryUrlBox(version: 0, flags: 1));
dataInformationBox.DataReferenceBox = dataReferenceBox;
FMp4MessagePackWriter writer = new MessagePack.FMp4MessagePackWriter(new byte[10240]);
dataInformationBox.ToBuffer(ref writer);
var hex = writer.FlushAndGetArray().ToHexString();
//0000002464696e660000001c6472656600000000000000010000000c75726c2000000001
Assert.Equal("0000002464696e660000001c6472656600000000000000010000000c75726c2000000001".ToUpper(), hex);
}
/// <summary>
/// 使用doc/video/fragmented_demo.mp4
/// </summary>
[Fact(DisplayName = "trak_mdia_hdlr_minf_stbl")]
public void trak_mdia_hdlr_minf_stbl_test()
{
}
}
}

+ 8
- 0
src/JT1078.FMp4/Boxs/MediaInformationBox.cs Parādīt failu

@@ -18,6 +18,10 @@ namespace JT1078.FMp4
{
}
/// <summary>
/// vmhd
/// </summary>
public VideoMediaHeaderBox VideoMediaHeaderBox { get; set; }
/// <summary>
/// dinf
/// </summary>
public DataInformationBox DataInformationBox { get; set; }
@@ -29,6 +33,10 @@ namespace JT1078.FMp4
public void ToBuffer(ref FMp4MessagePackWriter writer)
{
Start(ref writer);
if (VideoMediaHeaderBox != null)
{
VideoMediaHeaderBox.ToBuffer(ref writer);
}
DataInformationBox.ToBuffer(ref writer);
SampleTableBox.ToBuffer(ref writer);
End(ref writer);


+ 24
- 2
src/JT1078.FMp4/Boxs/VideoMediaHeaderBox.cs Parādīt failu

@@ -1,11 +1,21 @@
using System;
using JT1078.FMp4.Interfaces;
using JT1078.FMp4.MessagePack;
using System;
using System.Collections.Generic;
using System.Text;

namespace JT1078.FMp4
{
public class VideoMediaHeaderBox : FullBox
/// <summary>
/// vmhd
/// </summary>
public class VideoMediaHeaderBox : FullBox, IFMp4MessagePackFormatter
{
/// <summary>
/// vmhd
/// </summary>
/// <param name="version"></param>
/// <param name="flags"></param>
public VideoMediaHeaderBox(byte version = 0, uint flags = 1) : base("vmhd", version, flags)
{
}
@@ -23,5 +33,17 @@ namespace JT1078.FMp4
};
}
}

public void ToBuffer(ref FMp4MessagePackWriter writer)
{
Start(ref writer);
WriterFullBoxToBuffer(ref writer);
writer.WriteUInt16(GraphicsMode);
foreach(var item in OpColor)
{
writer.WriteUInt16(item);
}
End(ref writer);
}
}
}

+ 17
- 0
src/JT1078.FMp4/JT1078.FMp4.xml Parādīt failu

@@ -327,6 +327,11 @@
minf
</summary>
</member>
<member name="P:JT1078.FMp4.MediaInformationBox.VideoMediaHeaderBox">
<summary>
vmhd
</summary>
</member>
<member name="P:JT1078.FMp4.MediaInformationBox.DataInformationBox">
<summary>
dinf
@@ -912,6 +917,18 @@
<param name="version"></param>
<param name="flags"></param>
</member>
<member name="T:JT1078.FMp4.VideoMediaHeaderBox">
<summary>
vmhd
</summary>
</member>
<member name="M:JT1078.FMp4.VideoMediaHeaderBox.#ctor(System.Byte,System.UInt32)">
<summary>
vmhd
</summary>
<param name="version"></param>
<param name="flags"></param>
</member>
<member name="T:JT1078.FMp4.Buffers.FMp4BufferWriter">
<summary>
<see cref="!:System.Buffers.Writer"/>


Notiek ielāde…
Atcelt
Saglabāt