ソースを参照

Merge pull request #7 from yedajiang44/master

写入AudioTag
tags/v1.1.0
SmallChi(Koike) 5年前
committed by GitHub
コミット
474236055a
この署名に対応する既知のキーがデータベースに存在しません GPGキーID: 4AEE18F83AFDEB23
1個のファイルの変更14行の追加9行の削除
  1. +14
    -9
      src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Flv.cs

+ 14
- 9
src/JT1078.Flv/MessagePack/FlvMessagePackWriter_Flv.cs ファイルの表示

@@ -18,6 +18,9 @@ namespace JT1078.Flv.MessagePack
WriteUInt24(tag.StreamId);
switch (tag.Type)
{
case TagType.Audio:
WriteAudioTags(tag.AudioTagsData);
break;
case TagType.Video:
//VideoTag
WriteVideoTags(tag.VideoTagsData);
@@ -29,11 +32,8 @@ namespace JT1078.Flv.MessagePack
//flv Amf3
WriteAmf3(tag.DataTagsData);
break;
case TagType.Audio:
//todo:VIDEODATA
break;
}
tag.DataSize = GetCurrentPosition() - 11;
tag.DataSize = (GetCurrentPosition() - DataSizePosition - 3 - 7);
WriteInt24Return(tag.DataSize, DataSizePosition);
}

@@ -57,28 +57,33 @@ namespace JT1078.Flv.MessagePack
public void WriteVideoTags(VideoTags videoTags)
{
WriteByte((byte)((byte)videoTags.FrameType | (byte)videoTags.CodecId));
if (videoTags.CodecId== CodecId.AvcVideoPacke)
if (videoTags.CodecId == CodecId.AvcVideoPacke)
{
WriteAvcVideoPacke(videoTags.VideoData);
}
}

public void WriteAudioTags(AudioTags audioTags)
{
WriteArray(audioTags.ToArray());
}

public void WriteAvcVideoPacke(AvcVideoPacke videoPacke)
{
WriteByte((byte)videoPacke.AvcPacketType);
if (videoPacke.AvcPacketType== AvcPacketType.SequenceHeader)
if (videoPacke.AvcPacketType == AvcPacketType.SequenceHeader)
{
//videoPacke.CompositionTime = 0;
WriteUInt24(0);
//AVCDecoderConfigurationRecord
WriteAVCDecoderConfigurationRecord(videoPacke.AVCDecoderConfiguration);
}
else if(videoPacke.AvcPacketType == AvcPacketType.Raw)
else if (videoPacke.AvcPacketType == AvcPacketType.Raw)
{
WriteUInt24(videoPacke.CompositionTime);
if (videoPacke.MultiData != null && videoPacke.MultiData.Count>0)
if (videoPacke.MultiData != null && videoPacke.MultiData.Count > 0)
{
foreach(var item in videoPacke.MultiData)
foreach (var item in videoPacke.MultiData)
{
WriteInt32(item.Length);
WriteArray(item);


読み込み中…
キャンセル
保存