diff options
Diffstat (limited to 'src/conversation/speaker.c')
-rw-r--r-- | src/conversation/speaker.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/conversation/speaker.c b/src/conversation/speaker.c index 5fdfff3ee..d67346f1f 100644 --- a/src/conversation/speaker.c +++ b/src/conversation/speaker.c | |||
@@ -130,20 +130,18 @@ play (void *cls, | |||
130 | const void *data) | 130 | const void *data) |
131 | { | 131 | { |
132 | struct Speaker *spe = cls; | 132 | struct Speaker *spe = cls; |
133 | const struct AudioMessage *am; | 133 | char buf[sizeof (struct AudioMessage) + data_size]; |
134 | struct AudioMessage *am; | ||
134 | 135 | ||
135 | if (NULL == spe->playback_helper) | 136 | if (NULL == spe->playback_helper) |
136 | { | 137 | { |
137 | GNUNET_break (0); | 138 | GNUNET_break (0); |
138 | return; | 139 | return; |
139 | } | 140 | } |
140 | // FIXME: box here, instead of expecting boxed data! | 141 | am = (struct AudioMessage *) buf; |
141 | if (sizeof (struct AudioMessage) > data_size) | 142 | am->header.size = htons (sizeof (struct AudioMessage) + data_size); |
142 | { | 143 | am->header.type = htons (GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO); |
143 | GNUNET_break (0); | 144 | memcpy (&am[1], data, data_size); |
144 | return; | ||
145 | } | ||
146 | am = (const struct AudioMessage *) data; | ||
147 | (void) GNUNET_HELPER_send (spe->playback_helper, | 145 | (void) GNUNET_HELPER_send (spe->playback_helper, |
148 | &am->header, | 146 | &am->header, |
149 | GNUNET_NO, | 147 | GNUNET_NO, |