Merge branch 'development' into LTS_development
# Conflicts: # src/output/output_rtmp.cpp
This commit is contained in:
commit
2374e64552
2 changed files with 9 additions and 4 deletions
|
@ -303,6 +303,9 @@ namespace Mist {
|
||||||
static bool multiWrong = false;
|
static bool multiWrong = false;
|
||||||
//Save the trackid of the track for easier access
|
//Save the trackid of the track for easier access
|
||||||
unsigned long tid = pack.getTrackId();
|
unsigned long tid = pack.getTrackId();
|
||||||
|
if (myMeta.live && pack.getTime() > 0xFFFF0000 && !myMeta.tracks[tid].lastms){
|
||||||
|
return;//ignore bullshit timestamps
|
||||||
|
}
|
||||||
if (myMeta.live && pack.getTime() < myMeta.tracks[tid].lastms){
|
if (myMeta.live && pack.getTime() < myMeta.tracks[tid].lastms){
|
||||||
DEBUG_MSG(multiWrong?DLVL_HIGH:DLVL_WARN, "Wrong order on track %lu ignored: %lu < %lu", tid, pack.getTime(), myMeta.tracks[tid].lastms);
|
DEBUG_MSG(multiWrong?DLVL_HIGH:DLVL_WARN, "Wrong order on track %lu ignored: %lu < %lu", tid, pack.getTime(), myMeta.tracks[tid].lastms);
|
||||||
multiWrong = true;
|
multiWrong = true;
|
||||||
|
|
|
@ -303,7 +303,7 @@ namespace Mist {
|
||||||
|
|
||||||
//If there are now more selectable tracks, select the new track and do a seek to the current timestamp
|
//If there are now more selectable tracks, select the new track and do a seek to the current timestamp
|
||||||
//Set sentHeader to false to force it to send init data
|
//Set sentHeader to false to force it to send init data
|
||||||
if (selectedTracks.size() < 2){
|
if (myMeta.live && selectedTracks.size() < 2){
|
||||||
static unsigned long long lastMeta = 0;
|
static unsigned long long lastMeta = 0;
|
||||||
if (Util::epoch() > lastMeta + 5){
|
if (Util::epoch() > lastMeta + 5){
|
||||||
lastMeta = Util::epoch();
|
lastMeta = Util::epoch();
|
||||||
|
@ -418,6 +418,7 @@ namespace Mist {
|
||||||
data_len += dheader_len;
|
data_len += dheader_len;
|
||||||
|
|
||||||
unsigned int timestamp = thisPacket.getTime() - rtmpOffset;
|
unsigned int timestamp = thisPacket.getTime() - rtmpOffset;
|
||||||
|
if (rtmpOffset > thisPacket.getTime()){timestamp = 0;}//make sure we don't go negative
|
||||||
|
|
||||||
bool allow_short = RTMPStream::lastsend.count(4);
|
bool allow_short = RTMPStream::lastsend.count(4);
|
||||||
RTMPStream::Chunk & prev = RTMPStream::lastsend[4];
|
RTMPStream::Chunk & prev = RTMPStream::lastsend[4];
|
||||||
|
@ -957,9 +958,10 @@ namespace Mist {
|
||||||
amfreply.getContentP(3)->addContent(AMF::Object("description", "Playing!"));
|
amfreply.getContentP(3)->addContent(AMF::Object("description", "Playing!"));
|
||||||
amfreply.getContentP(3)->addContent(AMF::Object("details", "DDV"));
|
amfreply.getContentP(3)->addContent(AMF::Object("details", "DDV"));
|
||||||
amfreply.getContentP(3)->addContent(AMF::Object("clientid", (double)1337));
|
amfreply.getContentP(3)->addContent(AMF::Object("clientid", (double)1337));
|
||||||
initialSeek();
|
if (myMeta.live){
|
||||||
rtmpOffset = currentTime();
|
rtmpOffset = currentTime();
|
||||||
amfreply.getContentP(3)->addContent(AMF::Object("timecodeOffset", (double)rtmpOffset));
|
amfreply.getContentP(3)->addContent(AMF::Object("timecodeOffset", (double)rtmpOffset));
|
||||||
|
}
|
||||||
sendCommand(amfreply, playMessageType, playStreamId);
|
sendCommand(amfreply, playMessageType, playStreamId);
|
||||||
RTMPStream::chunk_snd_max = 10240000; //10000KiB
|
RTMPStream::chunk_snd_max = 10240000; //10000KiB
|
||||||
myConn.SendNow(RTMPStream::SendCTL(1, RTMPStream::chunk_snd_max)); //send chunk size max (msg 1)
|
myConn.SendNow(RTMPStream::SendCTL(1, RTMPStream::chunk_snd_max)); //send chunk size max (msg 1)
|
||||||
|
|
Loading…
Add table
Reference in a new issue