From 27e0521ace00032bde080f43890af9c4f8f3138c Mon Sep 17 00:00:00 2001 From: winlin Date: Thu, 8 Jan 2015 17:37:28 +0800 Subject: [PATCH] fix #281, fix hls bug ignore type-9 send aud. 1.0.20 --- README.md | 1 + trunk/src/app/srs_app_hls.cpp | 12 ++++++++++-- trunk/src/core/srs_core.hpp | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 511d495cc..0101874f1 100755 --- a/README.md +++ b/README.md @@ -383,6 +383,7 @@ Supported operating systems and hardware: * 2013-10-17, Created.
## History +* v1.0, 2015-01-08, hotfix [#281](https://github.com/winlinvip/simple-rtmp-server/issues/281), fix hls bug ignore type-9 send aud. 1.0.20 * v1.0, 2015-01-03, hotfix to remove the pageUrl for http callback. 1.0.19 * v1.0, 2015-01-02, hotfix [#207](https://github.com/winlinvip/simple-rtmp-server/issues/207), trim the last 0 of log. 1.0.18 * v1.0, 2015-01-02, hotfix [#216](https://github.com/winlinvip/simple-rtmp-server/issues/216), http-callback post in application/json content-type. 1.0.17 diff --git a/trunk/src/app/srs_app_hls.cpp b/trunk/src/app/srs_app_hls.cpp index a5cf80d0e..1e959543e 100644 --- a/trunk/src/app/srs_app_hls.cpp +++ b/trunk/src/app/srs_app_hls.cpp @@ -1276,9 +1276,13 @@ int SrsHlsCache::cache_video(SrsAvcAacCodec* codec, SrsCodecSample* sample) // 6: Supplemental enhancement information (SEI) sei_rbsp( ), page 61 // @see: ngx_rtmp_hls_append_aud if (!aud_sent) { - if (nal_unit_type == 9) { + // @remark, when got type 9, we donot send aud_nal, but it will make + // ios unhappy, so we remove it. + // @see https://github.com/winlinvip/simple-rtmp-server/issues/281 + /*if (nal_unit_type == 9) { aud_sent = true; - } + }*/ + if (nal_unit_type == 1 || nal_unit_type == 5 || nal_unit_type == 6) { // for type 6, append a aud with type 9. vb->append((const char*)aud_nal, sizeof(aud_nal)); @@ -1487,6 +1491,10 @@ int SrsHls::on_video(SrsSharedPtrMessage* video) sample->clear(); if ((ret = codec->video_avc_demux(video->payload, video->size, sample)) != ERROR_SUCCESS) { + if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) { + srs_warn("hls igone the info frame, ret=%d", ret); + return ERROR_SUCCESS; + } srs_error("hls codec demux video failed. ret=%d", ret); return ret; } diff --git a/trunk/src/core/srs_core.hpp b/trunk/src/core/srs_core.hpp index 3ebb62add..7e8d88fda 100644 --- a/trunk/src/core/srs_core.hpp +++ b/trunk/src/core/srs_core.hpp @@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // current release version #define VERSION_MAJOR 1 #define VERSION_MINOR 0 -#define VERSION_REVISION 19 +#define VERSION_REVISION 20 // server info. #define RTMP_SIG_SRS_KEY "SRS" #define RTMP_SIG_SRS_ROLE "origin/edge server"