diff options
author | Samuel Pitoiset <samuel.pitoiset@gmail.com> | 2012-07-21 14:59:50 +0400 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2012-07-25 22:08:18 +0400 |
commit | 912ecc9a19c3074d023ceba4815c0d0bde3697e0 (patch) | |
tree | aefc176e39e129a544ae63cc73b1fae0d81657e1 /libavformat | |
parent | 9b498148ca27fb59994522301da08afafb7d14fd (diff) |
rtmp: Factorize the code by adding handle_client_bw
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/rtmpproto.c | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index 87bed0ee99..15361570c2 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -880,6 +880,22 @@ static int rtmp_handshake(URLContext *s, RTMPContext *rt) return 0; } +static int handle_client_bw(URLContext *s, RTMPPacket *pkt) +{ + RTMPContext *rt = s->priv_data; + + if (pkt->data_size < 4) { + av_log(s, AV_LOG_ERROR, + "Client bandwidth report packet is less than 4 bytes long (%d)\n", + pkt->data_size); + return -1; + } + av_log(s, AV_LOG_DEBUG, "Client bandwidth = %d\n", AV_RB32(pkt->data)); + rt->client_report_size = AV_RB32(pkt->data) >> 1; + + return 0; +} + static int handle_server_bw(URLContext *s, RTMPPacket *pkt) { RTMPContext *rt = s->priv_data; @@ -936,14 +952,8 @@ static int rtmp_parse_result(URLContext *s, RTMPContext *rt, RTMPPacket *pkt) return ret; break; case RTMP_PT_CLIENT_BW: - if (pkt->data_size < 4) { - av_log(s, AV_LOG_ERROR, - "Client bandwidth report packet is less than 4 bytes long (%d)\n", - pkt->data_size); - return -1; - } - av_log(s, AV_LOG_DEBUG, "Client bandwidth = %d\n", AV_RB32(pkt->data)); - rt->client_report_size = AV_RB32(pkt->data) >> 1; + if ((ret = handle_client_bw(s, pkt)) < 0) + return ret; break; case RTMP_PT_SERVER_BW: if ((ret = handle_server_bw(s, pkt)) < 0) |