Commit c71541d4 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '120af23c'

* commit '120af23c':
  rtmp: Send video on a separate channel.
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 3f760214 120af23c
...@@ -2638,6 +2638,7 @@ static int rtmp_write(URLContext *s, const uint8_t *buf, int size) ...@@ -2638,6 +2638,7 @@ static int rtmp_write(URLContext *s, const uint8_t *buf, int size)
if (rt->flv_header_bytes < 11) { if (rt->flv_header_bytes < 11) {
const uint8_t *header = rt->flv_header; const uint8_t *header = rt->flv_header;
int copy = FFMIN(11 - rt->flv_header_bytes, size_temp); int copy = FFMIN(11 - rt->flv_header_bytes, size_temp);
int channel = RTMP_SOURCE_CHANNEL;
bytestream_get_buffer(&buf_temp, rt->flv_header + rt->flv_header_bytes, copy); bytestream_get_buffer(&buf_temp, rt->flv_header + rt->flv_header_bytes, copy);
rt->flv_header_bytes += copy; rt->flv_header_bytes += copy;
size_temp -= copy; size_temp -= copy;
...@@ -2651,16 +2652,19 @@ static int rtmp_write(URLContext *s, const uint8_t *buf, int size) ...@@ -2651,16 +2652,19 @@ static int rtmp_write(URLContext *s, const uint8_t *buf, int size)
bytestream_get_be24(&header); bytestream_get_be24(&header);
rt->flv_size = pktsize; rt->flv_size = pktsize;
if (pkttype == RTMP_PT_VIDEO)
channel = RTMP_VIDEO_CHANNEL;
//force 12bytes header //force 12bytes header
if (((pkttype == RTMP_PT_VIDEO || pkttype == RTMP_PT_AUDIO) && ts == 0) || if (((pkttype == RTMP_PT_VIDEO || pkttype == RTMP_PT_AUDIO) && ts == 0) ||
pkttype == RTMP_PT_NOTIFY) { pkttype == RTMP_PT_NOTIFY) {
if (pkttype == RTMP_PT_NOTIFY) if (pkttype == RTMP_PT_NOTIFY)
pktsize += 16; pktsize += 16;
rt->prev_pkt[1][RTMP_SOURCE_CHANNEL].channel_id = 0; rt->prev_pkt[1][channel].channel_id = 0;
} }
//this can be a big packet, it's better to send it right here //this can be a big packet, it's better to send it right here
if ((ret = ff_rtmp_packet_create(&rt->out_pkt, RTMP_SOURCE_CHANNEL, if ((ret = ff_rtmp_packet_create(&rt->out_pkt, channel,
pkttype, ts, pktsize)) < 0) pkttype, ts, pktsize)) < 0)
return ret; return ret;
......
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