diff options
Diffstat (limited to 'main/rtp.c')
-rw-r--r-- | main/rtp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/main/rtp.c b/main/rtp.c index 4a1ba192e..4b871255e 100644 --- a/main/rtp.c +++ b/main/rtp.c @@ -1333,10 +1333,6 @@ static int bridge_p2p_rtp_write(struct ast_rtp *rtp, struct ast_rtp *bridged, un /* Check what the payload value should be */ rtpPT = ast_rtp_lookup_pt(rtp, payload); - /* If the payload coming in is not one of the negotiated ones then send it to the core, this will cause formats to change and the bridge to break */ - if (!bridged->current_RTP_PT[payload].code) - return -1; - /* If the payload is DTMF, and we are listening for DTMF - then feed it into the core */ if (ast_test_flag(rtp, FLAG_P2P_NEED_DTMF) && !rtpPT.isAstFormat && rtpPT.code == AST_RTP_DTMF) return -1; @@ -1344,6 +1340,11 @@ static int bridge_p2p_rtp_write(struct ast_rtp *rtp, struct ast_rtp *bridged, un /* Otherwise adjust bridged payload to match */ bridged_payload = ast_rtp_lookup_code(bridged, rtpPT.isAstFormat, rtpPT.code); + /* If the payload coming in is not one of the negotiated ones then send it to the core, this will cause formats to change and the bridge to break */ + if (!bridged->current_RTP_PT[bridged_payload].code) + return -1; + + /* If the mark bit has not been sent yet... do it now */ if (!ast_test_flag(rtp, FLAG_P2P_SENT_MARK)) { mark = 1; |