diff --git a/trunk/src/app/srs_app_avc_aac.cpp b/trunk/src/app/srs_app_avc_aac.cpp index 1cd89b1ba..ec3dce6b8 100644 --- a/trunk/src/app/srs_app_avc_aac.cpp +++ b/trunk/src/app/srs_app_avc_aac.cpp @@ -336,6 +336,13 @@ int SrsAvcAacCodec::video_avc_demux(char* data, int size, SrsCodecSample* sample sample->frame_type = (SrsCodecVideoAVCFrame)frame_type; + // ignore info frame without error, + // @see https://github.com/winlinvip/simple-rtmp-server/issues/288#issuecomment-69863909 + if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) { + srs_warn("hls igone the info frame, ret=%d", ret); + return ret; + } + // only support h.264/avc if (codec_id != SrsCodecVideoAVC) { ret = ERROR_HLS_DECODE_ERROR; diff --git a/trunk/src/app/srs_app_hls.cpp b/trunk/src/app/srs_app_hls.cpp index 378f3ec1e..4e44524f4 100644 --- a/trunk/src/app/srs_app_hls.cpp +++ b/trunk/src/app/srs_app_hls.cpp @@ -1489,14 +1489,16 @@ 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; } + // ignore info frame, + // @see https://github.com/winlinvip/simple-rtmp-server/issues/288#issuecomment-69863909 + if (sample->frame_type == SrsCodecVideoAVCFrameVideoInfoFrame) { + return ret; + } + if (codec->video_codec_id != SrsCodecVideoAVC) { return ret; } diff --git a/trunk/src/core/srs_core.hpp b/trunk/src/core/srs_core.hpp index 57a70a3ed..55d27bd9e 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 2 #define VERSION_MINOR 0 -#define VERSION_REVISION 93 +#define VERSION_REVISION 94 // server info. #define RTMP_SIG_SRS_KEY "SRS"