diff --git a/trunk/src/app/srs_app_gb28181.cpp b/trunk/src/app/srs_app_gb28181.cpp index ddebd4415..5f3dabaa5 100644 --- a/trunk/src/app/srs_app_gb28181.cpp +++ b/trunk/src/app/srs_app_gb28181.cpp @@ -1310,6 +1310,14 @@ srs_error_t SrsGb28181RtmpMuxer::write_h264_ipb_frame2(char *frame, int frame_si { srs_error_t err = srs_success; + if (!frame){ + return srs_error_new(ERROR_GB28181_H264_FRAME_FULL, "h264 frame null"); + } + + if (frame_size <= 0){ + return srs_error_new(ERROR_GB28181_H264_FRAMESIZE, "h264 frame size"); + } + SrsAvcNaluType nal_unit_type = (SrsAvcNaluType)(frame[0] & 0x1f); // ignore the nalu type sei(6) aud(9) if (nal_unit_type == SrsAvcNaluTypeAccessUnitDelimiter || diff --git a/trunk/src/kernel/srs_kernel_error.hpp b/trunk/src/kernel/srs_kernel_error.hpp index 9920b73b3..f8bd3e62e 100644 --- a/trunk/src/kernel/srs_kernel_error.hpp +++ b/trunk/src/kernel/srs_kernel_error.hpp @@ -375,6 +375,8 @@ #define ERROR_GB28181_SIP_PTZ_FAILED 6016 #define ERROR_GB28181_SIP_NOT_INVITE 6017 #define ERROR_GB28181_SIP_PTZ_CMD_INVALID 6018 +#define ERROR_GB28181_H264_FRAMESIZE 6019 +#define ERROR_GB28181_H264_FRAME_FULL 6020 /////////////////////////////////////////////////////// // HTTP API error.