[asterisk-commits] codec opus: Fix warning when Opus negotiated but codec opus ... (asterisk[14])
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Nov 16 19:25:55 CST 2016
Joshua Colp has submitted this change and it was merged. ( https://gerrit.asterisk.org/4455 )
Change subject: codec_opus: Fix warning when Opus negotiated but codec_opus not loaded.
......................................................................
codec_opus: Fix warning when Opus negotiated but codec_opus not loaded.
When Opus is negotiated but not loaded, the log is spammed with messages
because the system does not know how to calculate the number of samples in
a frame.
* Suppress the warning by supplying a function that assumes 20ms of
samples in the frame. For pass through support it doesn't really seem to
matter what number of samples is returned anyway.
ASTERISK-26605 #close
Change-Id: Icf2273692f040dc2c45b01e72a790d11092f9e0f
---
M main/codec_builtin.c
1 file changed, 16 insertions(+), 0 deletions(-)
Approvals:
Kevin Harwell: Looks good to me, but someone else must approve
Anonymous Coward #1000019: Verified
Joshua Colp: Looks good to me, approved
diff --git a/main/codec_builtin.c b/main/codec_builtin.c
index 9c17a0f..4f17505 100644
--- a/main/codec_builtin.c
+++ b/main/codec_builtin.c
@@ -707,6 +707,21 @@
.get_length = g719_length,
};
+static int opus_samples(struct ast_frame *frame)
+{
+ /*
+ * XXX This is likely not at all what's intended from this
+ * callback. If you have codec_opus.so loaded then this
+ * function is overridden anyway. However, since opus is
+ * variable bit rate and I cannot extract the calculation code
+ * from the opus library, I am going to punt and assume 20ms
+ * worth of samples. In testing, this has worked just fine.
+ * Pass through support doesn't seem to care about the value
+ * returned anyway.
+ */
+ return ast_format_get_sample_rate(frame->subclass.format) / 50;
+}
+
static struct ast_codec opus = {
.name = "opus",
.description = "Opus Codec",
@@ -715,6 +730,7 @@
.minimum_ms = 20,
.maximum_ms = 60,
.default_ms = 20,
+ .samples_count = opus_samples,
.minimum_bytes = 10,
};
--
To view, visit https://gerrit.asterisk.org/4455
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Icf2273692f040dc2c45b01e72a790d11092f9e0f
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: 14
Gerrit-Owner: Richard Mudgett <rmudgett at digium.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Kevin Harwell <kharwell at digium.com>
More information about the asterisk-commits
mailing list