mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
fix #400, parse when got entire http header, by feilong. 2.0.164.
This commit is contained in:
parent
5d7b0edccc
commit
948d200ce1
3 changed files with 13 additions and 5 deletions
|
@ -562,6 +562,7 @@ Supported operating systems and hardware:
|
|||
|
||||
### SRS 2.0 history
|
||||
|
||||
* v2.0, 2015-05-22, for [#400](https://github.com/simple-rtmp-server/srs/issues/400), parse when got entire http header, by feilong. 2.0.164.
|
||||
* v2.0, 2015-05-19, merge from bravo system, add the rtmfp to bms(commercial srs). 2.0.163.
|
||||
* v2.0, 2015-05-10, support push flv stream over HTTP POST to SRS.
|
||||
* v2.0, 2015-04-20, support ingest hls live stream to RTMP.
|
||||
|
|
|
@ -1447,10 +1447,17 @@ int SrsHttpParser::parse_message_imp(SrsStSocket* skt)
|
|||
while (true) {
|
||||
ssize_t nparsed = 0;
|
||||
|
||||
// when buffer not empty, parse it.
|
||||
if (buffer->size() > 0) {
|
||||
// when got entire http header, parse it.
|
||||
// @see https://github.com/simple-rtmp-server/srs/issues/400
|
||||
char* start = buffer->bytes();
|
||||
char* end = start + buffer->size();
|
||||
for (char* p = start; p <= end - 4; p++) {
|
||||
// SRS_HTTP_CRLFCRLF "\r\n\r\n" // 0x0D0A0D0A
|
||||
if (p[0] == SRS_CONSTS_CR && p[1] == SRS_CONSTS_LF && p[2] == SRS_CONSTS_CR && p[3] == SRS_CONSTS_LF) {
|
||||
nparsed = http_parser_execute(&parser, &settings, buffer->bytes(), buffer->size());
|
||||
srs_info("buffer=%d, nparsed=%d, header=%d", buffer->size(), (int)nparsed, header_parsed);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// consume the parsed bytes.
|
||||
|
|
|
@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
// current release version
|
||||
#define VERSION_MAJOR 2
|
||||
#define VERSION_MINOR 0
|
||||
#define VERSION_REVISION 163
|
||||
#define VERSION_REVISION 164
|
||||
|
||||
// server info.
|
||||
#define RTMP_SIG_SRS_KEY "SRS"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue