mirror of
https://github.com/ossrs/srs.git
synced 2025-02-12 11:21:52 +00:00
fix fast stream error bug. 2.0.216
This commit is contained in:
parent
4e756bd0eb
commit
c2cb666995
3 changed files with 9 additions and 6 deletions
|
@ -341,6 +341,7 @@ Remark:
|
|||
|
||||
## History
|
||||
|
||||
* v2.0, 2016-09-12, fix fast stream error bug. 2.0.216
|
||||
* <strong>v2.0, 2016-09-09, [2.0 beta1(2.0.215)][r2.0b1] released. 89941 lines.</strong>
|
||||
* v2.0, 2016-09-09, refine librtmp comments about NALUs. 2.0.215
|
||||
* v2.0, 2016-09-05, fix memory leak at source. 2.0.214
|
||||
|
|
|
@ -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 215
|
||||
#define VERSION_REVISION 216
|
||||
|
||||
// generated by configure, only macros.
|
||||
#include <srs_auto_headers.hpp>
|
||||
|
|
|
@ -146,11 +146,13 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size)
|
|||
// the free space of buffer,
|
||||
// buffer = consumed_bytes + exists_bytes + free_space.
|
||||
int nb_free_space = (int)(buffer + nb_buffer - end);
|
||||
|
||||
// the bytes already in buffer
|
||||
int nb_exists_bytes = (int)(end - p);
|
||||
srs_assert(nb_exists_bytes >= 0);
|
||||
|
||||
// resize the space when no left space.
|
||||
if (nb_free_space < required_size) {
|
||||
// the bytes already in buffer
|
||||
int nb_exists_bytes = (int)(end - p);
|
||||
srs_assert(nb_exists_bytes >= 0);
|
||||
if (nb_free_space < required_size - nb_exists_bytes) {
|
||||
srs_verbose("move fast buffer %d bytes", nb_exists_bytes);
|
||||
|
||||
// reset or move to get more space.
|
||||
|
@ -168,7 +170,7 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size)
|
|||
|
||||
// check whether enough free space in buffer.
|
||||
nb_free_space = (int)(buffer + nb_buffer - end);
|
||||
if (nb_free_space < required_size) {
|
||||
if (nb_free_space < required_size - nb_exists_bytes) {
|
||||
ret = ERROR_READER_BUFFER_OVERFLOW;
|
||||
srs_error("buffer overflow, required=%d, max=%d, left=%d, ret=%d",
|
||||
required_size, nb_buffer, nb_free_space, ret);
|
||||
|
|
Loading…
Reference in a new issue