Fixed some RTMP/FLV library problems.

This commit is contained in:
Thulinma 2013-12-05 13:33:36 +01:00
parent de617db74a
commit ac84e8824b

View file

@ -637,19 +637,26 @@ namespace Connector_RTMP {
//sent init data if needed //sent init data if needed
if ( !streamInited){ if ( !streamInited){
init_tag.DTSCMetaInit(Strm, Strm.metadata.tracks[videoID], Strm.metadata.tracks[audioID]); init_tag.DTSCMetaInit(Strm, Strm.metadata.tracks[videoID], Strm.metadata.tracks[audioID]);
if (init_tag.len){
Socket.SendNow(RTMPStream::SendMedia(init_tag)); Socket.SendNow(RTMPStream::SendMedia(init_tag));
}
if (audioID != -1){ if (audioID != -1){
init_tag.DTSCAudioInit(Strm.metadata.tracks[audioID]); init_tag.DTSCAudioInit(Strm.metadata.tracks[audioID]);
if (init_tag.len){
Socket.SendNow(RTMPStream::SendMedia(init_tag)); Socket.SendNow(RTMPStream::SendMedia(init_tag));
} }
}
if (videoID != -1){ if (videoID != -1){
init_tag.DTSCVideoInit(Strm.metadata.tracks[videoID]); init_tag.DTSCVideoInit(Strm.metadata.tracks[videoID]);
if (init_tag.len){
Socket.SendNow(RTMPStream::SendMedia(init_tag)); Socket.SendNow(RTMPStream::SendMedia(init_tag));
} }
}
streamInited = true; streamInited = true;
} }
//sent a tag //sent a tag
if (tag.DTSCLoader(Strm)){ if (tag.DTSCLoader(Strm)){
if (tag.len){
Socket.SendNow(RTMPStream::SendMedia(tag)); Socket.SendNow(RTMPStream::SendMedia(tag));
#if DEBUG >= 8 #if DEBUG >= 8
fprintf(stderr, "Sent tag to %i: [%u] %s\n", Socket.getSocket(), tag.tagTime(), tag.tagType().c_str()); fprintf(stderr, "Sent tag to %i: [%u] %s\n", Socket.getSocket(), tag.tagTime(), tag.tagType().c_str());
@ -659,6 +666,7 @@ namespace Connector_RTMP {
} }
} }
} }
}
Socket.close(); Socket.close();
ss.SendNow(Socket.getStats("RTMP").c_str()); ss.SendNow(Socket.getStats("RTMP").c_str());
ss.close(); ss.close();