[core] add a flag to tell when video media bugs that touch the write stream are active
This commit is contained in:
parent
b438adc861
commit
79586ea218
|
@ -1630,6 +1630,8 @@ typedef enum {
|
||||||
CF_WANT_DTLSv1_2,
|
CF_WANT_DTLSv1_2,
|
||||||
CF_RFC7329_COMPAT,
|
CF_RFC7329_COMPAT,
|
||||||
CF_REATTACHED,
|
CF_REATTACHED,
|
||||||
|
CF_VIDEO_READ_TAPPED,
|
||||||
|
CF_VIDEO_WRITE_TAPPED,
|
||||||
/* WARNING: DO NOT ADD ANY FLAGS BELOW THIS LINE */
|
/* 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() */
|
/* 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
|
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)) {
|
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);
|
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)) {
|
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)) {
|
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);
|
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;
|
bp->ready = 0;
|
||||||
|
|
Loading…
Reference in New Issue