Sync with tizen branch 02/146302/1 submit/tizen_3.0/20170828.023728 submit/tizen_3.0/20170905.095627
authorSejun Park <sejun79.park@samsung.com>
Mon, 28 Aug 2017 02:34:44 +0000 (11:34 +0900)
committerSejun Park <sejun79.park@samsung.com>
Mon, 28 Aug 2017 02:35:04 +0000 (11:35 +0900)
Change-Id: I7b0667ba46a9a6796c9d5309778b5930bbb9de38

include/media_codec_port_gst.h [changed mode: 0644->0755]
src/media_codec_port_gst.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 3cf9120..626f9ad
@@ -55,7 +55,7 @@ extern "C" {
 #define AAC_CODECDATA_SIZE     16
 #define WMA_CODECDATA_SIZE     64
 #define VORBIS_CODECDATA_SIZE  4096
-#define MAXINUM_QNUM   15
+#define MAXINUM_QNUM   20
 #define THRESHOLD_QNUM 5
 
 /* gst port layer */
old mode 100644 (file)
new mode 100755 (executable)
index 7ef12b7..44f1338
@@ -2191,6 +2191,7 @@ void __mc_gst_buffer_add(GstElement *element, GstBuffer *buffer, GstPad *pad, gp
 
        if (mcbuffer->packet) {
                media_packet_set_pts(mcbuffer->packet, GST_BUFFER_TIMESTAMP(buffer));
+               media_packet_set_dts(mcbuffer->packet, GST_BUFFER_DTS(buffer));
                media_packet_set_duration(mcbuffer->packet, GST_BUFFER_DURATION(buffer));
 
                if (core->need_codec_data) {
@@ -2297,6 +2298,7 @@ GstMCBuffer *_mc_gst_media_packet_to_gstbuffer(mc_gst_core_t *core, media_packet
        gint ret = MEDIA_PACKET_ERROR_NONE;
        uint64_t buf_size = 0;
        uint64_t pts = 0;
+       uint64_t dts = 0;
        uint64_t dur = 0;
        void *buf_data = NULL;
        GstMCBuffer *mcbuffer = NULL;
@@ -2333,6 +2335,10 @@ GstMCBuffer *_mc_gst_media_packet_to_gstbuffer(mc_gst_core_t *core, media_packet
                return NULL;
        }
 
+       /* dts */
+       media_packet_get_pts(packet, &dts);
+       GST_BUFFER_DTS(mcbuffer->buffer) = dts;
+
        /* pts */
        media_packet_get_pts(packet, &pts);
        GST_BUFFER_PTS(mcbuffer->buffer) = pts;
@@ -2415,7 +2421,10 @@ ERROR:
 
 void _mc_gst_handle_input_buffer_used(mc_gst_core_t *core, media_packet_h packet)
 {
-       g_atomic_int_dec_and_test(&core->etb_count);
+       if (core) {
+               g_atomic_int_dec_and_test(&core->etb_count);
+               LOGD("@v(%d)e(%d) input port used(%d)----- ", core->video, core->encoder, core->etb_count);
+       }
 
        if (core && core->user_cb[_MEDIACODEC_EVENT_TYPE_EMPTYBUFFER]) {
                ((mc_empty_buffer_cb)core->user_cb[_MEDIACODEC_EVENT_TYPE_EMPTYBUFFER])
@@ -2857,8 +2866,6 @@ static gint __gst_transform_gsterror(mc_gst_core_t *core, GstMessage *message, G
                break;
        }
 
-       return MEDIACODEC_ERROR_INVALID_STREAM;
-
 INTERNAL_ERROR:
        return MEDIACODEC_ERROR_INTERNAL;
 }