mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Fix #848, crash at HTTP fast buffer grow 2.0.239
This commit is contained in:
parent
33a0abdeff
commit
5e284b58a4
3 changed files with 6 additions and 3 deletions
|
@ -336,6 +336,7 @@ Remark:
|
||||||
|
|
||||||
## History
|
## History
|
||||||
|
|
||||||
|
* v2.0, 2017-04-18, Fix [#848][bug #848], crash at HTTP fast buffer grow 2.0.239
|
||||||
* v2.0, 2017-04-15, Fix [#844][bug #844], support Haivision encoder. 2.0.238
|
* v2.0, 2017-04-15, Fix [#844][bug #844], support Haivision encoder. 2.0.238
|
||||||
* v2.0, 2017-04-15, Merge [#846][bug #846], fix fd leak for FLV stream caster. 2.0.237
|
* v2.0, 2017-04-15, Merge [#846][bug #846], fix fd leak for FLV stream caster. 2.0.237
|
||||||
* v2.0, 2017-04-15, Merge [#841][bug #841], avoid the duplicated sps/pps in ts. 2.0.236
|
* v2.0, 2017-04-15, Merge [#841][bug #841], avoid the duplicated sps/pps in ts. 2.0.236
|
||||||
|
@ -1287,6 +1288,7 @@ Winlin
|
||||||
[bug #841]: https://github.com/ossrs/srs/issues/841
|
[bug #841]: https://github.com/ossrs/srs/issues/841
|
||||||
[bug #846]: https://github.com/ossrs/srs/issues/846
|
[bug #846]: https://github.com/ossrs/srs/issues/846
|
||||||
[bug #844]: https://github.com/ossrs/srs/issues/844
|
[bug #844]: https://github.com/ossrs/srs/issues/844
|
||||||
|
[bug #848]: https://github.com/ossrs/srs/issues/848
|
||||||
[bug #xxxxxxxxxx]: https://github.com/ossrs/srs/issues/xxxxxxxxxx
|
[bug #xxxxxxxxxx]: https://github.com/ossrs/srs/issues/xxxxxxxxxx
|
||||||
|
|
||||||
[exo #828]: https://github.com/google/ExoPlayer/pull/828
|
[exo #828]: https://github.com/google/ExoPlayer/pull/828
|
||||||
|
|
|
@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
// current release version
|
// current release version
|
||||||
#define VERSION_MAJOR 2
|
#define VERSION_MAJOR 2
|
||||||
#define VERSION_MINOR 0
|
#define VERSION_MINOR 0
|
||||||
#define VERSION_REVISION 238
|
#define VERSION_REVISION 239
|
||||||
|
|
||||||
// generated by configure, only macros.
|
// generated by configure, only macros.
|
||||||
#include <srs_auto_headers.hpp>
|
#include <srs_auto_headers.hpp>
|
||||||
|
|
|
@ -160,9 +160,10 @@ int SrsFastBuffer::grow(ISrsBufferReader* reader, int required_size)
|
||||||
// reset when buffer is empty.
|
// reset when buffer is empty.
|
||||||
p = end = buffer;
|
p = end = buffer;
|
||||||
srs_verbose("all consumed, reset fast buffer");
|
srs_verbose("all consumed, reset fast buffer");
|
||||||
} else {
|
} else if (nb_exists_bytes < nb_buffer && p > buffer) {
|
||||||
// move the left bytes to start of buffer.
|
// move the left bytes to start of buffer.
|
||||||
srs_assert(nb_exists_bytes < nb_buffer);
|
// @remark Only move memory when space is enough, or failed at next check.
|
||||||
|
// @see https://github.com/ossrs/srs/issues/848
|
||||||
buffer = (char*)memmove(buffer, p, nb_exists_bytes);
|
buffer = (char*)memmove(buffer, p, nb_exists_bytes);
|
||||||
p = buffer;
|
p = buffer;
|
||||||
end = p + nb_exists_bytes;
|
end = p + nb_exists_bytes;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue