mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
refine RTMP protocol completed, to 0.9.81
This commit is contained in:
parent
be4c182d11
commit
80ddddf823
20 changed files with 343 additions and 353 deletions
|
@ -472,8 +472,8 @@ int SrsRtmpConn::playing(SrsSource* source)
|
|||
// read from client.
|
||||
int ctl_msg_ret = ERROR_SUCCESS;
|
||||
if (true) {
|
||||
__SrsMessage* msg = NULL;
|
||||
ctl_msg_ret = ret = rtmp->__recv_message(&msg);
|
||||
SrsMessage* msg = NULL;
|
||||
ctl_msg_ret = ret = rtmp->recv_message(&msg);
|
||||
|
||||
srs_verbose("play loop recv message. ret=%d", ret);
|
||||
if (ret != ERROR_SUCCESS && ret != ERROR_SOCKET_TIMEOUT) {
|
||||
|
@ -491,7 +491,7 @@ int SrsRtmpConn::playing(SrsSource* source)
|
|||
}
|
||||
|
||||
// get messages from consumer.
|
||||
__SrsSharedPtrMessage** msgs = NULL;
|
||||
SrsSharedPtrMessage** msgs = NULL;
|
||||
int count = 0;
|
||||
if ((ret = consumer->get_packets(0, msgs, count)) != ERROR_SUCCESS) {
|
||||
srs_error("get messages from consumer failed. ret=%d", ret);
|
||||
|
@ -510,11 +510,11 @@ int SrsRtmpConn::playing(SrsSource* source)
|
|||
srs_verbose("no packets in queue.");
|
||||
continue;
|
||||
}
|
||||
SrsAutoFree(__SrsSharedPtrMessage*, msgs, true);
|
||||
SrsAutoFree(SrsSharedPtrMessage*, msgs, true);
|
||||
|
||||
// sendout messages
|
||||
for (int i = 0; i < count; i++) {
|
||||
__SrsSharedPtrMessage* msg = msgs[i];
|
||||
SrsSharedPtrMessage* msg = msgs[i];
|
||||
|
||||
// the send_message will free the msg,
|
||||
// so set the msgs[i] to NULL.
|
||||
|
@ -530,7 +530,7 @@ int SrsRtmpConn::playing(SrsSource* source)
|
|||
duration += msg->header.timestamp - starttime;
|
||||
starttime = msg->header.timestamp;
|
||||
|
||||
if ((ret = rtmp->__send_and_free_message(msg)) != ERROR_SUCCESS) {
|
||||
if ((ret = rtmp->send_and_free_message(msg)) != ERROR_SUCCESS) {
|
||||
srs_error("send message to client failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -573,13 +573,13 @@ int SrsRtmpConn::fmle_publish(SrsSource* source)
|
|||
// switch to other st-threads.
|
||||
st_usleep(0);
|
||||
|
||||
__SrsMessage* msg = NULL;
|
||||
if ((ret = rtmp->__recv_message(&msg)) != ERROR_SUCCESS) {
|
||||
SrsMessage* msg = NULL;
|
||||
if ((ret = rtmp->recv_message(&msg)) != ERROR_SUCCESS) {
|
||||
srs_error("fmle recv identify client message failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
SrsAutoFree(__SrsMessage, msg, false);
|
||||
SrsAutoFree(SrsMessage, msg, false);
|
||||
|
||||
pithy_print.elapse();
|
||||
|
||||
|
@ -594,7 +594,7 @@ int SrsRtmpConn::fmle_publish(SrsSource* source)
|
|||
// process UnPublish event.
|
||||
if (msg->header.is_amf0_command() || msg->header.is_amf3_command()) {
|
||||
SrsPacket* pkt = NULL;
|
||||
if ((ret = rtmp->__decode_message(msg, &pkt)) != ERROR_SUCCESS) {
|
||||
if ((ret = rtmp->decode_message(msg, &pkt)) != ERROR_SUCCESS) {
|
||||
srs_error("fmle decode unpublish message failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -648,15 +648,15 @@ int SrsRtmpConn::flash_publish(SrsSource* source)
|
|||
// switch to other st-threads.
|
||||
st_usleep(0);
|
||||
|
||||
__SrsMessage* msg = NULL;
|
||||
if ((ret = rtmp->__recv_message(&msg)) != ERROR_SUCCESS) {
|
||||
SrsMessage* msg = NULL;
|
||||
if ((ret = rtmp->recv_message(&msg)) != ERROR_SUCCESS) {
|
||||
if (!srs_is_client_gracefully_close(ret)) {
|
||||
srs_error("flash recv identify client message failed. ret=%d", ret);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
SrsAutoFree(__SrsMessage, msg, false);
|
||||
SrsAutoFree(SrsMessage, msg, false);
|
||||
|
||||
pithy_print.elapse();
|
||||
|
||||
|
@ -671,7 +671,7 @@ int SrsRtmpConn::flash_publish(SrsSource* source)
|
|||
// process UnPublish event.
|
||||
if (msg->header.is_amf0_command() || msg->header.is_amf3_command()) {
|
||||
SrsPacket* pkt = NULL;
|
||||
if ((ret = rtmp->__decode_message(msg, &pkt)) != ERROR_SUCCESS) {
|
||||
if ((ret = rtmp->decode_message(msg, &pkt)) != ERROR_SUCCESS) {
|
||||
srs_error("flash decode unpublish message failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -694,7 +694,7 @@ int SrsRtmpConn::flash_publish(SrsSource* source)
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsRtmpConn::process_publish_message(SrsSource* source, __SrsMessage* msg, bool vhost_is_edge)
|
||||
int SrsRtmpConn::process_publish_message(SrsSource* source, SrsMessage* msg, bool vhost_is_edge)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -727,7 +727,7 @@ int SrsRtmpConn::process_publish_message(SrsSource* source, __SrsMessage* msg, b
|
|||
// process onMetaData
|
||||
if (msg->header.is_amf0_data() || msg->header.is_amf3_data()) {
|
||||
SrsPacket* pkt = NULL;
|
||||
if ((ret = rtmp->__decode_message(msg, &pkt)) != ERROR_SUCCESS) {
|
||||
if ((ret = rtmp->decode_message(msg, &pkt)) != ERROR_SUCCESS) {
|
||||
srs_error("decode onMetaData message failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -750,7 +750,7 @@ int SrsRtmpConn::process_publish_message(SrsSource* source, __SrsMessage* msg, b
|
|||
return ret;
|
||||
}
|
||||
|
||||
int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, __SrsMessage* msg)
|
||||
int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, SrsMessage* msg)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -758,7 +758,7 @@ int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, __SrsMessage* m
|
|||
srs_verbose("ignore all empty message.");
|
||||
return ret;
|
||||
}
|
||||
SrsAutoFree(__SrsMessage, msg, false);
|
||||
SrsAutoFree(SrsMessage, msg, false);
|
||||
|
||||
if (!msg->header.is_amf0_command() && !msg->header.is_amf3_command()) {
|
||||
srs_info("ignore all message except amf0/amf3 command.");
|
||||
|
@ -766,7 +766,7 @@ int SrsRtmpConn::process_play_control_msg(SrsConsumer* consumer, __SrsMessage* m
|
|||
}
|
||||
|
||||
SrsPacket* pkt = NULL;
|
||||
if ((ret = rtmp->__decode_message(msg, &pkt)) != ERROR_SUCCESS) {
|
||||
if ((ret = rtmp->decode_message(msg, &pkt)) != ERROR_SUCCESS) {
|
||||
srs_error("decode the amf0/amf3 command packet failed. ret=%d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue