From 046798a057673fb70b5270f95d7ea93a48c70d38 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Wed, 15 Apr 2015 20:28:53 +0800 Subject: [PATCH] FS-7513: don't write 0 data, openh264 might return 0 --- src/mod/applications/mod_conference/mod_conference.c | 5 +++++ src/switch_core_media.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) 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); }