Fixed RTMP pausing bug.

This commit is contained in:
Thulinma 2014-05-01 15:57:53 +02:00
parent c21287fe60
commit 52f148cee5
2 changed files with 2 additions and 7 deletions

View file

@ -7,9 +7,6 @@
namespace Mist { namespace Mist {
OutRTMP::OutRTMP(Socket::Connection & conn) : Output(conn) { OutRTMP::OutRTMP(Socket::Connection & conn) : Output(conn) {
playTransaction = -1;
playMessageType = -1;
playStreamId = -1;
setBlocking(false); setBlocking(false);
while (!conn.Received().available(1537) && conn.connected()) { while (!conn.Received().available(1537) && conn.connected()) {
conn.spool(); conn.spool();
@ -549,6 +546,8 @@ namespace Mist {
return; return;
} //seek } //seek
if ((amfData.getContentP(0)->StrValue() == "pauseRaw") || (amfData.getContentP(0)->StrValue() == "pause")) { if ((amfData.getContentP(0)->StrValue() == "pauseRaw") || (amfData.getContentP(0)->StrValue() == "pause")) {
int playMessageType = messageType;
int playStreamId = streamId;
if (amfData.getContentP(3)->NumValue()) { if (amfData.getContentP(3)->NumValue()) {
parseData = false; parseData = false;
//send a status reply //send a status reply

View file

@ -21,7 +21,6 @@ namespace Mist {
OutRTMP(Socket::Connection & conn); OutRTMP(Socket::Connection & conn);
~OutRTMP(); ~OutRTMP();
static void init(Util::Config * cfg); static void init(Util::Config * cfg);
void onRequest(); void onRequest();
void sendNext(); void sendNext();
void sendHeader(); void sendHeader();
@ -33,9 +32,6 @@ namespace Mist {
bool sending; bool sending;
int counter; int counter;
bool streamReset; bool streamReset;
int playTransaction;///<The transaction number of the reply.
int playStreamId;///<The stream id of the reply.
int playMessageType;///<The message type of the reply.
void parseChunk(Socket::Buffer & inputBuffer); void parseChunk(Socket::Buffer & inputBuffer);
void parseAMFCommand(AMF::Object & amfData, int messageType, int streamId); void parseAMFCommand(AMF::Object & amfData, int messageType, int streamId);
void sendCommand(AMF::Object & amfReply, int messageType, int streamId); void sendCommand(AMF::Object & amfReply, int messageType, int streamId);