From 0ffd5161c4f8610fa0133c50bfc19beab761f5c1 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Sat, 21 Jul 2012 12:59:51 +0200 Subject: [PATCH] rtmp: Factorize the code by adding handle_ping MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- libavformat/rtmpproto.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c index 15361570c2..31fa28bf8d 100644 --- a/libavformat/rtmpproto.c +++ b/libavformat/rtmpproto.c @@ -880,6 +880,20 @@ static int rtmp_handshake(URLContext *s, RTMPContext *rt) return 0; } +static int handle_ping(URLContext *s, RTMPPacket *pkt) +{ + RTMPContext *rt = s->priv_data; + int t, ret; + + t = AV_RB16(pkt->data); + if (t == 6) { + if ((ret = gen_pong(s, rt, pkt)) < 0) + return ret; + } + + return 0; +} + static int handle_client_bw(URLContext *s, RTMPPacket *pkt) { RTMPContext *rt = s->priv_data; @@ -946,10 +960,8 @@ static int rtmp_parse_result(URLContext *s, RTMPContext *rt, RTMPPacket *pkt) av_log(s, AV_LOG_DEBUG, "New chunk size = %d\n", rt->chunk_size); break; case RTMP_PT_PING: - t = AV_RB16(pkt->data); - if (t == 6) - if ((ret = gen_pong(s, rt, pkt)) < 0) - return ret; + if ((ret = handle_ping(s, pkt)) < 0) + return ret; break; case RTMP_PT_CLIENT_BW: if ((ret = handle_client_bw(s, pkt)) < 0)