Add mbtk_loopbuff and rtp support.

Change-Id: Idc80af4efb8ff76c4afc59fdf1d3896b453e6ff4
diff --git a/mbtk/test/libmbtk_lib/mbtk_rtp_test.c b/mbtk/test/libmbtk_lib/mbtk_rtp_test.c
new file mode 100755
index 0000000..2140e25
--- /dev/null
+++ b/mbtk/test/libmbtk_lib/mbtk_rtp_test.c
@@ -0,0 +1,155 @@
+#include <sys/stat.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "mbtk_rtp.h"
+#include "mbtk_log.h"
+
+
+static void help()
+{
+    printf("rtp_mode <0/1>: Disable/Enable RTP.\n");
+    printf("volume <0-7>: Set volume.\n");
+    printf("remote_ip <xxx:xxx:xxx:xxx>: Set remote ip.\n");
+    printf("client_port <port>: Set client(local) port.\n");
+    printf("server_port <port>: Set server(remote) port.\n");
+    printf("sample_rate <8000/16000>: Set sample rate.\n");
+    printf("channel <1>: Set channel.\n");
+}
+
+
+static void sig_handler(int sig)
+{
+    if(mbtk_rtp_deinit()) {
+        printf("mbtk_rtp_deinit() fail.\n");
+    }
+
+    printf("Success exit by signal...\n");
+    exit(0);
+}
+
+int main(int argc, char *argv[])
+{
+    mbtk_log_init("radio", "RTP_CLI");
+
+    if(mbtk_rtp_init()) {
+        printf("mbtk_rtp_init() fail.\n");
+        return -1;
+    }
+
+    signal(SIGINT, sig_handler);
+    signal(SIGTERM, sig_handler);
+
+    char cmd[100];
+    bool running = TRUE;
+    while(running)
+    {
+        memset(cmd, 0, 100);
+//        int err;
+        // printf("0 : Disable    1 : Enable    Other : Exit\n");
+        help();
+        if(fgets(cmd, 100, stdin))
+        {
+            if(cmd[0] == '\r' || cmd[0] == '\n')
+                continue;
+            char *ptr = cmd + strlen(cmd) - 1;
+            while(ptr >= cmd && (*ptr == '\r' || *ptr == '\n'))
+            {
+                *ptr-- = '\0';
+            }
+
+            if(!strncasecmp(cmd, "rtp_mode", 8))
+            {
+                int temp;
+                if(1 == sscanf(cmd, "rtp_mode %d", &temp)) {
+                    if(mbtk_rtp_enable((bool)temp)) {
+                        printf("Error\n");
+                    } else {
+                        printf("Success\n");
+                    }
+                }
+            }
+            else if(!strncasecmp(cmd, "volume", 6)){
+                int temp;
+                if(1 == sscanf(cmd, "volume %d", &temp)) {
+                    if(mbtk_rtp_volume_set(temp)) {
+                        printf("Error\n");
+                    } else {
+                        printf("Success\n");
+                    }
+                }
+            }
+            else if(!strncasecmp(cmd, "remote_ip", 9)){
+                char ipv4[20] = {0};
+                if(1 == sscanf(cmd, "remote_ip %s", ipv4)) {
+                    if(mbtk_rtp_remote_ip_set(ipv4)) {
+                        printf("Error\n");
+                    } else {
+                        printf("Success\n");
+                    }
+                }
+            }
+            else if(!strncasecmp(cmd, "client_port", 11)){
+                int temp;
+                if(1 == sscanf(cmd, "client_port %d", &temp)) {
+                    if(mbtk_rtp_client_port_set(temp)) {
+                        printf("Error\n");
+                    } else {
+                        printf("Success\n");
+                    }
+                }
+            }
+            else if(!strncasecmp(cmd, "server_port", 11)){
+                int temp;
+                if(1 == sscanf(cmd, "server_port %d", &temp)) {
+                    if(mbtk_rtp_server_port_set(temp)) {
+                        printf("Error\n");
+                    } else {
+                        printf("Success\n");
+                    }
+                }
+            }
+            else if(!strncasecmp(cmd, "sample_rate", 11)){
+                int temp;
+                if(1 == sscanf(cmd, "sample_rate %d", &temp)) {
+                    if(mbtk_rtp_sample_rate_set(temp)) {
+                        printf("Error\n");
+                    } else {
+                        printf("Success\n");
+                    }
+                }
+            }
+            else if(!strncasecmp(cmd, "channel", 7)){
+                int temp;
+                if(1 == sscanf(cmd, "channel %d", &temp)) {
+                    if(mbtk_rtp_channel_set(temp)) {
+                        printf("Error\n");
+                    } else {
+                        printf("Success\n");
+                    }
+                }
+            }
+
+            else if(!strcasecmp(cmd, "h") || !strcasecmp(cmd, "help")) {
+                help();
+            } else if(!strcasecmp(cmd, "q")) {
+                break;
+            } else {
+                printf("\n");
+            }
+        }
+    }
+
+//exit:
+    if(mbtk_rtp_deinit()) {
+        printf("mbtk_rtp_deinit() fail.\n");
+        return -1;
+    }
+
+    printf("Success exit.\n");
+    return 0;
+}