*/
#define MM_PLAYER_GET_ATTRS(x_player) (MM_PLAYER_CAST(x_player)->attrs)
-#define ROTATION_USING_SINK 0
-#define ROTATION_USING_CUSTOM 1
-#define ROTATION_USING_FLIP 2
+#define ROTATION_USING_SINK 0
+#define ROTATION_USING_CUSTOM 1
+#define ROTATION_USING_FLIP 2
+
+#define MM_MAX_STRING_LENGTH 4000 /* have to be less than MUSE_MSG_MAX_LENGTH */
/*---------------------------------------------------------------------------
| GLOBAL CONSTANT DEFINITIONS: |
/* macro for better code readability */
#define MMPLAYER_UPDATE_TAG_STRING(gsttag, attribute, playertag) \
if (gst_tag_list_get_string(tag_list, gsttag, &string)) {\
- if (string != NULL) {\
- SECURE_LOGD("update tag string : %s\n", string); \
- mm_attrs_set_string_by_name(attribute, playertag, string); \
- g_free(string);\
- string = NULL;\
+ if (string != NULL) { \
+ SECURE_LOGD("%d update tag string : %s\n", strlen(string), string); \
+ if (strlen(string) > MM_MAX_STRING_LENGTH) { \
+ char *new_string = malloc(MM_MAX_STRING_LENGTH); \
+ strncpy(new_string, string, MM_MAX_STRING_LENGTH-1); \
+ new_string[MM_MAX_STRING_LENGTH-1] = '\0'; \
+ mm_attrs_set_string_by_name(attribute, playertag, new_string); \
+ g_free(new_string); \
+ new_string = NULL; \
+ } else { \
+ mm_attrs_set_string_by_name(attribute, playertag, string); \
+ } \
+ g_free(string); \
+ string = NULL; \
} \
}