OSDN Git Service

Expose function audio_a2dp_hw_dump_ctrl_event()
authorPavlin Radoslavov <pavlin@google.com>
Fri, 19 Aug 2016 22:04:18 +0000 (15:04 -0700)
committerAndre Eisenbach <eisenbach@google.com>
Mon, 22 Aug 2016 17:17:34 +0000 (17:17 +0000)
Renamed function dump_a2dp_ctrl_event() to
audio_a2dp_hw_dump_ctrl_event() and expose it, so it can be used
by outside code to print events.

Change-Id: Ibd9d3171c7d5256f80101ecc1563b472b7f5e92d

audio_a2dp_hw/Android.mk
audio_a2dp_hw/BUILD.gn
audio_a2dp_hw/audio_a2dp_hw.cc
audio_a2dp_hw/audio_a2dp_hw.h
audio_a2dp_hw/audio_a2dp_hw_utils.cc [new file with mode: 0644]

index 3892898..ecad094 100644 (file)
@@ -6,9 +6,10 @@ include $(CLEAR_VARS)
 LOCAL_CPP_EXTENSION := .cc
 
 LOCAL_SRC_FILES := \
-       audio_a2dp_hw.cc
+       audio_a2dp_hw.cc \
+       audio_a2dp_hw_utils.cc
 
-LOCAL_C_INCLUDES += \
+LOCAL_C_INCLUDES := \
        . \
        $(LOCAL_PATH)/../ \
        $(LOCAL_PATH)/../utils/include
index 5652c96..e4f592d 100644 (file)
@@ -17,6 +17,7 @@
 shared_library("audio.a2dp.default") {
   sources = [
     "audio_a2dp_hw.cc",
+    "audio_a2dp_hw_utils.cc",
   ]
 
   include_dirs = [
index 97c628d..3ac5069 100644 (file)
@@ -61,8 +61,6 @@
 // set WRITE_POLL_MS to 0 for blocking sockets, nonzero for polled non-blocking sockets
 #define WRITE_POLL_MS 20
 
-#define CASE_RETURN_STR(const) case const: return #const;
-
 #define FNLOG()             LOG_VERBOSE(LOG_TAG, "%s", __func__);
 #define DEBUG(fmt, ...)     LOG_VERBOSE(LOG_TAG, "%s: " fmt,__func__, ## __VA_ARGS__)
 #define INFO(fmt, ...)      LOG_INFO(LOG_TAG, "%s: " fmt,__func__, ## __VA_ARGS__)
@@ -139,28 +137,12 @@ static size_t out_get_buffer_size(const struct audio_stream *stream);
 /*****************************************************************************
 **  Functions
 ******************************************************************************/
-/* Function used only in debug mode */
-static const char* dump_a2dp_ctrl_event(char event) __attribute__ ((unused));
 static void a2dp_open_ctrl_path(struct a2dp_stream_common *common);
 
 /*****************************************************************************
 **   Miscellaneous helper functions
 ******************************************************************************/
 
-static const char* dump_a2dp_ctrl_event(char event)
-{
-    switch(event)
-    {
-        CASE_RETURN_STR(A2DP_CTRL_CMD_NONE)
-        CASE_RETURN_STR(A2DP_CTRL_CMD_CHECK_READY)
-        CASE_RETURN_STR(A2DP_CTRL_CMD_START)
-        CASE_RETURN_STR(A2DP_CTRL_CMD_STOP)
-        CASE_RETURN_STR(A2DP_CTRL_CMD_SUSPEND)
-        default:
-            return "UNKNOWN MSG ID";
-    }
-}
-
 /* logs timestamp with microsec precision
    pprev is optional in case a dedicated diff is required */
 static void ts_log(const char *tag, int val, struct timespec *pprev_opt)
@@ -360,11 +342,11 @@ static int a2dp_ctrl_receive(struct a2dp_stream_common *common, void* buffer, in
     return ret;
 }
 
-static int a2dp_command(struct a2dp_stream_common *common, char cmd)
+static int a2dp_command(struct a2dp_stream_common *common, tA2DP_CTRL_CMD cmd)
 {
     char ack;
 
-    DEBUG("A2DP COMMAND %s", dump_a2dp_ctrl_event(cmd));
+    DEBUG("A2DP COMMAND %s", audio_a2dp_hw_dump_ctrl_event(cmd));
 
     if (common->ctrl_fd == AUDIO_SKT_DISCONNECTED) {
         INFO("recovering from previous error");
@@ -388,16 +370,18 @@ static int a2dp_command(struct a2dp_stream_common *common, char cmd)
 
     /* wait for ack byte */
     if (a2dp_ctrl_receive(common, &ack, 1) < 0) {
-        ERROR("A2DP COMMAND %s: no ACK", dump_a2dp_ctrl_event(cmd));
+        ERROR("A2DP COMMAND %s: no ACK", audio_a2dp_hw_dump_ctrl_event(cmd));
         return -1;
     }
 
-    DEBUG("A2DP COMMAND %s DONE STATUS %d", dump_a2dp_ctrl_event(cmd), ack);
+    DEBUG("A2DP COMMAND %s DONE STATUS %d", audio_a2dp_hw_dump_ctrl_event(cmd),
+          ack);
 
     if (ack == A2DP_CTRL_ACK_INCALL_FAILURE)
         return ack;
     if (ack != A2DP_CTRL_ACK_SUCCESS) {
-        ERROR("A2DP COMMAND %s error %d", dump_a2dp_ctrl_event(cmd), ack);
+        ERROR("A2DP COMMAND %s error %d", audio_a2dp_hw_dump_ctrl_event(cmd),
+              ack);
         return -1;
     }
 
index 11d438a..af3f219 100644 (file)
@@ -111,16 +111,15 @@ typedef enum {
 **  Functions
 ******************************************************************************/
 
+#ifdef __cplusplus
+extern "C" {
+#endif
 
-/*****************************************************************************
-**
-** Function
-**
-** Description
-**
-** Returns
-**
-******************************************************************************/
+// Returns a string representation of |event|.
+extern const char* audio_a2dp_hw_dump_ctrl_event(tA2DP_CTRL_CMD event);
 
-#endif /* A2DP_AUDIO_HW_H */
+#ifdef __cplusplus
+}
+#endif
 
+#endif /* A2DP_AUDIO_HW_H */
diff --git a/audio_a2dp_hw/audio_a2dp_hw_utils.cc b/audio_a2dp_hw/audio_a2dp_hw_utils.cc
new file mode 100644 (file)
index 0000000..40d3ade
--- /dev/null
@@ -0,0 +1,38 @@
+/******************************************************************************
+ *
+ *  Copyright (C) 2009-2012 Broadcom Corporation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at:
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ ******************************************************************************/
+
+#include "audio_a2dp_hw.h"
+
+#define CASE_RETURN_STR(const) case const: return #const;
+
+const char* audio_a2dp_hw_dump_ctrl_event(tA2DP_CTRL_CMD event)
+{
+    switch (event) {
+        CASE_RETURN_STR(A2DP_CTRL_CMD_NONE)
+        CASE_RETURN_STR(A2DP_CTRL_CMD_CHECK_READY)
+        CASE_RETURN_STR(A2DP_CTRL_CMD_START)
+        CASE_RETURN_STR(A2DP_CTRL_CMD_STOP)
+        CASE_RETURN_STR(A2DP_CTRL_CMD_SUSPEND)
+        CASE_RETURN_STR(A2DP_CTRL_GET_AUDIO_CONFIG)
+        CASE_RETURN_STR(A2DP_CTRL_CMD_OFFLOAD_START)
+    default:
+        break;
+    }
+
+    return "UNKNOWN A2DP_CTRL_CMD";
+}