Commit edf2823f authored by kostya's avatar kostya

Support more than 64 channels in RTMP input

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@20270 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent c308f327
......@@ -81,6 +81,12 @@ int ff_rtmp_packet_read(URLContext *h, RTMPPacket *p,
return AVERROR(EIO);
channel_id = hdr & 0x3F;
if (channel_id < 2) { //special case for channel number >= 64
buf[1] = 0;
if (url_read_complete(h, buf, channel_id + 1) != channel_id + 1)
return AVERROR(EIO);
channel_id = AV_RL16(buf) + 64;
}
data_size = prev_pkt[channel_id].data_size;
type = prev_pkt[channel_id].type;
extra = prev_pkt[channel_id].extra;
......
......@@ -25,7 +25,7 @@
#include "avformat.h"
/** maximum possible number of different RTMP channels */
#define RTMP_CHANNELS 64
#define RTMP_CHANNELS 65599
/**
* channels used to for RTMP packets with different purposes (i.e. data, network
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment