diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 7f6f6af148..b4d4c61931 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -1593,6 +1593,11 @@ static void write_canvas_image_to_codec_group(conference_obj_t *conference, code if (encode_status == SWITCH_STATUS_SUCCESS || encode_status == SWITCH_STATUS_MORE_DATA) { switch_assert((encode_status == SWITCH_STATUS_SUCCESS && frame->m) || !frame->m); + + if (frame->datalen == 0) { + continue; + } + if (frame->timestamp) { switch_set_flag(frame, SFF_RAW_RTP_PARSE_FRAME); } diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 6b86edfc00..c72c2a5183 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -10392,7 +10392,9 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor switch_core_session_video_reinit(session); frame->flags &= ~SFF_PICTURE_RESET; } - + + if (frame->datalen == 0) continue; + switch_set_flag(frame, SFF_RAW_RTP_PARSE_FRAME); status = switch_core_session_write_encoded_video_frame(session, frame, flags, stream_id); }