[0.2.64] add err handling of msg send funct 49/153649/1
authorEunhae Choi <eunhae1.choi@samsung.com>
Fri, 29 Sep 2017 05:03:26 +0000 (14:03 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Fri, 29 Sep 2017 05:03:26 +0000 (14:03 +0900)
Change-Id: Ia58ee06c8feb25888136fc9b5a27a727e89d641b

muse/include/muse_player_msg.h
packaging/mmsvc-player.spec

index 32565eb77de2855dab5c480fae9f728e52726269..8a87033226ed1b0bb6a279d1006eec3b2f786727 100644 (file)
@@ -25,6 +25,7 @@ extern "C" {
 #include <media_packet.h>
 #include <media_format.h>
 #include <muse_server.h>
+#include <mm_error.h>
 
 typedef int32_t INT;
 typedef int64_t INT64;
@@ -253,6 +254,45 @@ typedef struct {
                } \
        } while (0)
 
+#define player_send_msg_with_no_return(fd, msg) \
+       do { \
+               int __len__ = 0; \
+               if (fd != MM_ERROR_INVALID_ARGUMENT) {  \
+                       __len__ = muse_core_msg_send(fd, msg); \
+                       if (__len__ <= 0) \
+                               LOGE("sending message failed"); \
+               } else {        \
+                       LOGE("get msg fd failed");      \
+               }       \
+       } while (0)
+
+#define player_send_msg(fd, msg, ret) \
+       do { \
+               int __len__ = 0; \
+               if (fd != MM_ERROR_INVALID_ARGUMENT) {  \
+                       __len__ = muse_core_msg_send(fd, msg); \
+                       if (__len__ <= 0) { \
+                               LOGE("sending message failed"); \
+                               ret = PLAYER_ERROR_INVALID_OPERATION; \
+                       } \
+               } else {        \
+                       LOGE("get msg fd failed");      \
+                       ret = PLAYER_ERROR_INVALID_OPERATION; \
+               }       \
+       } while (0)
+
+#define player_send_msg_with_fd(fd, tfd, msg) \
+       do { \
+               int __len__ = 0; \
+               if (fd != MM_ERROR_INVALID_ARGUMENT) {  \
+                       __len__ = muse_core_msg_send_fd(fd, tfd, msg); \
+                       if (__len__ <= 0) \
+                               LOGE("sending message failed"); \
+               } else {        \
+                       LOGE("get msg fd failed");      \
+               }       \
+       } while (0)
+
 /**
  * @brief Create and send return message.
  * @remarks Does NOT guarantee thread safe.
@@ -263,15 +303,10 @@ typedef struct {
 #define player_msg_return(api, ret, module) \
        do {    \
                char *__sndMsg__; \
-               int __len__; \
                __sndMsg__ = muse_core_msg_new(api, \
                                MUSE_TYPE_INT, MUSE_PARAM_RETURN, ret, \
                                0); \
-               __len__ = muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
-               if (__len__ <= 0) { \
-                       LOGE("sending message failed"); \
-                       ret = PLAYER_ERROR_INVALID_OPERATION; \
-               } \
+               player_send_msg(muse_server_module_get_msg_fd(module), __sndMsg__, ret); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -287,17 +322,12 @@ typedef struct {
 #define player_msg_return1(api, ret, module, type, param) \
        do {    \
                char *__sndMsg__; \
-               int __len__; \
                type __value__ = (type)param; \
                __sndMsg__ = muse_core_msg_new(api, \
                                MUSE_TYPE_INT, MUSE_PARAM_RETURN, ret, \
                                MUSE_TYPE_##type, #param, __value__, \
                                0); \
-               __len__ = muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
-               if (__len__ <= 0) { \
-                       LOGE("sending message failed"); \
-                       ret = PLAYER_ERROR_INVALID_OPERATION; \
-               } \
+               player_send_msg(muse_server_module_get_msg_fd(module), __sndMsg__, ret); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -313,7 +343,6 @@ typedef struct {
 #define player_msg_return2(api, ret, module, type1, param1, type2, param2) \
        do {    \
                char *__sndMsg__; \
-               int __len__; \
                type1 __value1__ = (type1)param1; \
                type2 __value2__ = (type2)param2; \
                __sndMsg__ = muse_core_msg_new(api, \
@@ -321,11 +350,7 @@ typedef struct {
                                MUSE_TYPE_##type1, #param1, __value1__, \
                                MUSE_TYPE_##type2, #param2, __value2__, \
                                0); \
-               __len__ = muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
-               if (__len__ <= 0) { \
-                       LOGE("sending message failed"); \
-                       ret = PLAYER_ERROR_INVALID_OPERATION; \
-               } \
+               player_send_msg(muse_server_module_get_msg_fd(module), __sndMsg__, ret); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -341,7 +366,6 @@ typedef struct {
 #define player_msg_return3(api, ret, module, type1, param1, type2, param2, type3, param3) \
        do {    \
                char *__sndMsg__; \
-               int __len__; \
                type1 __value1__ = (type1)param1; \
                type2 __value2__ = (type2)param2; \
                type3 __value3__ = (type3)param3; \
@@ -351,11 +375,7 @@ typedef struct {
                                MUSE_TYPE_##type2, #param2, __value2__, \
                                MUSE_TYPE_##type3, #param3, __value3__, \
                                0); \
-               __len__ = muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
-               if (__len__ <= 0) { \
-                       LOGE("sending message failed"); \
-                       ret = PLAYER_ERROR_INVALID_OPERATION; \
-               } \
+               player_send_msg(muse_server_module_get_msg_fd(module), __sndMsg__, ret); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -371,7 +391,6 @@ typedef struct {
 #define player_msg_return4(api, ret, module, type1, param1, type2, param2, type3, param3, type4, param4) \
        do {    \
                char *__sndMsg__; \
-               int __len__; \
                type1 __value1__ = (type1)param1; \
                type2 __value2__ = (type2)param2; \
                type3 __value3__ = (type3)param3; \
@@ -383,11 +402,7 @@ typedef struct {
                                MUSE_TYPE_##type3, #param3, __value3__, \
                                MUSE_TYPE_##type4, #param4, __value4__, \
                                0); \
-               __len__ = muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
-               if (__len__ <= 0) { \
-                       LOGE("sending message failed"); \
-                       ret = PLAYER_ERROR_INVALID_OPERATION; \
-               } \
+               player_send_msg(muse_server_module_get_msg_fd(module), __sndMsg__, ret); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -404,7 +419,6 @@ typedef struct {
 #define player_msg_return_array(api, ret, module, param, length, datum_size) \
        do {    \
                char *__sndMsg__; \
-               int __len__; \
                int *__value__ = (int *)param; \
                __sndMsg__ = muse_core_msg_new(api, \
                                MUSE_TYPE_INT, MUSE_PARAM_RETURN, ret, \
@@ -414,11 +428,7 @@ typedef struct {
                                        length / sizeof(int) + (length % sizeof(int) ? 1 : 0), \
                                        __value__, \
                                0); \
-               __len__ = muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
-               if (__len__ <= 0) { \
-                       LOGE("sending message failed"); \
-                       ret = PLAYER_ERROR_INVALID_OPERATION; \
-               } \
+               player_send_msg(muse_server_module_get_msg_fd(module), __sndMsg__, ret); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -434,8 +444,8 @@ typedef struct {
  */
 #define player_msg_return2_fd(api, ret, module, type1, param1, type2, param2, tfd) \
        do { \
+               int __fd__; \
                char *__sndMsg__; \
-               int __len__; \
                type1 __value1__ = (type1)param1; \
                type2 __value2__ = (type2)param2; \
                int __tfd__[MUSE_NUM_FD]; \
@@ -446,11 +456,16 @@ typedef struct {
                                MUSE_TYPE_##type1, #param1, __value1__, \
                                MUSE_TYPE_##type2, #param2, __value2__, \
                                0); \
-               __len__ = muse_core_msg_send_fd(muse_server_module_get_msg_fd(module), __tfd__, __sndMsg__); \
-               if (__len__ <= 0) { \
-                       LOGE("sending message failed"); \
+               __fd__ = muse_server_module_get_msg_fd(module); \
+               if (__fd__ != MM_ERROR_INVALID_ARGUMENT) {      \
+                       if (muse_core_msg_send_fd(__fd__, __tfd__, __sndMsg__) <= 0) { \
+                               LOGE("sending message failed"); \
+                               ret = PLAYER_ERROR_INVALID_OPERATION; \
+                       } \
+               } else {        \
+                       LOGE("get msg fd failed");      \
                        ret = PLAYER_ERROR_INVALID_OPERATION; \
-               } \
+               }       \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -467,7 +482,7 @@ typedef struct {
                __sndMsg__ = muse_core_msg_new(api, \
                                MUSE_TYPE_INT, MUSE_PARAM_EVENT, event, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -488,7 +503,7 @@ typedef struct {
                                MUSE_TYPE_INT, MUSE_PARAM_EVENT, event, \
                                MUSE_TYPE_##type, #param, __value__, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -511,7 +526,7 @@ typedef struct {
                                MUSE_TYPE_##type1, #param1, __value1__, \
                                MUSE_TYPE_##type2, #param2, __value2__, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -536,7 +551,7 @@ typedef struct {
                                MUSE_TYPE_##type2, #param2, __value2__, \
                                MUSE_TYPE_##type3, #param3, __value3__, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -563,7 +578,7 @@ typedef struct {
                                MUSE_TYPE_##type3, #param3, __value3__, \
                                MUSE_TYPE_##type4, #param4, __value4__, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -589,7 +604,7 @@ typedef struct {
                                        length / sizeof(int) + (length % sizeof(int) ? 1 : 0), \
                                        __arr_value__, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -614,7 +629,7 @@ typedef struct {
                                MUSE_TYPE_INT, MUSE_PARAM_EVENT, event, \
                                MUSE_TYPE_##type, #param, __value__, \
                                0); \
-               muse_core_msg_send_fd(muse_server_module_get_msg_fd(module), __tfd__, __sndMsg__); \
+               player_send_msg_with_fd(muse_server_module_get_msg_fd(module), __tfd__, __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -645,7 +660,7 @@ typedef struct {
                                MUSE_TYPE_##type3, #param3, __value3__, \
                                MUSE_TYPE_##type4, #param4, __value4__, \
                                0); \
-               muse_core_msg_send_fd(muse_server_module_get_msg_fd(module), __tfd__, __sndMsg__); \
+               player_send_msg_with_fd(muse_server_module_get_msg_fd(module), __tfd__, __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -675,7 +690,7 @@ typedef struct {
                                        length / sizeof(int) + (length % sizeof(int) ? 1 : 0), \
                                        __arr_value__, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -707,7 +722,7 @@ typedef struct {
                                        length / sizeof(int) + (length % sizeof(int) ? 1 : 0), \
                                        __arr_value__, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -741,7 +756,7 @@ typedef struct {
                                        length / sizeof(int) + (length % sizeof(int) ? 1 : 0), \
                                        __arr_value__, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -777,7 +792,7 @@ typedef struct {
                                        length / sizeof(int) + (length % sizeof(int) ? 1 : 0), \
                                        __arr_value__, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -815,7 +830,7 @@ typedef struct {
                                        length / sizeof(int) + (length % sizeof(int) ? 1 : 0), \
                                        __arr_value__, \
                                0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -858,7 +873,7 @@ typedef struct {
                                        length / sizeof(int) + (length % sizeof(int) ? 1 : 0), \
                                        __arr_value__, \
                                0); \
-               muse_core_msg_send_fd(muse_server_module_get_msg_fd(module), tfd, __sndMsg__); \
+               player_send_msg_with_fd(muse_server_module_get_msg_fd(module), tfd, __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
@@ -872,12 +887,11 @@ typedef struct {
                char *__sndMsg__; \
                __sndMsg__ = muse_core_msg_new(MUSE_PLAYER_CB_CREATE_ACK, \
                                        0); \
-               muse_core_msg_send(muse_server_module_get_msg_fd(module), __sndMsg__); \
+               player_send_msg_with_no_return(muse_server_module_get_msg_fd(module), __sndMsg__); \
                muse_core_msg_free(__sndMsg__); \
        } while (0)
 
 
-
 #ifdef __cplusplus
 }
 #endif
index 17e404cc130a072d5b17fcfb66fc7dee5e000808..074dd8eb8362c1e5b6ab70ae543bf15e94299bf9 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mmsvc-player
 Summary:    A Media Player module for muse server
-Version:    0.2.63
+Version:    0.2.64
 Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0