for (i = 0; i < size; i++) {
value = gst_value_list_get_value (list, i);
aux = g_value_get_string (value);
- if (strcmp ("stereo", aux) == 0) {
- return "stereo";
+ if (strcmp ("joint", aux) == 0) {
+ return "joint";
}
}
return g_value_get_string (gst_value_list_get_value (list, size - 1));
return -1;
}
+/* FIXME add dual when sbc_t supports it */
+gboolean
+gst_sbc_get_mode_int_for_sbc_t (const gchar * mode)
+{
+ if (g_ascii_strcasecmp (mode, "joint") == 0)
+ return TRUE;
+ else if (g_ascii_strcasecmp (mode, "stereo") == 0)
+ return FALSE;
+ else if (g_ascii_strcasecmp (mode, "mono") == 0)
+ return FALSE;
+ else
+ return -1;
+}
+
const gchar *
gst_sbc_get_mode_string (int joint)
{
return "joint";
else if (channels == 2 && joint == 0)
return "stereo";
+ else if (channels == 1 && joint == 0)
+ return "mono";
else
return NULL;
}
sbc->blocks = blocks;
sbc->subbands = subbands;
sbc->bitpool = bitpool;
- sbc->joint = gst_sbc_get_mode_int (mode);
+ sbc->joint = gst_sbc_get_mode_int_for_sbc_t (mode);
sbc->allocation = gst_sbc_get_allocation_mode_int (allocation);
return TRUE;