This more closely corresponds to the usage of the field. While
the stream ID affects the channel selection in the Flash player,
its usage here is unrelated to the channel ID.
---
libavformat/rtmpproto.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index 3277a4c..81412a5 100644
--- a/libavformat/rtmpproto.c
+++ b/libavformat/rtmpproto.c
@@ -84,7 +84,7 @@ typedef struct RTMPContext {
char *app; ///< name of application
char *conn; ///< append arbitrary AMF data
to the Connect message
ClientState state; ///< current state
- int main_channel_id; ///< an additional channel ID
which is used for some invocations
+ int stream_id; ///< ID assigned by the server
for the stream
uint8_t* flv_data; ///< buffer with data for demuxer
int flv_size; ///< current buffer size
int flv_off; ///< number of bytes read from
current buffer
@@ -654,7 +654,7 @@ static int gen_delete_stream(URLContext *s, RTMPContext *rt)
ff_amf_write_string(&p, "deleteStream");
ff_amf_write_number(&p, ++rt->nb_invokes);
ff_amf_write_null(&p);
- ff_amf_write_number(&p, rt->main_channel_id);
+ ff_amf_write_number(&p, rt->stream_id);
return rtmp_send_packet(rt, &pkt, 0);
}
@@ -674,7 +674,7 @@ static int gen_buffer_time(URLContext *s, RTMPContext *rt)
p = pkt.data;
bytestream_put_be16(&p, 3);
- bytestream_put_be32(&p, rt->main_channel_id);
+ bytestream_put_be32(&p, rt->stream_id);
bytestream_put_be32(&p, rt->client_buffer_time);
return rtmp_send_packet(rt, &pkt, 0);
@@ -696,7 +696,7 @@ static int gen_play(URLContext *s, RTMPContext *rt)
0, 29 + strlen(rt->playpath))) < 0)
return ret;
- pkt.extra = rt->main_channel_id;
+ pkt.extra = rt->stream_id;
p = pkt.data;
ff_amf_write_string(&p, "play");
@@ -720,7 +720,7 @@ static int gen_seek(URLContext *s, RTMPContext *rt, int64_t
timestamp)
if ((ret = ff_rtmp_packet_create(&pkt, 3, RTMP_PT_INVOKE, 0, 26)) < 0)
return ret;
- pkt.extra = rt->main_channel_id;
+ pkt.extra = rt->stream_id;
p = pkt.data;
ff_amf_write_string(&p, "seek");
@@ -746,7 +746,7 @@ static int gen_publish(URLContext *s, RTMPContext *rt)
0, 30 + strlen(rt->playpath))) < 0)
return ret;
- pkt.extra = rt->main_channel_id;
+ pkt.extra = rt->stream_id;
p = pkt.data;
ff_amf_write_string(&p, "publish");
@@ -1942,7 +1942,7 @@ static int handle_invoke_result(URLContext *s, RTMPPacket
*pkt)
if (pkt->data[10] || pkt->data[19] != 5 || pkt->data[20]) {
av_log(s, AV_LOG_WARNING, "Unexpected reply on connect()\n");
} else {
- rt->main_channel_id = av_int2double(AV_RB64(pkt->data + 21));
+ rt->stream_id = av_int2double(AV_RB64(pkt->data + 21));
}
if (!rt->is_input) {
@@ -2628,7 +2628,7 @@ static int rtmp_write(URLContext *s, const uint8_t *buf,
int size)
pkttype, ts, pktsize)) < 0)
return ret;
- rt->out_pkt.extra = rt->main_channel_id;
+ rt->out_pkt.extra = rt->stream_id;
rt->flv_data = rt->out_pkt.data;
if (pkttype == RTMP_PT_NOTIFY)
--
1.7.9.5
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel