FREE_STRING (msg->video_formats);
}
- if (msg->direct_audio_codecs) {
+ if (msg->wfd2_audio_codecs) {
guint i = 0;
- if (msg->direct_audio_codecs->list) {
- for (; i < msg->direct_audio_codecs->count; i++) {
- FREE_STRING(msg->direct_audio_codecs->list[i].audio_format);
- msg->direct_audio_codecs->list[i].modes = 0;
- msg->direct_audio_codecs->list[i].latency = 0;
+ if (msg->wfd2_audio_codecs->list) {
+ for (; i < msg->wfd2_audio_codecs->count; i++) {
+ FREE_STRING(msg->wfd2_audio_codecs->list[i].audio_format);
+ msg->wfd2_audio_codecs->list[i].modes = 0;
+ msg->wfd2_audio_codecs->list[i].latency = 0;
}
- FREE_STRING(msg->direct_audio_codecs->list);
+ FREE_STRING(msg->wfd2_audio_codecs->list);
}
- FREE_STRING(msg->direct_audio_codecs);
+ FREE_STRING(msg->wfd2_audio_codecs);
}
if (msg->direct_video_formats) {
}
}
} else if (!g_strcmp0 (attr, GST_STRING_WFD2_AUDIO_CODECS)) {
- msg->direct_audio_codecs = g_new0 (GstWFD2AudioCodeclist, 1);
+ msg->wfd2_audio_codecs = g_new0 (GstWFD2AudioCodeclist, 1);
if (strlen (v)) {
guint i = 0;
- msg->direct_audio_codecs->count = strlen (v) / 16;
- msg->direct_audio_codecs->list =
- g_new0 (GstWFDAudioCodec, msg->direct_audio_codecs->count);
- for (; i < msg->direct_audio_codecs->count; i++) {
+ msg->wfd2_audio_codecs->count = strlen (v) / 16;
+ msg->wfd2_audio_codecs->list =
+ g_new0 (GstWFDAudioCodec, msg->wfd2_audio_codecs->count);
+ for (; i < msg->wfd2_audio_codecs->count; i++) {
WFD_SKIP_SPACE (v);
- WFD_READ_STRING (msg->direct_audio_codecs->list[i].audio_format);
+ WFD_READ_STRING (msg->wfd2_audio_codecs->list[i].audio_format);
WFD_SKIP_SPACE (v);
- WFD_READ_UINT32 (msg->direct_audio_codecs->list[i].modes);
+ WFD_READ_UINT32 (msg->wfd2_audio_codecs->list[i].modes);
WFD_SKIP_SPACE (v);
- WFD_READ_UINT32 (msg->direct_audio_codecs->list[i].latency);
+ WFD_READ_UINT32 (msg->wfd2_audio_codecs->list[i].latency);
WFD_SKIP_COMMA (v);
}
}
g_string_append_printf (lines, "\r\n");
}
- /* list of direct audio codecs */
- if (msg->direct_audio_codecs) {
+ /* list of wfd2 audio codecs */
+ if (msg->wfd2_audio_codecs) {
g_string_append_printf (lines, GST_STRING_WFD2_AUDIO_CODECS);
- if (msg->direct_audio_codecs->list) {
+ if (msg->wfd2_audio_codecs->list) {
g_string_append_printf (lines, ":");
- for (i = 0; i < msg->direct_audio_codecs->count; i++) {
+ for (i = 0; i < msg->wfd2_audio_codecs->count; i++) {
g_string_append_printf (lines, " %s",
- msg->direct_audio_codecs->list[i].audio_format);
+ msg->wfd2_audio_codecs->list[i].audio_format);
g_string_append_printf (lines, " %08x",
- msg->direct_audio_codecs->list[i].modes);
+ msg->wfd2_audio_codecs->list[i].modes);
g_string_append_printf (lines, " %02x",
- msg->direct_audio_codecs->list[i].latency);
- if ((i + 1) < msg->direct_audio_codecs->count)
+ msg->wfd2_audio_codecs->list[i].latency);
+ if ((i + 1) < msg->wfd2_audio_codecs->count)
g_string_append_printf (lines, ",");
}
}
g_string_append_printf (lines, GST_STRING_WFD_VIDEO_FORMATS);
g_string_append_printf (lines, "\r\n");
}
- /* list of direct audio codecs */
- if (msg->direct_audio_codecs) {
+ /* list of wfd2 audio codecs */
+ if (msg->wfd2_audio_codecs) {
g_string_append_printf (lines, GST_STRING_WFD2_AUDIO_CODECS);
g_string_append_printf (lines, "\r\n");
}
}
}
- if (msg->direct_audio_codecs) {
+ if (msg->wfd2_audio_codecs) {
guint i = 0;
- g_print ("Audio supported formats for direct streaming : \n");
- for (; i < msg->direct_audio_codecs->count; i++) {
- g_print ("Codec: %s\n", msg->direct_audio_codecs->list[i].audio_format);
- if (!strcmp (msg->direct_audio_codecs->list[i].audio_format, "LPCM")) {
- if (msg->direct_audio_codecs->list[i].modes & GST_WFD_FREQ_44100)
+ g_print ("Audio supported codecs for R2 : \n");
+ for (; i < msg->wfd2_audio_codecs->count; i++) {
+ g_print ("Codec: %s\n", msg->wfd2_audio_codecs->list[i].audio_format);
+ if (!strcmp (msg->wfd2_audio_codecs->list[i].audio_format, "LPCM")) {
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_FREQ_44100)
g_print (" Freq: %d\n", 44100);
- if (msg->direct_audio_codecs->list[i].modes & GST_WFD_FREQ_48000)
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_FREQ_48000)
g_print (" Freq: %d\n", 48000);
g_print (" Channels: %d\n", 2);
}
- if (!strcmp (msg->direct_audio_codecs->list[i].audio_format, "AAC")) {
+ if (!strcmp (msg->wfd2_audio_codecs->list[i].audio_format, "AAC")) {
g_print (" Freq: %d\n", 48000);
- if (msg->direct_audio_codecs->list[i].modes & GST_WFD_CHANNEL_2)
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_2)
g_print (" Channels: %d\n", 2);
- if (msg->direct_audio_codecs->list[i].modes & GST_WFD_CHANNEL_4)
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_4)
g_print (" Channels: %d\n", 4);
- if (msg->direct_audio_codecs->list[i].modes & GST_WFD_CHANNEL_6)
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_6)
g_print (" Channels: %d\n", 6);
- if (msg->direct_audio_codecs->list[i].modes & GST_WFD_CHANNEL_8)
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_8)
g_print (" Channels: %d\n", 8);
}
- if (!strcmp (msg->direct_audio_codecs->list[i].audio_format, "AC3")) {
+ if (!strcmp (msg->wfd2_audio_codecs->list[i].audio_format, "AC3")) {
g_print (" Freq: %d\n", 48000);
- if (msg->direct_audio_codecs->list[i].modes & GST_WFD_CHANNEL_2)
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_2)
g_print (" Channels: %d\n", 2);
- if (msg->direct_audio_codecs->list[i].modes & GST_WFD_CHANNEL_4)
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_4)
g_print (" Channels: %d\n", 4);
- if (msg->direct_audio_codecs->list[i].modes & GST_WFD_CHANNEL_6)
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_6)
+ g_print (" Channels: %d\n", 6);
+ }
+ if (!strcmp (msg->wfd2_audio_codecs->list[i].audio_format, "CTA")) {
+ g_print (" Freq: %d\n", 48000);
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_2)
+ g_print (" Channels: %d\n", 2);
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_4)
+ g_print (" Channels: %d\n", 4);
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_6)
+ g_print (" Channels: %d\n", 6);
+ }
+ if (!strcmp (msg->wfd2_audio_codecs->list[i].audio_format, "AAC-ELDv2")) {
+ g_print (" Freq: %d\n", 48000);
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_2)
+ g_print (" Channels: %d\n", 2);
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_4)
+ g_print (" Channels: %d\n", 4);
+ if (msg->wfd2_audio_codecs->list[i].modes & GST_WFD_CHANNEL_6)
g_print (" Channels: %d\n", 6);
}
g_print (" Bitwidth: %d\n", 16);
- g_print (" Latency: %d\n", msg->direct_audio_codecs->list[i].latency);
+ g_print (" Latency: %d\n", msg->wfd2_audio_codecs->list[i].latency);
}
}
}
GstWFDResult
-gst_wfd_message_set_supported_direct_audio_format (GstWFDMessage * msg,
+gst_wfd_message_set_supported_wfd2_audio_codec (GstWFDMessage * msg,
GstWFDAudioFormats a_codec,
guint a_freq, guint a_channels, guint a_bitwidth, guint32 a_latency)
{
guint temp = a_codec;
guint i = 0;
- guint pcm = 0, aac = 0, ac3 = 0;
+ guint pcm = 0, aac = 0, ac3 = 0, cta = 0, aac_eldv2 = 0;
g_return_val_if_fail (msg != NULL, GST_WFD_EINVAL);
- if (!msg->direct_audio_codecs)
- msg->direct_audio_codecs = g_new0 (GstWFD2AudioCodeclist, 1);
+ if (!msg->wfd2_audio_codecs)
+ msg->wfd2_audio_codecs = g_new0 (GstWFD2AudioCodeclist, 1);
if (a_codec != GST_WFD_AUDIO_UNKNOWN) {
while (temp) {
- msg->direct_audio_codecs->count++;
+ msg->wfd2_audio_codecs->count++;
temp >>= 1;
}
- msg->direct_audio_codecs->list =
- g_new0 (GstWFDAudioCodec, msg->direct_audio_codecs->count);
- for (; i < msg->direct_audio_codecs->count; i++) {
+ msg->wfd2_audio_codecs->list =
+ g_new0 (GstWFDAudioCodec, msg->wfd2_audio_codecs->count);
+ for (; i < msg->wfd2_audio_codecs->count; i++) {
if ((a_codec & GST_WFD_AUDIO_LPCM) && (!pcm)) {
- msg->direct_audio_codecs->list[i].audio_format = g_strdup ("LPCM");
- msg->direct_audio_codecs->list[i].modes = a_freq;
- msg->direct_audio_codecs->list[i].latency = a_latency;
+ msg->wfd2_audio_codecs->list[i].audio_format = g_strdup ("LPCM");
+ msg->wfd2_audio_codecs->list[i].modes = a_freq;
+ msg->wfd2_audio_codecs->list[i].latency = a_latency;
pcm = 1;
} else if ((a_codec & GST_WFD_AUDIO_AAC) && (!aac)) {
- msg->direct_audio_codecs->list[i].audio_format = g_strdup ("AAC");
- msg->direct_audio_codecs->list[i].modes = a_channels;
- msg->direct_audio_codecs->list[i].latency = a_latency;
+ msg->wfd2_audio_codecs->list[i].audio_format = g_strdup ("AAC");
+ msg->wfd2_audio_codecs->list[i].modes = a_channels;
+ msg->wfd2_audio_codecs->list[i].latency = a_latency;
aac = 1;
} else if ((a_codec & GST_WFD_AUDIO_AC3) && (!ac3)) {
- msg->direct_audio_codecs->list[i].audio_format = g_strdup ("AC3");
- msg->direct_audio_codecs->list[i].modes = a_channels;
- msg->direct_audio_codecs->list[i].latency = a_latency;
+ msg->wfd2_audio_codecs->list[i].audio_format = g_strdup ("AC3");
+ msg->wfd2_audio_codecs->list[i].modes = a_channels;
+ msg->wfd2_audio_codecs->list[i].latency = a_latency;
ac3 = 1;
+ } else if ((a_codec & GST_WFD_AUDIO_CTA) && (!cta)) {
+ msg->wfd2_audio_codecs->list[i].audio_format = g_strdup ("CTA");
+ msg->wfd2_audio_codecs->list[i].modes = a_channels;
+ msg->wfd2_audio_codecs->list[i].latency = a_latency;
+ cta = 1;
+ } else if ((a_codec & GST_WFD_AUDIO_AAC_ELDV2) && (!aac_eldv2)) {
+ msg->wfd2_audio_codecs->list[i].audio_format = g_strdup ("AAC-ELDv2");
+ msg->wfd2_audio_codecs->list[i].modes = a_channels;
+ msg->wfd2_audio_codecs->list[i].latency = a_latency;
+ aac_eldv2 = 1;
}
}
}
}
GstWFDResult
-gst_wfd_message_set_preferred_direct_audio_format (GstWFDMessage * msg,
+gst_wfd_message_set_preferred_wfd2_audio_codec (GstWFDMessage * msg,
GstWFDAudioFormats a_codec,
GstWFDAudioFreq a_freq,
GstWFDAudioChannels a_channels, guint a_bitwidth, guint32 a_latency)
{
g_return_val_if_fail (msg != NULL, GST_WFD_EINVAL);
- if (!msg->direct_audio_codecs)
- msg->direct_audio_codecs = g_new0 (GstWFD2AudioCodeclist, 1);
+ if (!msg->wfd2_audio_codecs)
+ msg->wfd2_audio_codecs = g_new0 (GstWFD2AudioCodeclist, 1);
- msg->direct_audio_codecs->list = g_new0 (GstWFDAudioCodec, 1);
- msg->direct_audio_codecs->count = 1;
+ msg->wfd2_audio_codecs->list = g_new0 (GstWFDAudioCodec, 1);
+ msg->wfd2_audio_codecs->count = 1;
if (a_codec == GST_WFD_AUDIO_LPCM) {
- msg->direct_audio_codecs->list->audio_format = g_strdup ("LPCM");
- msg->direct_audio_codecs->list->modes = a_freq;
- msg->direct_audio_codecs->list->latency = a_latency;
+ msg->wfd2_audio_codecs->list->audio_format = g_strdup ("LPCM");
+ msg->wfd2_audio_codecs->list->modes = a_freq;
+ msg->wfd2_audio_codecs->list->latency = a_latency;
} else if (a_codec == GST_WFD_AUDIO_AAC) {
- msg->direct_audio_codecs->list->audio_format = g_strdup ("AAC");
- msg->direct_audio_codecs->list->modes = a_channels;
- msg->direct_audio_codecs->list->latency = a_latency;
+ msg->wfd2_audio_codecs->list->audio_format = g_strdup ("AAC");
+ msg->wfd2_audio_codecs->list->modes = a_channels;
+ msg->wfd2_audio_codecs->list->latency = a_latency;
} else if (a_codec == GST_WFD_AUDIO_AC3) {
- msg->direct_audio_codecs->list->audio_format = g_strdup ("AC3");
- msg->direct_audio_codecs->list->modes = a_channels;
- msg->direct_audio_codecs->list->latency = a_latency;
+ msg->wfd2_audio_codecs->list->audio_format = g_strdup ("AC3");
+ msg->wfd2_audio_codecs->list->modes = a_channels;
+ msg->wfd2_audio_codecs->list->latency = a_latency;
+ } else if (a_codec == GST_WFD_AUDIO_CTA) {
+ msg->wfd2_audio_codecs->list->audio_format = g_strdup ("CTA");
+ msg->wfd2_audio_codecs->list->modes = a_channels;
+ msg->wfd2_audio_codecs->list->latency = a_latency;
+ } else if (a_codec == GST_WFD_AUDIO_AAC_ELDV2) {
+ msg->wfd2_audio_codecs->list->audio_format = g_strdup ("AAC-ELDv2");
+ msg->wfd2_audio_codecs->list->modes = a_channels;
+ msg->wfd2_audio_codecs->list->latency = a_latency;
}
return GST_WFD_OK;
}
GstWFDResult
-gst_wfd_message_get_supported_direct_audio_format (GstWFDMessage * msg,
+gst_wfd_message_get_supported_wfd2_audio_codec (GstWFDMessage * msg,
guint * a_codec,
guint * a_freq, guint * a_channels, guint * a_bitwidth, guint32 * a_latency)
{
guint i = 0;
g_return_val_if_fail (msg != NULL, GST_WFD_EINVAL);
- g_return_val_if_fail (msg->direct_audio_codecs != NULL, GST_WFD_EINVAL);
+ g_return_val_if_fail (msg->wfd2_audio_codecs != NULL, GST_WFD_EINVAL);
- for (; i < msg->direct_audio_codecs->count; i++) {
- if (!g_strcmp0 (msg->direct_audio_codecs->list[i].audio_format, "LPCM")) {
+ for (; i < msg->wfd2_audio_codecs->count; i++) {
+ if (!g_strcmp0 (msg->wfd2_audio_codecs->list[i].audio_format, "LPCM")) {
*a_codec |= GST_WFD_AUDIO_LPCM;
- *a_freq |= msg->direct_audio_codecs->list[i].modes;
+ *a_freq |= msg->wfd2_audio_codecs->list[i].modes;
*a_channels |= GST_WFD_CHANNEL_2;
*a_bitwidth = 16;
- *a_latency = msg->direct_audio_codecs->list[i].latency;
- } else if (!g_strcmp0 (msg->direct_audio_codecs->list[i].audio_format, "AAC")) {
+ *a_latency = msg->wfd2_audio_codecs->list[i].latency;
+ } else if (!g_strcmp0 (msg->wfd2_audio_codecs->list[i].audio_format, "AAC")) {
*a_codec |= GST_WFD_AUDIO_AAC;
*a_freq |= GST_WFD_FREQ_48000;
- *a_channels |= msg->direct_audio_codecs->list[i].modes;
+ *a_channels |= msg->wfd2_audio_codecs->list[i].modes;
*a_bitwidth = 16;
- *a_latency = msg->direct_audio_codecs->list[i].latency;
- } else if (!g_strcmp0 (msg->direct_audio_codecs->list[i].audio_format, "AC3")) {
+ *a_latency = msg->wfd2_audio_codecs->list[i].latency;
+ } else if (!g_strcmp0 (msg->wfd2_audio_codecs->list[i].audio_format, "AC3")) {
*a_codec |= GST_WFD_AUDIO_AC3;
*a_freq |= GST_WFD_FREQ_48000;
- *a_channels |= msg->direct_audio_codecs->list[i].modes;
+ *a_channels |= msg->wfd2_audio_codecs->list[i].modes;
+ *a_bitwidth = 16;
+ *a_latency = msg->wfd2_audio_codecs->list[i].latency;
+ } else if (!g_strcmp0 (msg->wfd2_audio_codecs->list[i].audio_format, "CTA")) {
+ *a_codec |= GST_WFD_AUDIO_CTA;
+ *a_freq |= GST_WFD_FREQ_48000;
+ *a_channels |= msg->wfd2_audio_codecs->list[i].modes;
+ *a_bitwidth = 16;
+ *a_latency = msg->wfd2_audio_codecs->list[i].latency;
+ } else if (!g_strcmp0 (msg->wfd2_audio_codecs->list[i].audio_format, "AAC-ELDv2")) {
+ *a_codec |= GST_WFD_AUDIO_AAC_ELDV2;
+ *a_freq |= GST_WFD_FREQ_48000;
+ *a_channels |= msg->wfd2_audio_codecs->list[i].modes;
*a_bitwidth = 16;
- *a_latency = msg->direct_audio_codecs->list[i].latency;
+ *a_latency = msg->wfd2_audio_codecs->list[i].latency;
}
}
return GST_WFD_OK;
}
GstWFDResult
-gst_wfd_message_get_preferred_direct_audio_format (GstWFDMessage * msg,
+gst_wfd_message_get_preferred_wfd2_audio_codec (GstWFDMessage * msg,
GstWFDAudioFormats * a_codec,
GstWFDAudioFreq * a_freq,
GstWFDAudioChannels * a_channels, guint * a_bitwidth, guint32 * a_latency)
{
g_return_val_if_fail (msg != NULL, GST_WFD_EINVAL);
- if (!g_strcmp0 (msg->direct_audio_codecs->list->audio_format, "LPCM")) {
+ if (!g_strcmp0 (msg->wfd2_audio_codecs->list->audio_format, "LPCM")) {
*a_codec = GST_WFD_AUDIO_LPCM;
- *a_freq = msg->direct_audio_codecs->list->modes;
+ *a_freq = msg->wfd2_audio_codecs->list->modes;
*a_channels = GST_WFD_CHANNEL_2;
*a_bitwidth = 16;
- *a_latency = msg->direct_audio_codecs->list->latency;
- } else if (!g_strcmp0 (msg->direct_audio_codecs->list->audio_format, "AAC")) {
+ *a_latency = msg->wfd2_audio_codecs->list->latency;
+ } else if (!g_strcmp0 (msg->wfd2_audio_codecs->list->audio_format, "AAC")) {
*a_codec = GST_WFD_AUDIO_AAC;
*a_freq = GST_WFD_FREQ_48000;
- *a_channels = msg->direct_audio_codecs->list->modes;
+ *a_channels = msg->wfd2_audio_codecs->list->modes;
*a_bitwidth = 16;
- *a_latency = msg->direct_audio_codecs->list->latency;
- } else if (!g_strcmp0 (msg->direct_audio_codecs->list->audio_format, "AC3")) {
+ *a_latency = msg->wfd2_audio_codecs->list->latency;
+ } else if (!g_strcmp0 (msg->wfd2_audio_codecs->list->audio_format, "AC3")) {
*a_codec = GST_WFD_AUDIO_AC3;
*a_freq = GST_WFD_FREQ_48000;
- *a_channels = msg->direct_audio_codecs->list->modes;
+ *a_channels = msg->wfd2_audio_codecs->list->modes;
+ *a_bitwidth = 16;
+ *a_latency = msg->wfd2_audio_codecs->list->latency;
+ } else if (!g_strcmp0 (msg->wfd2_audio_codecs->list->audio_format, "CTA")) {
+ *a_codec = GST_WFD_AUDIO_CTA;
+ *a_freq = GST_WFD_FREQ_48000;
+ *a_channels = msg->wfd2_audio_codecs->list->modes;
+ *a_bitwidth = 16;
+ *a_latency = msg->wfd2_audio_codecs->list->latency;
+ } else if (!g_strcmp0 (msg->wfd2_audio_codecs->list->audio_format, "AAC-ELDv2")) {
+ *a_codec = GST_WFD_AUDIO_AAC_ELDV2;
+ *a_freq = GST_WFD_FREQ_48000;
+ *a_channels = msg->wfd2_audio_codecs->list->modes;
*a_bitwidth = 16;
- *a_latency = msg->direct_audio_codecs->list->latency;
+ *a_latency = msg->wfd2_audio_codecs->list->latency;
}
return GST_WFD_OK;
}