mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
rtmp: Factorize the code by adding handle_server_bw
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
758377a2b7
commit
9b498148ca
@ -880,6 +880,21 @@ static int rtmp_handshake(URLContext *s, RTMPContext *rt)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int handle_server_bw(URLContext *s, RTMPPacket *pkt)
|
||||
{
|
||||
RTMPContext *rt = s->priv_data;
|
||||
|
||||
rt->server_bw = AV_RB32(pkt->data);
|
||||
if (rt->server_bw <= 0) {
|
||||
av_log(s, AV_LOG_ERROR, "Incorrect server bandwidth %d\n",
|
||||
rt->server_bw);
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
av_log(s, AV_LOG_DEBUG, "Server bandwidth = %d\n", rt->server_bw);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse received packet and possibly perform some action depending on
|
||||
* the packet contents.
|
||||
@ -931,12 +946,8 @@ static int rtmp_parse_result(URLContext *s, RTMPContext *rt, RTMPPacket *pkt)
|
||||
rt->client_report_size = AV_RB32(pkt->data) >> 1;
|
||||
break;
|
||||
case RTMP_PT_SERVER_BW:
|
||||
rt->server_bw = AV_RB32(pkt->data);
|
||||
if (rt->server_bw <= 0) {
|
||||
av_log(s, AV_LOG_ERROR, "Incorrect server bandwidth %d\n", rt->server_bw);
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
av_log(s, AV_LOG_DEBUG, "Server bandwidth = %d\n", rt->server_bw);
|
||||
if ((ret = handle_server_bw(s, pkt)) < 0)
|
||||
return ret;
|
||||
break;
|
||||
case RTMP_PT_INVOKE:
|
||||
//TODO: check for the messages sent for wrong state?
|
||||
|
Loading…
Reference in New Issue
Block a user