*/
/**
- * SECTION:element-rtphdrextrfc6464
- * @title: rtphdrextrfc6464
+ * SECTION:element-rtphdrextclientaudiolevel
+ * @title: rtphdrextclientaudiolevel
* @short_description: Client-to-Mixer Audio Level Indication (RFC6464) RTP Header Extension
*
* Client-to-Mixer Audio Level Indication (RFC6464) RTP Header Extension.
#include "config.h"
#endif
-#include "gstrtphdrext-rfc6464.h"
+#include "gstrtphdrext-clientaudiolevel.h"
#include <gst/audio/audio.h>
-#define RFC6464_HDR_EXT_URI GST_RTP_HDREXT_BASE"ssrc-audio-level"
+#define CLIENT_AUDIO_LEVEL_HDR_EXT_URI GST_RTP_HDREXT_BASE"ssrc-audio-level"
-GST_DEBUG_CATEGORY_STATIC (rtphdrrfc6464_twcc_debug);
-#define GST_CAT_DEFAULT (rtphdrrfc6464_twcc_debug)
+GST_DEBUG_CATEGORY_STATIC (rtphdrclient_audio_level_debug);
+#define GST_CAT_DEFAULT (rtphdrclient_audio_level_debug)
#define DEFAULT_VAD TRUE
PROP_VAD,
};
-struct _GstRTPHeaderExtensionRfc6464
+struct _GstRTPHeaderExtensionClientAudioLevel
{
GstRTPHeaderExtension parent;
gboolean vad;
};
-G_DEFINE_TYPE_WITH_CODE (GstRTPHeaderExtensionRfc6464,
- gst_rtp_header_extension_rfc6464, GST_TYPE_RTP_HEADER_EXTENSION,
- GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "rtphdrextrfc6464", 0,
+G_DEFINE_TYPE_WITH_CODE (GstRTPHeaderExtensionClientAudioLevel,
+ gst_rtp_header_extension_client_audio_level, GST_TYPE_RTP_HEADER_EXTENSION,
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "rtphdrextclientaudiolevel", 0,
"RTP RFC 6464 Header Extensions"););
-GST_ELEMENT_REGISTER_DEFINE (rtphdrextrfc6464, "rtphdrextrfc6464",
- GST_RANK_MARGINAL, GST_TYPE_RTP_HEADER_EXTENSION_RFC6464);
+GST_ELEMENT_REGISTER_DEFINE (rtphdrextclientaudiolevel,
+ "rtphdrextclientaudiolevel", GST_RANK_MARGINAL,
+ GST_TYPE_RTP_HEADER_EXTENSION_CLIENT_AUDIO_LEVEL);
static void
-gst_rtp_header_extension_rfc6464_get_property (GObject * object,
+gst_rtp_header_extension_client_audio_level_get_property (GObject * object,
guint prop_id, GValue * value, GParamSpec * pspec)
{
- GstRTPHeaderExtensionRfc6464 *self =
- GST_RTP_HEADER_EXTENSION_RFC6464 (object);
+ GstRTPHeaderExtensionClientAudioLevel *self =
+ GST_RTP_HEADER_EXTENSION_CLIENT_AUDIO_LEVEL (object);
switch (prop_id) {
case PROP_VAD:
}
static GstRTPHeaderExtensionFlags
-gst_rtp_header_extension_rfc6464_get_supported_flags (GstRTPHeaderExtension *
- ext)
+ gst_rtp_header_extension_client_audio_level_get_supported_flags
+ (GstRTPHeaderExtension * ext)
{
return GST_RTP_HEADER_EXTENSION_ONE_BYTE | GST_RTP_HEADER_EXTENSION_TWO_BYTE;
}
static gsize
-gst_rtp_header_extension_rfc6464_get_max_size (GstRTPHeaderExtension * ext,
- const GstBuffer * input_meta)
+gst_rtp_header_extension_client_audio_level_get_max_size (GstRTPHeaderExtension
+ * ext, const GstBuffer * input_meta)
{
return 2;
}
static void
set_vad (GstRTPHeaderExtension * ext, gboolean vad)
{
- GstRTPHeaderExtensionRfc6464 *self = GST_RTP_HEADER_EXTENSION_RFC6464 (ext);
+ GstRTPHeaderExtensionClientAudioLevel *self =
+ GST_RTP_HEADER_EXTENSION_CLIENT_AUDIO_LEVEL (ext);
if (self->vad == vad)
return;
}
static gboolean
-gst_rtp_header_extension_rfc6464_set_attributes (GstRTPHeaderExtension * ext,
- GstRTPHeaderExtensionDirection direction, const gchar * attributes)
+ gst_rtp_header_extension_client_audio_level_set_attributes
+ (GstRTPHeaderExtension * ext, GstRTPHeaderExtensionDirection direction,
+ const gchar * attributes)
{
if (g_str_equal (attributes, "vad=on") || g_str_equal (attributes, "")) {
set_vad (ext, TRUE);
}
static gboolean
-gst_rtp_header_extension_rfc6464_set_caps_from_attributes (GstRTPHeaderExtension
- * ext, GstCaps * caps)
+ gst_rtp_header_extension_client_audio_level_set_caps_from_attributes
+ (GstRTPHeaderExtension * ext, GstCaps * caps)
{
- GstRTPHeaderExtensionRfc6464 *self = GST_RTP_HEADER_EXTENSION_RFC6464 (ext);
+ GstRTPHeaderExtensionClientAudioLevel *self =
+ GST_RTP_HEADER_EXTENSION_CLIENT_AUDIO_LEVEL (ext);
const gchar *vad;
if (self->vad)
}
static gssize
-gst_rtp_header_extension_rfc6464_write (GstRTPHeaderExtension * ext,
+gst_rtp_header_extension_client_audio_level_write (GstRTPHeaderExtension * ext,
const GstBuffer * input_meta, GstRTPHeaderExtensionFlags write_flags,
GstBuffer * output, guint8 * data, gsize size)
{
guint level;
g_return_val_if_fail (size >=
- gst_rtp_header_extension_rfc6464_get_max_size (ext, NULL), -1);
+ gst_rtp_header_extension_client_audio_level_get_max_size (ext, NULL), -1);
g_return_val_if_fail (write_flags &
- gst_rtp_header_extension_rfc6464_get_supported_flags (ext), -1);
+ gst_rtp_header_extension_client_audio_level_get_supported_flags (ext),
+ -1);
meta = gst_buffer_get_audio_level_meta ((GstBuffer *) input_meta);
if (!meta) {
}
static gboolean
-gst_rtp_header_extension_rfc6464_read (GstRTPHeaderExtension * ext,
+gst_rtp_header_extension_client_audio_level_read (GstRTPHeaderExtension * ext,
GstRTPHeaderExtensionFlags read_flags, const guint8 * data, gsize size,
GstBuffer * buffer)
{
gboolean voice_activity;
g_return_val_if_fail (read_flags &
- gst_rtp_header_extension_rfc6464_get_supported_flags (ext), -1);
+ gst_rtp_header_extension_client_audio_level_get_supported_flags (ext),
+ -1);
/* Both one & two byte use the same format, the second byte being padding */
level = data[0] & 0x7F;
}
static void
-gst_rtp_header_extension_rfc6464_class_init (GstRTPHeaderExtensionRfc6464Class *
- klass)
+ gst_rtp_header_extension_client_audio_level_class_init
+ (GstRTPHeaderExtensionClientAudioLevelClass * klass)
{
GstRTPHeaderExtensionClass *rtp_hdr_class;
GstElementClass *gstelement_class;
gobject_class = (GObjectClass *) klass;
gstelement_class = GST_ELEMENT_CLASS (klass);
- gobject_class->get_property = gst_rtp_header_extension_rfc6464_get_property;
+ gobject_class->get_property =
+ gst_rtp_header_extension_client_audio_level_get_property;
/**
- * rtphdrextrfc6464:vad:
+ * rtphdrextclientaudiolevel:vad:
*
* If the vad extension attribute is enabled or not, default to %FALSE.
*
DEFAULT_VAD, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
rtp_hdr_class->get_supported_flags =
- gst_rtp_header_extension_rfc6464_get_supported_flags;
- rtp_hdr_class->get_max_size = gst_rtp_header_extension_rfc6464_get_max_size;
+ gst_rtp_header_extension_client_audio_level_get_supported_flags;
+ rtp_hdr_class->get_max_size =
+ gst_rtp_header_extension_client_audio_level_get_max_size;
rtp_hdr_class->set_attributes =
- gst_rtp_header_extension_rfc6464_set_attributes;
+ gst_rtp_header_extension_client_audio_level_set_attributes;
rtp_hdr_class->set_caps_from_attributes =
- gst_rtp_header_extension_rfc6464_set_caps_from_attributes;
- rtp_hdr_class->write = gst_rtp_header_extension_rfc6464_write;
- rtp_hdr_class->read = gst_rtp_header_extension_rfc6464_read;
+ gst_rtp_header_extension_client_audio_level_set_caps_from_attributes;
+ rtp_hdr_class->write = gst_rtp_header_extension_client_audio_level_write;
+ rtp_hdr_class->read = gst_rtp_header_extension_client_audio_level_read;
gst_element_class_set_static_metadata (gstelement_class,
"Client-to-Mixer Audio Level Indication (RFC6464) RTP Header Extension",
GST_RTP_HDREXT_ELEMENT_CLASS,
"Client-to-Mixer Audio Level Indication (RFC6464) RTP Header Extension",
"Guillaume Desmottes <guillaume.desmottes@collabora.com>");
- gst_rtp_header_extension_class_set_uri (rtp_hdr_class, RFC6464_HDR_EXT_URI);
+ gst_rtp_header_extension_class_set_uri (rtp_hdr_class,
+ CLIENT_AUDIO_LEVEL_HDR_EXT_URI);
}
static void
-gst_rtp_header_extension_rfc6464_init (GstRTPHeaderExtensionRfc6464 * self)
+ gst_rtp_header_extension_client_audio_level_init
+ (GstRTPHeaderExtensionClientAudioLevel * self)
{
GST_DEBUG_OBJECT (self, "creating element");
self->vad = DEFAULT_VAD;
gst_caps_unref (caps);
}
-GST_START_TEST (rtprfc6464_sdp)
+GST_START_TEST (rtphdrext_client_audio_level_sdp)
{
GstRTPHeaderExtension *ext;
GstCaps *caps;
GST_END_TEST;
-GST_START_TEST (rtprfc6464_one_byte)
+GST_START_TEST (rtphdrext_client_audio_level_one_byte)
{
GstRTPHeaderExtension *ext;
GstRTPHeaderExtensionFlags flags;
GST_END_TEST;
-GST_START_TEST (rtprfc6464_two_bytes)
+GST_START_TEST (rtphdrext_client_audio_level_two_bytes)
{
GstRTPHeaderExtension *ext;
GstRTPHeaderExtensionFlags flags;
GST_END_TEST;
-GST_START_TEST (rtprfc6464_no_meta)
+GST_START_TEST (rtphdrext_client_audio_level_no_meta)
{
GstRTPHeaderExtension *ext;
GstBuffer *buffer;
GST_END_TEST;
-GST_START_TEST (rtprfc6464_payloader_depayloader)
+GST_START_TEST (rtphdrext_client_audio_level_payloader_depayloader)
{
GstHarness *h;
GstBuffer *b;
GST_END_TEST;
-GST_START_TEST (rtprfc6464_payloader_api)
+GST_START_TEST (rtphdrext_client_audio_level_payloader_api)
{
GstHarness *h;
GstRTPHeaderExtension *ext;
static Suite *
-rtprfc6464_suite (void)
+rtphdrext_client_audio_level_suite (void)
{
- Suite *s = suite_create ("rtprfc6464");
+ Suite *s = suite_create ("rtphdrext_client_audio_level");
TCase *tc_chain = tcase_create ("general");
suite_add_tcase (s, tc_chain);
- tcase_add_test (tc_chain, rtprfc6464_sdp);
- tcase_add_test (tc_chain, rtprfc6464_one_byte);
- tcase_add_test (tc_chain, rtprfc6464_two_bytes);
- tcase_add_test (tc_chain, rtprfc6464_no_meta);
- tcase_add_test (tc_chain, rtprfc6464_payloader_depayloader);
- tcase_add_test (tc_chain, rtprfc6464_payloader_api);
+ tcase_add_test (tc_chain, rtphdrext_client_audio_level_sdp);
+ tcase_add_test (tc_chain, rtphdrext_client_audio_level_one_byte);
+ tcase_add_test (tc_chain, rtphdrext_client_audio_level_two_bytes);
+ tcase_add_test (tc_chain, rtphdrext_client_audio_level_no_meta);
+ tcase_add_test (tc_chain, rtphdrext_client_audio_level_payloader_depayloader);
+ tcase_add_test (tc_chain, rtphdrext_client_audio_level_payloader_api);
return s;
}
-GST_CHECK_MAIN (rtprfc6464)
+GST_CHECK_MAIN (rtphdrext_client_audio_level)