aboutsummaryrefslogtreecommitdiff
path: root/src/conversation/gnunet-helper-audio-playback.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/conversation/gnunet-helper-audio-playback.c')
-rw-r--r--src/conversation/gnunet-helper-audio-playback.c39
1 files changed, 31 insertions, 8 deletions
diff --git a/src/conversation/gnunet-helper-audio-playback.c b/src/conversation/gnunet-helper-audio-playback.c
index f96878051..5c13f2877 100644
--- a/src/conversation/gnunet-helper-audio-playback.c
+++ b/src/conversation/gnunet-helper-audio-playback.c
@@ -144,17 +144,22 @@ process_header (ogg_packet *op)
144 OpusDecoder *dec; 144 OpusDecoder *dec;
145 struct OpusHeadPacket header; 145 struct OpusHeadPacket header;
146 146
147 if (op->bytes < sizeof (header)) 147 if ( ((unsigned int) op->bytes) < sizeof (header))
148 return NULL; 148 return NULL;
149 GNUNET_memcpy (&header, op->packet, sizeof (header)); 149 GNUNET_memcpy (&header,
150 op->packet,
151 sizeof (header));
150 header.preskip = GNUNET_le16toh (header.preskip); 152 header.preskip = GNUNET_le16toh (header.preskip);
151 header.sampling_rate = GNUNET_le32toh (header.sampling_rate); 153 header.sampling_rate = GNUNET_le32toh (header.sampling_rate);
152 header.gain = GNUNET_le16toh (header.gain); 154 header.gain = GNUNET_le16toh (header.gain);
153 155
154 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 156 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
155 "Header: v%u, %u-ch, skip %u, %uHz, %u gain\n", 157 "Header: v%u, %u-ch, skip %u, %uHz, %u gain\n",
156 header.version, header.channels, header.preskip, header.sampling_rate, header.gain); 158 header.version,
157 159 header.channels,
160 header.preskip,
161 header.sampling_rate,
162 header.gain);
158 channels = header.channels; 163 channels = header.channels;
159 preskip = header.preskip; 164 preskip = header.preskip;
160 165
@@ -333,7 +338,8 @@ audio_write (int64_t maxout)
333static void 338static void
334quit (int ret) 339quit (int ret)
335{ 340{
336 mainloop_api->quit (mainloop_api, ret); 341 mainloop_api->quit (mainloop_api,
342 ret);
337 exit (ret); 343 exit (ret);
338} 344}
339 345
@@ -539,6 +545,7 @@ ogg_demux_and_decode ()
539 } 545 }
540} 546}
541 547
548
542/** 549/**
543 * Message callback 550 * Message callback
544 * 551 *
@@ -555,6 +562,7 @@ stdin_receiver (void *cls,
555 char *data; 562 char *data;
556 size_t payload_len; 563 size_t payload_len;
557 564
565 (void) cls;
558 switch (ntohs (msg->type)) 566 switch (ntohs (msg->type))
559 { 567 {
560 case GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO: 568 case GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO:
@@ -585,6 +593,9 @@ stream_write_callback (pa_stream *s,
585 void *userdata) 593 void *userdata)
586{ 594{
587 /* unblock 'main' */ 595 /* unblock 'main' */
596 (void) userdata;
597 (void) length;
598 (void) s;
588 if (-1 != ready_pipe[1]) 599 if (-1 != ready_pipe[1])
589 { 600 {
590 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 601 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -603,6 +614,10 @@ exit_signal_callback (pa_mainloop_api *m,
603 int sig, 614 int sig,
604 void *userdata) 615 void *userdata)
605{ 616{
617 (void) m;
618 (void) e;
619 (void) sig;
620 (void) userdata;
606 GNUNET_log (GNUNET_ERROR_TYPE_INFO, 621 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
607 _("gnunet-helper-audio-playback - Got signal, exiting\n")); 622 _("gnunet-helper-audio-playback - Got signal, exiting\n"));
608 quit (1); 623 quit (1);
@@ -618,6 +633,7 @@ context_state_callback (pa_context *c,
618{ 633{
619 int p; 634 int p;
620 635
636 (void) userdata;
621 GNUNET_assert (NULL != c); 637 GNUNET_assert (NULL != c);
622 switch (pa_context_get_state (c)) 638 switch (pa_context_get_state (c))
623 { 639 {
@@ -730,7 +746,11 @@ ogg_init ()
730static void 746static void
731drain_callback (pa_stream*s, int success, void *userdata) 747drain_callback (pa_stream*s, int success, void *userdata)
732{ 748{
733 pa_threaded_mainloop_signal (m, 0); 749 (void) s;
750 (void) success;
751 (void) userdata;
752 pa_threaded_mainloop_signal (m,
753 0);
734} 754}
735 755
736 756
@@ -745,7 +765,6 @@ int
745main (int argc, char *argv[]) 765main (int argc, char *argv[])
746{ 766{
747 static unsigned long long toff; 767 static unsigned long long toff;
748
749 char readbuf[MAXLINE]; 768 char readbuf[MAXLINE];
750 struct GNUNET_MessageStreamTokenizer *stdin_mst; 769 struct GNUNET_MessageStreamTokenizer *stdin_mst;
751 char c; 770 char c;
@@ -754,6 +773,8 @@ main (int argc, char *argv[])
754 int read_pure_ogg = getenv ("GNUNET_READ_PURE_OGG") ? 1 : 0; 773 int read_pure_ogg = getenv ("GNUNET_READ_PURE_OGG") ? 1 : 0;
755#endif 774#endif
756 775
776 (void) argc;
777 (void) argv;
757 GNUNET_assert (GNUNET_OK == 778 GNUNET_assert (GNUNET_OK ==
758 GNUNET_log_setup ("gnunet-helper-audio-playback", 779 GNUNET_log_setup ("gnunet-helper-audio-playback",
759 "WARNING", 780 "WARNING",
@@ -778,7 +799,9 @@ main (int argc, char *argv[])
778#endif 799#endif
779 while (1) 800 while (1)
780 { 801 {
781 ret = read (0, readbuf, sizeof (readbuf)); 802 ret = read (STDIN_FILENO,
803 readbuf,
804 sizeof (readbuf));
782 toff += ret; 805 toff += ret;
783 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 806 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
784 "Received %d bytes of audio data (total: %llu)\n", 807 "Received %d bytes of audio data (total: %llu)\n",