Beispiel #1
0
void AtomURL::SerializeToBuffer(IOBuffer& data, uint32_t maxFrames) {
  uint32_t start=GETAVAILABLEBYTESCOUNT(data);
  VersionedAtom::SerializeToBuffer(data, maxFrames);
  data.ReadFromString(_location);
  _size=GETAVAILABLEBYTESCOUNT(data)-start;
  *(uint32_t*)(GETIBPOINTER(data)+start) = endianSwap32(_size);
}
Beispiel #2
0
bool AMF0Serializer::WriteShortString(IOBuffer &buffer, string &value, bool writeType) {
	if (writeType)
		buffer.ReadFromRepeat(AMF0_SHORT_STRING, 1);

	uint16_t length = EHTONS((uint16_t) value.length()); //----MARKED-SHORT----

	buffer.ReadFromBuffer((uint8_t *) & length, 2);
	buffer.ReadFromString(value);

	return true;
}
Beispiel #3
0
bool AMF0Serializer::WriteLongString(IOBuffer &buffer, string &value, bool writeType) {
	if (writeType)
		buffer.ReadFromRepeat(AMF0_LONG_STRING, 1);

	uint32_t length = EHTONL((uint32_t) value.length());

	buffer.ReadFromBuffer((uint8_t *) & length, 4);
	buffer.ReadFromString(value);

	return true;
}
Beispiel #4
0
void MP44HTTPStream::SignalAttachedToInStream() {

  //INFO("http mjpg stream attached");
 // _pAVProtocol->SendHttpResponseHeader(206, _fileSize, offset);
#if 0
  IOBuffer *pBuffer = _pAVProtocol->GetProtocolOutputBuffer();
  _pAVProtocol->SetStatusCode(206);
  pBuffer->ReadFromString(format("%s\r\n", STR(_pAVProtocol->GetOutputFirstLine())));
  pBuffer->ReadFromString(HTTP_HEADERS_SERVER": "HTTP_HEADERS_SERVER_US"\r\n");
  pBuffer->ReadFromString(HTTP_HEADERS_X_POWERED_BY": "HTTP_HEADERS_X_POWERED_BY_US"\r\n");
  pBuffer->ReadFromString(HTTP_HEADERS_ACCESS_ORIGIN": *\r\n");

  //FIXME: fix keep-alive issues for rtmp playback
  //pBuffer->ReadFromString("Connection: Close\r\n");
  pBuffer->ReadFromString("Connection: Keep-Alive\r\n");
  pBuffer->ReadFromString("Keep-Alive: timeout=5, max=100\r\n");
  pBuffer->ReadFromString("Accept-Ranges: bytes\r\n");
  pBuffer->ReadFromString(format("Content-Range: bytes 0-%"PRIu64"/%"PRIu64"\r\n", _fileSize-1, _fileSize));
  pBuffer->ReadFromString(HTTP_HEADERS_CONTENT_TYPE": video/mp4\r\n");
  pBuffer->ReadFromString(format("%s: %"PRIu64" \r\n\r\n", HTTP_HEADERS_CONTENT_LENGTH, _fileSize));
  _pAVProtocol->EnqueueForOutbound();
#endif
}