From 9b498148ca27fb59994522301da08afafb7d14fd Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Sat, 21 Jul 2012 12:59:49 +0200 Subject: [PATCH] rtmp: Factorize the code by adding handle_server_bw MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- libavformat/rtmpproto.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index e20aacbc6c..87bed0ee99 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -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? -- 2.11.0