소스 검색

remove fix length cache

tags/v1.1.0
yedajiang44 5 년 전
부모
커밋
de997a1a2e
2개의 변경된 파일6개의 추가작업 그리고 4개의 파일을 삭제
  1. +5
    -4
      src/JT1078.Flv/FlvEncoder.cs
  2. +1
    -0
      src/JT1078.Flv/JT1078.Flv.xml

+ 5
- 4
src/JT1078.Flv/FlvEncoder.cs 파일 보기

@@ -193,13 +193,14 @@ namespace JT1078.Flv
/// <summary>
/// 编码视频
/// </summary>
/// <remarks><paramref name="package"/>必须是组包后的数据</remarks>
/// <param name="package">1078包</param>
/// <param name="needVideoHeader">是否需要首帧视频</param>
/// <returns></returns>
public byte[] EncoderVideoTag(JT1078Package package, bool needVideoHeader = false)
{
if (package.Label3.DataType == JT1078DataType.音频帧) return default;
byte[] buffer = FlvArrayPool.Rent(65535);
byte[] buffer = FlvArrayPool.Rent(package.Bodies.Length);
FlvMessagePackWriter flvMessagePackWriter = new FlvMessagePackWriter(buffer);
var nalus = h264Decoder.ParseNALU(package);
if (nalus != null && nalus.Count > 0)
@@ -221,7 +222,7 @@ namespace JT1078.Flv
if (sps == null)
{
return null;
}
}
var rawData = h264Decoder.DiscardEmulationPreventionBytes(sps.RawData);
ExpGolombReader h264GolombReader = new ExpGolombReader(rawData);
SPSInfo spsInfo = h264GolombReader.ReadSPS();
@@ -289,7 +290,7 @@ namespace JT1078.Flv
/// <returns></returns>
public byte[] EncoderOtherVideoTag(H264NALU nALU)
{
byte[] buffer = FlvArrayPool.Rent(65535);
byte[] buffer = FlvArrayPool.Rent(nALU.RawData.Length);
try
{
FlvMessagePackWriter flvMessagePackWriter = new FlvMessagePackWriter(buffer);
@@ -340,7 +341,7 @@ namespace JT1078.Flv

byte[] EncoderAacAudioTag(uint timestamp, byte[] aacFrameData)
{
byte[] buffer = FlvArrayPool.Rent(65535);
byte[] buffer = FlvArrayPool.Rent(aacFrameData.Length);
try
{
FlvMessagePackWriter flvMessagePackWriter = new FlvMessagePackWriter(buffer);


+ 1
- 0
src/JT1078.Flv/JT1078.Flv.xml 파일 보기

@@ -266,6 +266,7 @@
<summary>
编码视频
</summary>
<remarks><paramref name="package"/>必须是组包后的数据</remarks>
<param name="package">1078包</param>
<param name="needVideoHeader">是否需要首帧视频</param>
<returns></returns>


불러오는 중...
취소
저장