Sync with 2.4 [Fixed prevent issues]. 49/52749/1
authorDeepak Srivastava <srivastava.d@samsung.com>
Thu, 26 Nov 2015 11:20:16 +0000 (16:50 +0530)
committerDeepak Srivastava <srivastava.d@samsung.com>
Thu, 26 Nov 2015 11:21:05 +0000 (16:51 +0530)
Change-Id: Ia51931316598785c1822398a0e24d04b0c4ad6ff
Signed-off-by: Deepak Srivastava <srivastava.d@samsung.com>
include/port_gst/mediademuxer_port_gst.h
src/mediademuxer_ini.c
src/mediademuxer_port.c
src/port_gst/mediademuxer_port_gst.c

index 520b186..0499c39 100755 (executable)
@@ -30,7 +30,7 @@
 extern "C" {
 #endif
 
-#define POLLING_INTERVAL 1000
+#define POLLING_INTERVAL 10000
 #define MAX_APP_BUFFER 100
 
 #define MEDIADEMUXER_SET_STATE(x_element, x_state, error) \
index 5619ced..e0178fe 100755 (executable)
@@ -48,9 +48,9 @@ static void _md_ini_check_ini_status(void);
                if (str &&  \
                     (strlen(str) > 0) && \
                     (strlen(str) < MEDIADEMUXER_INI_MAX_STRLEN)) { \
-                       strcpy(x_item, str); \
+                       strncpy(x_item, str, MEDIADEMUXER_INI_MAX_STRLEN - 1); \
                } else { \
-                       strcpy(x_item, x_default); \
+                       strncpy(x_item, x_default, MEDIADEMUXER_INI_MAX_STRLEN - 1); \
                } \
        } while (0)
 
index ed3d43a..fe5385e 100755 (executable)
@@ -33,6 +33,8 @@
 #include <unistd.h>
 #include <fcntl.h>
 
+#define MAX_ERR_LEN 256
+
 /* function type */
 extern int gst_port_register(media_port_demuxer_ops *pOps);
 extern int ffmpeg_port_register(media_port_demuxer_ops *pOps);
@@ -108,11 +110,15 @@ int __md_util_exist_file_path(const char *file_path)
 
        fd = open(file_path, O_RDONLY);
        if (fd < 0) {
-               MD_E("failed to open file by %s (%d)\n", strerror(errno), errno);
-               if (EACCES == errno) {
-                       MEDIADEMUXER_FLEAVE();
-                       return MD_ERROR_FILE_NOT_FOUND;
-               }
+               char buf[MAX_ERR_LEN];
+               int ret_err = 0;
+               ret_err = strerror_r(errno, buf, MAX_ERR_LEN);
+               if (0 == ret_err)
+                       MD_E("failed to open file by %s (%d)\n", buf, errno);
+               else
+                       MD_E("File not found, strerror_r() failed with errno (%d)\n", errno);
+               MEDIADEMUXER_FLEAVE();
+               return MD_ERROR_FILE_NOT_FOUND;
        }
 
        if (fstat(fd, &stat_results) < 0) {
@@ -227,10 +233,6 @@ mediademuxer_src_type __md_util_media_type(char **uri)
        MEDIADEMUXER_FLEAVE();
        return MD_ERROR_NONE;
 ERROR:
-       if (new_uristr)
-               free(new_uristr);
-       if (old_uristr)
-               free(old_uristr);
        MEDIADEMUXER_FLEAVE();
        return MEDIADEMUXER_SRC_INVALID;
 }
@@ -251,8 +253,8 @@ int _md_util_parse(MMHandleType demuxer, const char *type)
        strncpy(media_type_string, type, lenght_string + 1);
        /*Set media_type depending upon the header of string else consider using file protocol */
        if (new_demuxer->uri_src) {
-               free(new_demuxer->uri_src);
                MD_L("new_demuxer->uri_src deallocating %p\n", new_demuxer->uri_src);
+               free(new_demuxer->uri_src);
        }
        new_demuxer->uri_src_media_type = __md_util_media_type(&media_type_string);
        if (new_demuxer->uri_src_media_type != MEDIADEMUXER_SRC_INVALID) {
index ec4eaf0..2e7835f 100755 (executable)
@@ -462,7 +462,7 @@ static int __gst_create_audio_only_pipeline(gpointer data,  GstCaps *caps)
                gst_object_unref(aud_srcpad);
 
        trck = head_track->head;
-       while (aud_srcpad != trck->pad && trck != NULL)
+       while (trck != NULL && aud_srcpad != trck->pad)
                trck = trck->next;
        if (trck != NULL) {
                trck->caps = caps;
@@ -491,8 +491,7 @@ ERROR:
                gst_object_unref(queue_sinkpad);
        if (queue_srcpad)
                gst_object_unref(queue_srcpad);
-       if (type)
-               g_free(type);
+       g_free(type);
        MEDIADEMUXER_FLEAVE();
        return MD_ERROR;
 }
@@ -1265,7 +1264,7 @@ static int gst_demuxer_seek(MMHandleType pHandle, gint64 pos1)
        MEDIADEMUXER_CHECK_NULL(pHandle);
        mdgst_handle_t *gst_handle = (mdgst_handle_t *) pHandle;
 
-       gint64 pos, len;
+       gint64 pos = 0, len = 0;
        gdouble rate = 1;
        if (gst_element_query_position(gst_handle->pipeline, GST_FORMAT_TIME, &pos) &&
             gst_element_query_duration(gst_handle->pipeline, GST_FORMAT_TIME, &len)) {