Fixed RTMP pausing bug.
This commit is contained in:
parent
c21287fe60
commit
52f148cee5
2 changed files with 2 additions and 7 deletions
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Add table
Reference in a new issue