Browse Source

MT#55283 respect pause recording command

The command was accepted, but recording continued as usual.

Closes #1981

Change-Id: I994a9ebf75bc2d0d0ce5c601c29843c4bc0e9d0d
pull/1987/head
Orgad Shaneh 5 months ago
committed by Richard Fuchs
parent
commit
fa7b4667d0
2 changed files with 5 additions and 1 deletions
  1. +1
    -1
      daemon/media_socket.c
  2. +4
    -0
      daemon/recording.c

+ 1
- 1
daemon/media_socket.c View File

@ -2405,7 +2405,7 @@ int media_packet_encrypt(rewrite_func encrypt_func, struct packet_stream *out, s
for (__auto_type l = mp->packets_out.head; l; l = l->next) { for (__auto_type l = mp->packets_out.head; l; l = l->next) {
struct codec_packet *p = l->data; struct codec_packet *p = l->data;
if (mp->call->recording && rtpe_config.rec_egress) {
if (mp->call->recording && rtpe_config.rec_egress && CALL_ISSET(mp->call, RECORDING_ON)) {
p->plain = STR_LEN(bufferpool_alloc(media_bufferpool, p->s.len), p->s.len); p->plain = STR_LEN(bufferpool_alloc(media_bufferpool, p->s.len), p->s.len);
memcpy(p->plain.s, p->s.s, p->s.len); memcpy(p->plain.s, p->s.s, p->s.len);
p->plain_free_func = bufferpool_unref; p->plain_free_func = bufferpool_unref;


+ 4
- 0
daemon/recording.c View File

@ -738,6 +738,8 @@ static void stream_pcap_dump(struct media_packet *mp, const str *s) {
static void dump_packet_pcap(struct media_packet *mp, const str *s) { static void dump_packet_pcap(struct media_packet *mp, const str *s) {
if (ML_ISSET(mp->media->monologue, NO_RECORDING)) if (ML_ISSET(mp->media->monologue, NO_RECORDING))
return; return;
if (!CALL_ISSET(mp->call, RECORDING_ON))
return;
struct recording *recording = mp->call->recording; struct recording *recording = mp->call->recording;
mutex_lock(&recording->pcap.recording_lock); mutex_lock(&recording->pcap.recording_lock);
stream_pcap_dump(mp, s); stream_pcap_dump(mp, s);
@ -1036,6 +1038,8 @@ static void dump_packet_proc(struct media_packet *mp, const str *s) {
struct packet_stream *stream = mp->stream; struct packet_stream *stream = mp->stream;
if (stream->recording.proc.stream_idx == UNINIT_IDX) if (stream->recording.proc.stream_idx == UNINIT_IDX)
return; return;
if (!CALL_ISSET(mp->call, RECORDING_ON))
return;
struct rtpengine_command_packet *cmd; struct rtpengine_command_packet *cmd;
unsigned char pkt[sizeof(*cmd) + s->len + MAX_PACKET_HEADER_LEN]; unsigned char pkt[sizeof(*cmd) + s->len + MAX_PACKET_HEADER_LEN];


Loading…
Cancel
Save