diff options
author | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2008-01-24 14:25:29 +0000 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2008-01-24 14:25:29 +0000 |
commit | 449c9728f515a3b1263f6961c608328b3ad582a9 (patch) | |
tree | ce5f7affe29df1c19fa165ecf850fd181c1c586d /audio/gstsbcutil.c | |
parent | 6f15a199e037d789188b3b89e77ac78acee7812f (diff) |
Fix gtreamer payloader sending fragmented frames.
Diffstat (limited to 'audio/gstsbcutil.c')
-rw-r--r-- | audio/gstsbcutil.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/audio/gstsbcutil.c b/audio/gstsbcutil.c index 04b7217a..78024f7e 100644 --- a/audio/gstsbcutil.c +++ b/audio/gstsbcutil.c @@ -100,8 +100,8 @@ const gchar *gst_sbc_get_mode_from_list(const GValue *list) 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)); @@ -135,6 +135,19 @@ gint gst_sbc_get_mode_int(const gchar *mode) 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) { switch (joint) { @@ -183,6 +196,8 @@ const gchar *gst_sbc_get_mode_string_from_sbc_t(int channels, int joint) return "joint"; else if (channels == 2 && joint == 0) return "stereo"; + else if (channels == 1 && joint == 0) + return "mono"; else return NULL; } @@ -434,7 +449,7 @@ gboolean gst_sbc_util_fill_sbc_params(sbc_t *sbc, GstCaps *caps) 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; |