Fixed for correct framerate setting 42/116742/1 accepted/tizen/3.0/common/20170302.075747 accepted/tizen/3.0/ivi/20170302.034450 accepted/tizen/3.0/mobile/20170302.034122 accepted/tizen/3.0/tv/20170302.034244 accepted/tizen/3.0/wearable/20170302.034402 submit/tizen_3.0/20170228.102611
authorGilbok Lee <gilbok.lee@samsung.com>
Tue, 28 Feb 2017 05:28:42 +0000 (14:28 +0900)
committerGilbok Lee <gilbok.lee@samsung.com>
Tue, 28 Feb 2017 05:28:42 +0000 (14:28 +0900)
[Version] 0.1.17
[Profile] Mobile, Wearable, TV
[Issue Type] Fix bugs

Change-Id: I25bbcd2e6b12dc2c41099d79b914d57f16c0faaf

packaging/capi-mediademuxer.spec
src/port_gst/mediademuxer_port_gst.c

index 4265b1d..4f0c60e 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       capi-mediademuxer
 Summary:    A Media Demuxer library in Tizen Native API
-Version:    0.1.16
+Version:    0.1.17
 Release:    1
 Group:      Multimedia/API
 License:    Apache-2.0
index 54cc18a..b695807 100755 (executable)
@@ -21,6 +21,7 @@
 
 #include <mm_debug.h>
 #include <unistd.h>
+#include <math.h>
 #include <mediademuxer_error.h>
 #include <mediademuxer_private.h>
 #include <mediademuxer_port.h>
@@ -1161,6 +1162,7 @@ int _set_mime_video(media_format_h format, track *head)
        int src_height;
        int frame_rate_numerator = 0;
        int frame_rate_denominator = 0;
+       int frame_rate = 0;
        media_format_mimetype_e mime_type = MEDIA_FORMAT_MAX;
        struc = gst_caps_get_structure(head->caps, 0);
        if (!struc) {
@@ -1192,7 +1194,13 @@ int _set_mime_video(media_format_h format, track *head)
                goto ERROR;
        }
        gst_structure_get_fraction(struc, "framerate",  &frame_rate_numerator, &frame_rate_denominator);
-       if (media_format_set_video_frame_rate(format, frame_rate_numerator)) {
+
+       /* Round off the framerate */
+       if (frame_rate_denominator)
+               frame_rate = (int)floor((frame_rate_numerator / frame_rate_denominator) + 0.5);
+
+       MD_I("set frame rate %d", frame_rate);
+       if (media_format_set_video_frame_rate(format, frame_rate)) {
                MD_E("Unable to set video frame rate\n");
                goto ERROR;
        }