You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1.4 KiB

  1. using JT1078.FMp4.MessagePack;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using Xunit;
  6. using JT1078.Protocol.Extensions;
  7. using JT1078.FMp4.Enums;
  8. namespace JT1078.FMp4.Test.Boxs
  9. {
  10. public class HandlerBox_Test
  11. {
  12. /// <summary>
  13. /// 使用doc/video/demo.mp4
  14. /// </summary>
  15. [Fact]
  16. public void Test1()
  17. {
  18. //00 00 00 35--box size
  19. //68 64 6c 72--box type hdlr
  20. //00--version
  21. //00 00 00--flags
  22. //00 00 00 00--pre_defined
  23. //73 6f 75 6e--handler_type
  24. //00 00 00 00--reserved3 - 1
  25. //00 00 00 00--reserved3 - 2
  26. //00 00 00 00--reserved3 - 3
  27. //42 65 6e 74 6f 34 20 53 6f 75 6e 64 20 48 61 6e 64 6c 65 72 00--Name
  28. HandlerBox handlerBox = new HandlerBox(version:0,flags:0);
  29. handlerBox.HandlerType = HandlerType.soun;
  30. handlerBox.Name = Encoding.UTF8.GetString("42 65 6e 74 6f 34 20 53 6f 75 6e 64 20 48 61 6e 64 6c 65 72 00".ToHexBytes());
  31. FMp4MessagePackWriter writer = new MessagePack.FMp4MessagePackWriter(new byte[0x35]);
  32. handlerBox.ToBuffer(ref writer);
  33. var hex = writer.FlushAndGetArray().ToHexString();
  34. Assert.Equal("0000003568646c720000000000000000736f756e00000000000000000000000042656e746f3420536f756e642048616e646c657200".ToUpper(), hex);
  35. }
  36. }
  37. }