mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
fix #509, always alloc big object at heap. 2.0.205
This commit is contained in:
parent
8b24319ffb
commit
5d3a183f43
3 changed files with 15 additions and 5 deletions
|
@ -337,6 +337,7 @@ Remark:
|
||||||
|
|
||||||
## History
|
## History
|
||||||
|
|
||||||
|
* v2.0, 2015-12-22, for [#509][bug #509] always alloc big object at heap. 2.0.205
|
||||||
* v2.0, 2015-12-22, for [#418][bug #418] ignore null connect props to make RED5 happy. 2.0.204
|
* v2.0, 2015-12-22, for [#418][bug #418] ignore null connect props to make RED5 happy. 2.0.204
|
||||||
* v2.0, 2015-12-22, for [#546][bug #546] thread terminate normally dispose bug. 2.0.203
|
* v2.0, 2015-12-22, for [#546][bug #546] thread terminate normally dispose bug. 2.0.203
|
||||||
* v2.0, 2015-12-22, for [#541][bug #541] failed when chunk size too small. 2.0.202
|
* v2.0, 2015-12-22, for [#541][bug #541] failed when chunk size too small. 2.0.202
|
||||||
|
@ -1213,6 +1214,7 @@ Winlin
|
||||||
[bug #541]: https://github.com/ossrs/srs/issues/541
|
[bug #541]: https://github.com/ossrs/srs/issues/541
|
||||||
[bug #546]: https://github.com/ossrs/srs/issues/546
|
[bug #546]: https://github.com/ossrs/srs/issues/546
|
||||||
[bug #418]: https://github.com/ossrs/srs/issues/418
|
[bug #418]: https://github.com/ossrs/srs/issues/418
|
||||||
|
[bug #509]: https://github.com/ossrs/srs/issues/509
|
||||||
[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 204
|
#define VERSION_REVISION 205
|
||||||
|
|
||||||
// server info.
|
// server info.
|
||||||
#define RTMP_SIG_SRS_KEY "SRS"
|
#define RTMP_SIG_SRS_KEY "SRS"
|
||||||
|
|
|
@ -1981,11 +1981,19 @@ int SrsRtmpClient::handshake()
|
||||||
|
|
||||||
srs_assert(hs_bytes);
|
srs_assert(hs_bytes);
|
||||||
|
|
||||||
SrsComplexHandshake complex_hs;
|
// maybe st has problem when alloc object on stack, always alloc object at heap.
|
||||||
if ((ret = complex_hs.handshake_with_server(hs_bytes, io)) != ERROR_SUCCESS) {
|
// @see https://github.com/ossrs/srs/issues/509
|
||||||
|
SrsComplexHandshake* complex_hs = new SrsComplexHandshake();
|
||||||
|
SrsAutoFree(SrsComplexHandshake, complex_hs);
|
||||||
|
|
||||||
|
if ((ret = complex_hs->handshake_with_server(hs_bytes, io)) != ERROR_SUCCESS) {
|
||||||
if (ret == ERROR_RTMP_TRY_SIMPLE_HS) {
|
if (ret == ERROR_RTMP_TRY_SIMPLE_HS) {
|
||||||
SrsSimpleHandshake simple_hs;
|
// always alloc object at heap.
|
||||||
if ((ret = simple_hs.handshake_with_server(hs_bytes, io)) != ERROR_SUCCESS) {
|
// @see https://github.com/ossrs/srs/issues/509
|
||||||
|
SrsSimpleHandshake* simple_hs = new SrsSimpleHandshake();
|
||||||
|
SrsAutoFree(SrsSimpleHandshake, simple_hs);
|
||||||
|
|
||||||
|
if ((ret = simple_hs->handshake_with_server(hs_bytes, io)) != ERROR_SUCCESS) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue