Adopt the logic for flexible output names from single output files also
for mixed output files. Refactor both code paths into a single shared
function.
Updates #1667
Change-Id: I8ff4ea0a169dc39ae384e9c1e601ceded325d5df
Packet processing (decoding, encoding, file writing, etc) happens with
the main parent object (metafile) unlocked and only with the specific
child object (SSRC) locked.
During teardown we close all SSRC objects with the metafile locked,
without locking the SSRC objects. This opens up a race condition during
which SSRC closing can happen at the same time as packet processing.
Fix this by locking each SSRC object during teardown, and also clear out
the SSRC hash table while the metafile is locked, which serves as a
marker to a packet processing thread that processing should be skipped.
Closes#1663
Change-Id: I4e8a6a5abfd678a6cfd794a98470a49d60694207
If the forwarded streams of a call are later combined without the inserted
silence, the resulting mix may end up with them out of sync. This
is already handled when outputting mixed files so the same functionality
from mix.c has been added for tls forwarding
When the `discard-recording` flag is given in one of the commands to
rtpengine (e.g. in the `delete` command), the metafile is renamed to a
.DISCARD suffix and then deleted.
The recording daemon then, seeing the .DISCARD suffix, proceeds to
immediately close all recordings, delete the files if any, and delete
the entries from the DB.
Change-Id: I3f0cac129f2d56cbccd770d43bf434dea6c0a0db
This is the "type" of the recording, but sadly we already have "type"
with a slightly different meaning (i.e. the SSRC in hex for single
streams), so we name this the recording "kind".
Change-Id: I2f7c36e42f7eb075a4324e9659d2845ab40b4f07
Instead of waiting for the garbage collector to clean up the SSRCs
objects, do it immediately when a delete is seen. This closes output
files and TLS connections more quickly.
Change-Id: I9a0a5be8194ba8597ff10e428d67d3a5654a2b62
Keep track of how many streams have been added to the DB for each call.
Then at the end of the call, if there are no corresponding streams in
the DB, delete the entry for the call instead of marking it as complete.
This eliminates DB entries for calls that were cancelled or failed.
Change-Id: Id2eccd555a0801b4a8cc56299fe49ea2899c4826
Add a check for the return value from g_strlcpy in case the path ever
gets truncated.
Change-Id: I33c146357711c4d0810c025a5fd08e91cb87c524
Warned-by: Coverity
commit d15fd4a547
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Tue Jul 6 14:07:42 2021 +0200
Also free the character data.
commit 8869187215
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Mon Jul 5 16:11:32 2021 +0200
Make documentation and parameters consistant.
commit 4b15aea2ee
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jun 10 15:34:00 2021 +0200
Update documentation.
commit 6ec1b3035d
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Jun 10 15:33:12 2021 +0200
Do not use metadata for setting the recording file; use output_destination instead.
commit f65a76e8a3
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Wed Jun 9 15:56:02 2021 +0200
Only append file extension if skip_filename_extension is not set.
commit 92e9d7c679
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Wed Jun 9 14:12:48 2021 +0200
Rename the option to better match its usage.
commit 11128bff49
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Wed Jun 9 13:19:10 2021 +0200
Implement support for seting an output file and folder per recording.
Change-Id: I1579d62467eaf06a7aa1ac11e59dbb374f150deb
required to distinguish between 20-ms and 30-ms modes, both for encoding
and decoding
add support for the iLBC mode= format parameter and dynamic mode
switching
closes#854
Change-Id: Icb6f0ec80df86d27681c689c168b24f163a2db06
if a mix output is present already, use the mix output as format (sample
rate) specifier. otherwise there can be a mismatch between A, B and mix
sample rates in case of transcoding
Change-Id: I60fd2c249129baa470c1e257d5c127ed84922020