mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-24 17:12:34 +02:00
avformat/rtmpproto: Fix 2 more cases of the 2nd packet size being wrong
This should fix RTMP input which was broken by cbbd906be6150be38dfc14b6bc67dcac8da8aea4 the 40 + 11 case is untested as it did not occur in the testcase Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
ac7b1f7423
commit
94d50b5d00
@ -2368,8 +2368,9 @@ static int handle_metadata(RTMPContext *rt, RTMPPacket *pkt)
|
|||||||
bytestream_put_be24(&p, ts);
|
bytestream_put_be24(&p, ts);
|
||||||
bytestream_put_byte(&p, ts >> 24);
|
bytestream_put_byte(&p, ts >> 24);
|
||||||
memcpy(p, next, size + 3 + 4);
|
memcpy(p, next, size + 3 + 4);
|
||||||
|
p += size + 3;
|
||||||
|
bytestream_put_be32(&p, size + 11);
|
||||||
next += size + 3 + 4;
|
next += size + 3 + 4;
|
||||||
p += size + 3 + 4;
|
|
||||||
}
|
}
|
||||||
if (p != rt->flv_data + rt->flv_size) {
|
if (p != rt->flv_data + rt->flv_size) {
|
||||||
av_log(NULL, AV_LOG_WARNING, "Incomplete flv packets in "
|
av_log(NULL, AV_LOG_WARNING, "Incomplete flv packets in "
|
||||||
@ -2559,7 +2560,7 @@ static int inject_fake_duration_metadata(RTMPContext *rt)
|
|||||||
// Finalise object
|
// Finalise object
|
||||||
bytestream_put_be16(&p, 0); // Empty string
|
bytestream_put_be16(&p, 0); // Empty string
|
||||||
bytestream_put_byte(&p, AMF_END_OF_OBJECT);
|
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 + 11); // size of data part (sum of all parts below)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user