Skip to content
Snippets Groups Projects
Commit e55376a1 authored by Michael Niedermayer's avatar Michael Niedermayer Committed by Luca Barbato
Browse files

rtmpproto: Write correct flv packet sizes at the end of packets


In one case it was written as zero, one case left it uninitialized,
missed the 11 bytes for the flv header.

Signed-off-by: default avatarLuca Barbato <lu_zero@gentoo.org>
parent 6a23a342
No related branches found
No related tags found
No related merge requests found
......@@ -2213,7 +2213,7 @@ static int append_flv_data(RTMPContext *rt, RTMPPacket *pkt, int skip)
bytestream2_put_byte(&pbc, ts >> 24);
bytestream2_put_be24(&pbc, 0);
bytestream2_put_buffer(&pbc, data, size);
bytestream2_put_be32(&pbc, 0);
bytestream2_put_be32(&pbc, size + RTMP_HEADER);
return 0;
}
......@@ -2363,8 +2363,9 @@ static int handle_metadata(RTMPContext *rt, RTMPPacket *pkt)
bytestream_put_be24(&p, ts);
bytestream_put_byte(&p, ts >> 24);
memcpy(p, next, size + 3 + 4);
p += size + 3;
bytestream_put_be32(&p, size + RTMP_HEADER);
next += size + 3 + 4;
p += size + 3 + 4;
}
if (p != rt->flv_data + rt->flv_size) {
av_log(NULL, AV_LOG_WARNING, "Incomplete flv packets in "
......@@ -2554,7 +2555,7 @@ static int inject_fake_duration_metadata(RTMPContext *rt)
// Finalise object
bytestream_put_be16(&p, 0); // Empty string
bytestream_put_byte(&p, AMF_END_OF_OBJECT);
bytestream_put_be32(&p, 40); // size of data part (sum of all parts below)
bytestream_put_be32(&p, 40 + RTMP_HEADER); // size of data part (sum of all parts above)
return 0;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment