From ff1c93e55fff3e162e2599c1f61ca683f504439f Mon Sep 17 00:00:00 2001
From: Stephan Soller <stephan.soller@helionweb.de>
Date: Sun, 13 Apr 2014 01:06:22 +0200
Subject: [PATCH] avformat/rtmpproto: Added handling of an initial RTMP chunk
size packet.
Fixes ticket #2911.
---
libavformat/rtmpproto.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index 9a80c2f..9c62164 100644
|
a
|
b
|
static int read_connect(URLContext *s, RTMPContext *rt)
|
| 408 | 408 | if ((ret = ff_rtmp_packet_read(rt->stream, &pkt, rt->in_chunk_size, |
| 409 | 409 | &rt->prev_pkt[0], &rt->nb_prev_pkt[0])) < 0) |
| 410 | 410 | return ret; |
| | 411 | |
| | 412 | if (pkt.type == RTMP_PT_CHUNK_SIZE) { |
| | 413 | cp = pkt.data; |
| | 414 | rt->in_chunk_size = bytestream_get_be32(&cp); |
| | 415 | |
| | 416 | ff_rtmp_packet_destroy(&pkt); |
| | 417 | if ((ret = ff_rtmp_packet_read(rt->stream, &pkt, rt->in_chunk_size, |
| | 418 | &rt->prev_pkt[0], &rt->nb_prev_pkt[0])) < 0) |
| | 419 | return ret; |
| | 420 | } |
| | 421 | |
| 411 | 422 | cp = pkt.data; |
| 412 | 423 | bytestream2_init(&gbc, cp, pkt.size); |
| 413 | 424 | if (ff_amf_read_string(&gbc, command, sizeof(command), &stringlen)) { |