forked from Mirrors/freeswitch
[core] add a flag to tell when video media bugs that touch the write stream are active
This commit is contained in:
parent
8f26613c80
commit
2bdefa3532
|
@ -1630,6 +1630,8 @@ typedef enum {
|
|||
CF_WANT_DTLSv1_2,
|
||||
CF_RFC7329_COMPAT,
|
||||
CF_REATTACHED,
|
||||
CF_VIDEO_READ_TAPPED,
|
||||
CF_VIDEO_WRITE_TAPPED,
|
||||
/* WARNING: DO NOT ADD ANY FLAGS BELOW THIS LINE */
|
||||
/* IF YOU ADD NEW ONES CHECK IF THEY SHOULD PERSIST OR ZERO THEM IN switch_core_session.c switch_core_session_request_xml() */
|
||||
CF_FLAG_MAX
|
||||
|
|
|
@ -918,6 +918,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_add(switch_core_session_t
|
|||
|
||||
if (switch_test_flag(bug, SMBF_READ_VIDEO_STREAM) || switch_test_flag(bug, SMBF_WRITE_VIDEO_STREAM) || switch_test_flag(bug, SMBF_READ_VIDEO_PING) || switch_test_flag(bug, SMBF_WRITE_VIDEO_PING)) {
|
||||
switch_channel_set_flag_recursive(session->channel, CF_VIDEO_DECODED_READ);
|
||||
|
||||
if (switch_test_flag(bug, SMBF_READ_VIDEO_STREAM) || switch_test_flag(bug, SMBF_READ_VIDEO_PING)) {
|
||||
switch_channel_set_flag_recursive(session->channel, CF_VIDEO_READ_TAPPED);
|
||||
}
|
||||
|
||||
if (switch_test_flag(bug, SMBF_WRITE_VIDEO_STREAM) || switch_test_flag(bug, SMBF_WRITE_VIDEO_PING)) {
|
||||
switch_channel_set_flag_recursive(session->channel, CF_VIDEO_WRITE_TAPPED);
|
||||
}
|
||||
}
|
||||
|
||||
if (switch_test_flag(bug, SMBF_SPY_VIDEO_STREAM) || switch_core_media_bug_test_flag(bug, SMBF_SPY_VIDEO_STREAM_BLEG)) {
|
||||
|
@ -1297,6 +1305,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_bug_close(switch_media_bug_t *
|
|||
|
||||
if (switch_test_flag(bp, SMBF_READ_VIDEO_STREAM) || switch_test_flag(bp, SMBF_WRITE_VIDEO_STREAM) || switch_test_flag(bp, SMBF_READ_VIDEO_PING) || switch_test_flag(bp, SMBF_WRITE_VIDEO_PING)) {
|
||||
switch_channel_clear_flag_recursive(bp->session->channel, CF_VIDEO_DECODED_READ);
|
||||
|
||||
if (switch_test_flag(bp, SMBF_READ_VIDEO_STREAM) || switch_test_flag(bp, SMBF_READ_VIDEO_PING)) {
|
||||
switch_channel_clear_flag_recursive(bp->session->channel, CF_VIDEO_READ_TAPPED);
|
||||
}
|
||||
|
||||
if (switch_test_flag(bp, SMBF_WRITE_VIDEO_STREAM) || switch_test_flag(bp, SMBF_WRITE_VIDEO_PING)) {
|
||||
switch_channel_clear_flag_recursive(bp->session->channel, CF_VIDEO_WRITE_TAPPED);
|
||||
}
|
||||
}
|
||||
|
||||
bp->ready = 0;
|
||||
|
|
Loading…
Reference in New Issue