diff --git a/README.md b/README.md index b88e54120..c3a90d7b7 100755 --- a/README.md +++ b/README.md @@ -146,7 +146,8 @@ For previous versions, please read: ## V3 changes -* v3.0, 2019-12-25, Remove FFMPEG and NGINX, please use [srs-docker](https://github.com/ossrs/srs-docker) instead . 3.0.82 +* v3.0, 2019-12-25, For [#1538][bug #1538], fresh chunk allow fmt=0 or fmt=1. 3.0.83 +* v3.0, 2019-12-25, Remove FFMPEG and NGINX, please use [srs-docker](https://github.com/ossrs/srs-docker) instead. 3.0.82 * v3.0, 2019-12-25, For [#1537][bug #1537], remove cross-build, not used patches, directly build st. * v3.0, 2019-12-24, For [#1508][bug #1508], support chunk length and content in multiple parts. * v3.0, 2019-12-23, Merge SRS2 for running srs-librtmp on Windows. 3.0.80 @@ -1556,6 +1557,7 @@ Winlin [bug #1508]: https://github.com/ossrs/srs/issues/1508 [bug #1535]: https://github.com/ossrs/srs/issues/1535 [bug #1537]: https://github.com/ossrs/srs/issues/1537 +[bug #1538]: https://github.com/ossrs/srs/issues/1538 [bug #xxxxxxxxxxxxx]: https://github.com/ossrs/srs/issues/xxxxxxxxxxxxx [exo #828]: https://github.com/google/ExoPlayer/pull/828 diff --git a/trunk/src/core/srs_core.hpp b/trunk/src/core/srs_core.hpp index 6540f8dcb..e9114f6ef 100644 --- a/trunk/src/core/srs_core.hpp +++ b/trunk/src/core/srs_core.hpp @@ -27,7 +27,7 @@ // The version config. #define VERSION_MAJOR 3 #define VERSION_MINOR 0 -#define VERSION_REVISION 81 +#define VERSION_REVISION 83 // The macros generated by configure script. #include diff --git a/trunk/src/protocol/srs_rtmp_stack.cpp b/trunk/src/protocol/srs_rtmp_stack.cpp index b59a41a83..3465d0b19 100644 --- a/trunk/src/protocol/srs_rtmp_stack.cpp +++ b/trunk/src/protocol/srs_rtmp_stack.cpp @@ -1049,18 +1049,18 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream* chunk, char fmt) // 0x00 0x06 where: event Ping(0x06) // 0x00 0x00 0x0d 0x0f where: event data 4bytes ping timestamp. // @see: https://github.com/ossrs/srs/issues/98 - if (chunk->cid == RTMP_CID_ProtocolControl && fmt == RTMP_FMT_TYPE1) { - srs_warn("accept cid=2, fmt=1 to make librtmp happy."); + if (fmt == RTMP_FMT_TYPE1) { + srs_warn("fresh chunk starts with fmt=1"); } else { // must be a RTMP protocol level error. - return srs_error_new(ERROR_RTMP_CHUNK_START, "chunk is fresh, fmt must be %d, actual is %d. cid=%d", RTMP_FMT_TYPE0, fmt, chunk->cid); + return srs_error_new(ERROR_RTMP_CHUNK_START, "fresh chunk expect fmt=0, actual=%d, cid=%d", fmt, chunk->cid); } } // when exists cache msg, means got an partial message, // the fmt must not be type0 which means new message. if (chunk->msg && fmt == RTMP_FMT_TYPE0) { - return srs_error_new(ERROR_RTMP_CHUNK_START, "chunk exists, fmt must not be %d, actual is %d", RTMP_FMT_TYPE0, fmt); + return srs_error_new(ERROR_RTMP_CHUNK_START, "for existed chunk, fmt should not be 0"); } // create msg when new chunk stream start