Remove second streambegin from RTMP server, attempted fixes in SendUSR/SendCTL RTMP chunking functions

This commit is contained in:
Thulinma 2011-08-21 17:27:38 +02:00
parent 85a4ed5d8c
commit d6f8dfa24e

View file

@ -162,7 +162,7 @@ std::string RTMPStream::SendChunk(unsigned int cs_id, unsigned char msg_type_id,
/// \param ts Timestamp of the media data, relative to current system time. /// \param ts Timestamp of the media data, relative to current system time.
std::string RTMPStream::SendMedia(unsigned char msg_type_id, unsigned char * data, int len, unsigned int ts){ std::string RTMPStream::SendMedia(unsigned char msg_type_id, unsigned char * data, int len, unsigned int ts){
RTMPStream::Chunk ch; RTMPStream::Chunk ch;
ch.cs_id = msg_type_id; ch.cs_id = msg_type_id+42;
ch.timestamp = ts; ch.timestamp = ts;
ch.len = len; ch.len = len;
ch.real_len = len; ch.real_len = len;
@ -199,7 +199,7 @@ std::string RTMPStream::SendCTL(unsigned char type, unsigned int data, unsigned
ch.msg_type_id = type; ch.msg_type_id = type;
ch.msg_stream_id = 0; ch.msg_stream_id = 0;
ch.data.resize(5); ch.data.resize(5);
*(int*)((char*)ch.data.c_str()) = htonl(data); *(unsigned int*)((char*)ch.data.c_str()) = htonl(data);
ch.data[4] = data2; ch.data[4] = data2;
return ch.Pack(); return ch.Pack();
}//SendCTL }//SendCTL
@ -215,7 +215,7 @@ std::string RTMPStream::SendUSR(unsigned char type, unsigned int data){
ch.msg_type_id = 4; ch.msg_type_id = 4;
ch.msg_stream_id = 0; ch.msg_stream_id = 0;
ch.data.resize(6); ch.data.resize(6);
*(int*)((char*)ch.data.c_str()+2) = htonl(data); *(unsigned int*)((char*)ch.data.c_str()+2) = htonl(data);
ch.data[0] = 0; ch.data[0] = 0;
ch.data[1] = type; ch.data[1] = type;
return ch.Pack(); return ch.Pack();
@ -232,8 +232,8 @@ std::string RTMPStream::SendUSR(unsigned char type, unsigned int data, unsigned
ch.msg_type_id = 4; ch.msg_type_id = 4;
ch.msg_stream_id = 0; ch.msg_stream_id = 0;
ch.data.resize(10); ch.data.resize(10);
*(int*)((char*)ch.data.c_str()+2) = htonl(data); *(unsigned int*)((char*)ch.data.c_str()+2) = htonl(data);
*(int*)((char*)ch.data.c_str()+6) = htonl(data2); *(unsigned int*)((char*)ch.data.c_str()+6) = htonl(data2);
ch.data[0] = 0; ch.data[0] = 0;
ch.data[1] = type; ch.data[1] = type;
return ch.Pack(); return ch.Pack();