Commit 34d908c0 authored by Raffaele Sena's avatar Raffaele Sena Committed by Luca Barbato

rtmp: implement bandwidth notification

Improve compatibility with some servers.
Signed-off-by: 's avatarLuca Barbato <lu_zero@gentoo.org>
parent faba4a9b
......@@ -346,6 +346,21 @@ static void gen_pong(URLContext *s, RTMPContext *rt, RTMPPacket *ppkt)
ff_rtmp_packet_destroy(&pkt);
}
/**
* Generate server bandwidth message and send it to the server.
*/
static void gen_server_bw(URLContext *s, RTMPContext *rt)
{
RTMPPacket pkt;
uint8_t *p;
ff_rtmp_packet_create(&pkt, RTMP_NETWORK_CHANNEL, RTMP_PT_SERVER_BW, 0, 4);
p = pkt.data;
bytestream_put_be32(&p, 2500000);
ff_rtmp_packet_write(rt->stream, &pkt, rt->chunk_size, rt->prev_pkt[1]);
ff_rtmp_packet_destroy(&pkt);
}
/**
* Generate report on bytes read so far and send it to the server.
*/
......@@ -607,6 +622,7 @@ static int rtmp_parse_result(URLContext *s, RTMPContext *rt, RTMPPacket *pkt)
gen_fcpublish_stream(s, rt);
rt->state = STATE_RELEASING;
} else {
gen_server_bw(s, rt);
rt->state = STATE_CONNECTING;
}
gen_create_stream(s, rt);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment