gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnunet] branch master updated: fix #4974: migrate conversa


From: gnunet
Subject: [GNUnet-SVN] [gnunet] branch master updated: fix #4974: migrate conversation GST helpers to new MST API
Date: Mon, 27 Mar 2017 17:30:32 +0200

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new 802f89d29 fix #4974: migrate conversation GST helpers to new MST API
802f89d29 is described below

commit 802f89d2979d3a92228543d42cee6bb8e3e786d1
Author: Christian Grothoff <address@hidden>
AuthorDate: Mon Mar 27 17:30:30 2017 +0200

    fix #4974: migrate conversation GST helpers to new MST API
---
 src/conversation/Makefile.am                       |  2 +-
 .../gnunet-helper-audio-playback-gst.c             | 69 +++++++++++-----------
 src/conversation/gnunet-helper-audio-record-gst.c  |  9 ++-
 src/conversation/gnunet_gst.c                      | 54 ++++++++---------
 src/conversation/gnunet_gst_def.h                  |  2 +-
 src/conversation/gnunet_gst_test.c                 |  7 +--
 6 files changed, 72 insertions(+), 71 deletions(-)

diff --git a/src/conversation/Makefile.am b/src/conversation/Makefile.am
index cc2938144..cbffc3283 100644
--- a/src/conversation/Makefile.am
+++ b/src/conversation/Makefile.am
@@ -138,7 +138,7 @@ gnunet_helper_audio_record_CFLAGS = \
  $(GST_CFLAGS)
 
 gnunet_helper_audio_playback_SOURCES = \
-    gnunet_gst_test.c gnunet_gst.c
+    gnunet-helper-audio-playback-gst.c
 gnunet_helper_audio_playback_LDADD = \
   $(top_builddir)/src/util/libgnunetutil.la \
   $(GST_LIBS) \
diff --git a/src/conversation/gnunet-helper-audio-playback-gst.c 
b/src/conversation/gnunet-helper-audio-playback-gst.c
index 9307cd12e..264b14e76 100644
--- a/src/conversation/gnunet-helper-audio-playback-gst.c
+++ b/src/conversation/gnunet-helper-audio-playback-gst.c
@@ -56,7 +56,7 @@
 /**
  * Tokenizer for the data we get from stdin
  */
-struct GNUNET_SERVER_MessageStreamTokenizer *stdin_mst;
+struct GNUNET_MessageStreamTokenizer *stdin_mst;
 
 /**
  * Main pipeline.
@@ -82,20 +82,20 @@ static int abort_read;
 
 static void
 sink_child_added (GstChildProxy *child_proxy,
-                 GObject *object, 
+                 GObject *object,
                  gchar *name,
                  gpointer user_data)
 {
   if (GST_IS_AUDIO_BASE_SRC (object))
     g_object_set (object,
-                 "buffer-time", (gint64) BUFFER_TIME, 
+                 "buffer-time", (gint64) BUFFER_TIME,
                  "latency-time", (gint64) LATENCY_TIME,
                  NULL);
 }
 
 
 static void
-ogg_pad_added (GstElement *element, 
+ogg_pad_added (GstElement *element,
               GstPad *pad,
               gpointer data)
 {
@@ -127,7 +127,7 @@ quit ()
 static gboolean
 bus_call (GstBus *bus, GstMessage *msg, gpointer data)
 {
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
              "Bus message\n");
   switch (GST_MESSAGE_TYPE (msg))
   {
@@ -141,15 +141,15 @@ bus_call (GstBus *bus, GstMessage *msg, gpointer data)
     {
       gchar  *debug;
       GError *error;
-      
+
       gst_message_parse_error (msg, &error, &debug);
       g_free (debug);
-      
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 
-                 "Error: %s\n", 
+
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                 "Error: %s\n",
                  error->message);
       g_error_free (error);
-      
+
       quit ();
       break;
     }
@@ -196,7 +196,7 @@ feed_buffer_to_gst (const char *audio, size_t b_len)
   switch (flow)
   {
   case GST_FLOW_OK:
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                "Fed %u bytes to the pipeline\n",
                (unsigned int) b_len);
     break;
@@ -207,7 +207,7 @@ feed_buffer_to_gst (const char *audio, size_t b_len)
     break;
   case GST_FLOW_EOS:
     /* end of stream */
-    GNUNET_log (GNUNET_ERROR_TYPE_INFO, 
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO,
                "EOS\n");
     break;
   default:
@@ -224,7 +224,6 @@ feed_buffer_to_gst (const char *audio, size_t b_len)
  */
 static int
 stdin_receiver (void *cls,
-               void *client,
                const struct GNUNET_MessageHeader *msg)
 {
   struct AudioMessage *audio;
@@ -253,21 +252,21 @@ main (int argc, char **argv)
   uint64_t toff;
 
   typedef void (*SignalHandlerPointer) (int);
- 
+
   SignalHandlerPointer inthandler, termhandler;
 #ifdef DEBUG_READ_PURE_OGG
   int read_pure_ogg = getenv ("GNUNET_READ_PURE_OGG") ? 1 : 0;
 #endif
 
-  inthandler = signal (SIGINT, 
+  inthandler = signal (SIGINT,
                       &signalhandler);
-  termhandler = signal (SIGTERM, 
+  termhandler = signal (SIGTERM,
                        &signalhandler);
-  
+
 #ifdef WINDOWS
   setmode (0, _O_BINARY);
 #endif
-  
+
   /* Initialisation */
   gst_init (&argc, &argv);
 
@@ -275,13 +274,13 @@ main (int argc, char **argv)
                 GNUNET_log_setup ("gnunet-helper-audio-playback-gst",
                                   "WARNING",
                                   NULL));
-  
+
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
              "Audio sink starts\n");
-  
-  stdin_mst = GNUNET_SERVER_mst_create (&stdin_receiver, 
-                                       NULL);
-  
+
+  stdin_mst = GNUNET_MST_create (&stdin_receiver,
+                                 NULL);
+
   /* Create gstreamer elements */
   pipeline = gst_pipeline_new ("audio-player");
   source   = gst_element_factory_make ("appsrc",        "audio-input");
@@ -298,13 +297,13 @@ main (int argc, char **argv)
     return -1;
   }
 
-  g_signal_connect (sink, 
+  g_signal_connect (sink,
                    "child-added",
-                   G_CALLBACK (sink_child_added), 
+                   G_CALLBACK (sink_child_added),
                    NULL);
-  g_signal_connect (demuxer, 
+  g_signal_connect (demuxer,
                    "pad-added",
-                   G_CALLBACK (ogg_pad_added), 
+                   G_CALLBACK (ogg_pad_added),
                    decoder);
 
   /* Keep a reference to it, we operate on it */
@@ -362,7 +361,7 @@ main (int argc, char **argv)
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                "Received %d bytes of audio data (total: %llu)\n",
                (int) ret,
-               toff);
+               (unsigned long long) toff);
     if (0 == ret)
       break;
 #ifdef DEBUG_READ_PURE_OGG
@@ -372,20 +371,22 @@ main (int argc, char **argv)
     }
     else
 #endif
-    GNUNET_SERVER_mst_receive (stdin_mst, NULL,
-                              readbuf, ret,
-                              GNUNET_NO, GNUNET_NO);
+    GNUNET_MST_from_buffer (stdin_mst,
+                            readbuf,
+                            ret,
+                            GNUNET_NO,
+                            GNUNET_NO);
   }
-  GNUNET_SERVER_mst_destroy (stdin_mst);
+  GNUNET_MST_destroy (stdin_mst);
 
   signal (SIGINT, inthandler);
   signal (SIGINT, termhandler);
 
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO, 
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
              "Returned, stopping playback\n");
   quit ();
 
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO, 
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
              "Deleting pipeline\n");
   gst_object_unref (GST_OBJECT (source));
   source = NULL;
diff --git a/src/conversation/gnunet-helper-audio-record-gst.c 
b/src/conversation/gnunet-helper-audio-record-gst.c
index 7f1f3368b..b9aed4ea7 100644
--- a/src/conversation/gnunet-helper-audio-record-gst.c
+++ b/src/conversation/gnunet-helper-audio-record-gst.c
@@ -352,9 +352,12 @@ main (int argc, char **argv)
         {
           if (-1 == ret)
             GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                "Failed to write %u bytes at offset %u (total %u) in phase %d: 
%s\n",
-                (unsigned int) to_send - offset, (unsigned int) offset,
-                (unsigned int) (to_send + offset), phase, strerror (errno));
+                        "Failed to write %u bytes at offset %u (total %u) in 
phase %d: %s\n",
+                        (unsigned int) (to_send - offset),
+                        (unsigned int) offset,
+                        (unsigned int) (to_send + offset),
+                        phase,
+                        strerror (errno));
           abort_send = 1;
           break;
         }
diff --git a/src/conversation/gnunet_gst.c b/src/conversation/gnunet_gst.c
index 91c6ddccb..52cb2ccbc 100644
--- a/src/conversation/gnunet_gst.c
+++ b/src/conversation/gnunet_gst.c
@@ -29,6 +29,7 @@
  */
 static struct GNUNET_CONFIGURATION_Handle *cfg;
 
+
 void
 dump_buffer(unsigned n, const unsigned char* buf)
 {
@@ -61,15 +62,13 @@ BREAKOUT:
 /***
  * load gnunet configuration
  */
-  void
+void
 gg_load_configuration(GNUNET_gstData * d)
 {
   char *audiobackend_string;
   cfg =  GNUNET_CONFIGURATION_create();
   GNUNET_CONFIGURATION_load(cfg, "mediahelper.conf");
 
-  char *section = "MEDIAHELPER";
-
   GNUNET_CONFIGURATION_get_value_string(cfg, "MEDIAHELPER", "JACK_PP_IN", 
&d->jack_pp_in);
   GNUNET_CONFIGURATION_get_value_string(cfg, "MEDIAHELPER", "JACK_PP_OUT", 
&d->jack_pp_out);
 
@@ -77,19 +76,19 @@ gg_load_configuration(GNUNET_gstData * d)
 
  // printf("abstring: %s \n", audiobackend_string);
 
-  if ( audiobackend_string == "AUTO" )
+  if (0 == strcasecmp (audiobackend_string, "AUTO"))
   {
     d->audiobackend = AUTO;
-  } else if ( audiobackend_string = "JACK" )
+  } else if (0 == strcasecmp (audiobackend_string, "JACK"))
   {
     d->audiobackend = JACK;
-  } else if ( audiobackend_string = "ALSA" )
+  } else if (0 == strcasecmp (audiobackend_string, "ALSA"))
   {
     d->audiobackend = ALSA;
-  } else if ( audiobackend_string = "FAKE" )
+  } else if (0 == strcasecmp (audiobackend_string, "FAKE"))
   {
     d->audiobackend = FAKE;
-  } else if ( audiobackend_string = "TEST" )
+  } else if (0 == strcasecmp (audiobackend_string, "TEST"))
   {
     d->audiobackend = TEST;
   } else
@@ -147,8 +146,6 @@ write_data (const char *ptr, size_t msg_size)
 extern GstFlowReturn
 on_appsink_new_sample (GstElement * element, GNUNET_gstData * d)
 {
-  static unsigned long long toff;
-
   //size of message including gnunet header
   size_t msg_size;
 
@@ -161,7 +158,6 @@ on_appsink_new_sample (GstElement * element, GNUNET_gstData 
* d)
   GstCaps *s_caps;
   char *caps_str;
 */
-  (d->audio_message)->header.size = htons ((uint16_t) msg_size);
 
   if (gst_app_sink_is_eos(GST_APP_SINK(element)))
     return GST_FLOW_OK;
@@ -197,13 +193,7 @@ on_appsink_new_sample (GstElement * element, 
GNUNET_gstData * d)
 
   // copy the data into audio_message
   GNUNET_memcpy (((char *) &(d->audio_message)[1]), map.data, len);
-/*
-  toff += msg_size;
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-              "Sending %u bytes of audio data (total: %llu)\n",
-              (unsigned int) msg_size,
-              toff);
-*/
+  (d->audio_message)->header.size = htons ((uint16_t) msg_size);
   if (d->pure_ogg)
     // write the audio_message without the gnunet headers
     write_data ((const char *) &(d->audio_message)[1], len);
@@ -589,14 +579,15 @@ autoaudiosource_child_added (GstChildProxy *child_proxy, 
GObject *object, gchar
     g_object_set (object, "buffer-time", (gint64) BUFFER_TIME, "latency-time", 
(gint64) LATENCY_TIME, NULL);
 }
 
+
 GstElement *
 get_pipeline(GstElement *element)
 {
   GstPipeline *p;
 
-  p = gst_object_get_parent(element);
+  p = GST_PIPELINE (gst_object_get_parent(GST_OBJECT (element)));
 
-  return p;
+  return GST_ELEMENT (p);
 }
 
   static void
@@ -617,6 +608,7 @@ decoder_ogg_pad_added (GstElement *element,
   gst_object_unref (sinkpad);
 }
 
+
 int
 gnunet_read (GNUNET_gstData * d)
 {
@@ -646,10 +638,13 @@ gnunet_read (GNUNET_gstData * d)
      else
      {
   //#endif
-  GNUNET_SERVER_mst_receive (d->stdin_mst, NULL,
-      readbuf, ret,
-      GNUNET_NO, GNUNET_NO);
+  GNUNET_MST_from_buffer (d->stdin_mst,
+                          readbuf,
+                          ret,
+                          GNUNET_NO,
+                          GNUNET_NO);
      }
+     return 0;
 }
 
 /**
@@ -657,13 +652,14 @@ gnunet_read (GNUNET_gstData * d)
  */
 static int
 stdin_receiver (void *cls,
-               void *client,
                const struct GNUNET_MessageHeader *msg)
 {
   struct AudioMessage *audio;
   size_t b_len;
+
   printf("stdin receiver \n ");
-  dump_buffer(sizeof(msg), msg);
+  dump_buffer (sizeof(msg),
+               (const unsigned char *) msg);
 
   switch (ntohs (msg->type))
   {
@@ -711,7 +707,7 @@ get_app(GNUNET_gstData *d, int type)
  //d->audio_message.header.type = htons 
(GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO);
 
 
-    d->stdin_mst = GNUNET_SERVER_mst_create (&stdin_receiver, d);
+    d->stdin_mst = GNUNET_MST_create (&stdin_receiver, d);
 
     if ( d->stdin_mst == NULL)
      printf("stdin_mst = NULL");
@@ -768,7 +764,7 @@ get_coder(GNUNET_gstData *d , int type)
 {
   GstBin *bin;
   GstPad *srcpad, *sinkpad, *srcghostpad, *sinkghostpad;
-  GstCaps *caps, *rtpcaps;
+  GstCaps *rtpcaps;
   GstElement *encoder, *muxer, *decoder, *demuxer, *jitterbuffer, 
*rtpcapsfilter;
 
   if ( d->usertp == TRUE )
@@ -892,7 +888,9 @@ get_coder(GNUNET_gstData *d , int type)
 
   return bin;
 }
-  extern GstBin *
+
+
+extern GstBin *
 get_audiobin(GNUNET_gstData *d , int type)
 {
   GstBin *bin;
diff --git a/src/conversation/gnunet_gst_def.h 
b/src/conversation/gnunet_gst_def.h
index 85add54b6..980ed2f48 100644
--- a/src/conversation/gnunet_gst_def.h
+++ b/src/conversation/gnunet_gst_def.h
@@ -94,7 +94,7 @@ struct GNUNET_gstData {
 
   // things
   struct AudioMessage *audio_message;
-  struct GNUNET_SERVER_MessageStreamTokenizer *stdin_mst;
+  struct GNUNET_MessageStreamTokenizer *stdin_mst;
   GstElement *appsrc;
   GstElement *appsink;
   //settings
diff --git a/src/conversation/gnunet_gst_test.c 
b/src/conversation/gnunet_gst_test.c
index 2ea007583..03f6a4d95 100644
--- a/src/conversation/gnunet_gst_test.c
+++ b/src/conversation/gnunet_gst_test.c
@@ -18,7 +18,7 @@
   Boston, MA 02110-1301, USA.
 */
 /**
- * @file conversation/gnunet_gst.c
+ * @file conversation/gnunet_gst_test.c
  * @brief FIXME
  * @author Hark
  */
@@ -30,8 +30,7 @@ int
 main (int argc, char *argv[])
 {
   struct GNUNET_gstData *gst;
-  GstBus *bus;
-  GstMessage *msg;
+  // GstBus *bus;
   GstElement *gnunetsrc, *gnunetsink, *source, *sink, *encoder, *decoder;
 
 
@@ -137,7 +136,7 @@ main (int argc, char *argv[])
  }
   g_print ("Returned, stopping playback\n");
 
-  gst_object_unref (bus);
+  // gst_object_unref (bus);
   gst_element_set_state (GST_ELEMENT(gst->pipeline), GST_STATE_NULL);
   gst_object_unref (gst->pipeline);
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]