mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-27 05:00:37 +00:00
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: Luca Barbato <lu_zero@gentoo.org>
This commit is contained in:
parent
6a23a34274
commit
e55376a1fd
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user