obs-outputs: Don't assume @setDataFrame

Don't assume @setDataFrame when using an info packet.  I'm guessing
librtmp did this because the only time this packet type was normally
used was when you use onMetaData.
This commit is contained in:
jp9000 2020-08-16 01:46:02 -07:00
parent 27169f0d2e
commit 746a522986
2 changed files with 1 additions and 7 deletions

View File

@ -73,6 +73,7 @@ static bool build_flv_meta_data(obs_output_t *context, uint8_t **output,
if (a_idx > 0 && !aencoder)
return false;
enc_str(&enc, end, "@setDataFrame");
enc_str(&enc, end, "onMetaData");
*enc++ = AMF_ECMA_ARRAY;

View File

@ -5319,8 +5319,6 @@ RTMP_Write(RTMP *r, const char *buf, int size, int streamIdx)
!pkt->m_nTimeStamp) || pkt->m_packetType == RTMP_PACKET_TYPE_INFO)
{
pkt->m_headerType = RTMP_PACKET_SIZE_LARGE;
if (pkt->m_packetType == RTMP_PACKET_TYPE_INFO)
pkt->m_nBodySize += 16;
}
else
{
@ -5334,11 +5332,6 @@ RTMP_Write(RTMP *r, const char *buf, int size, int streamIdx)
}
enc = pkt->m_body;
pend = enc + pkt->m_nBodySize;
if (pkt->m_packetType == RTMP_PACKET_TYPE_INFO)
{
enc = AMF_EncodeString(enc, pend, &av_setDataFrame);
pkt->m_nBytesRead = enc - pkt->m_body;
}
}
else
{