Added offset to check for discontinuity when timestamp is not available 29/175729/1
authorSejun Park <sejun79.park@samsung.com>
Thu, 12 Apr 2018 01:49:55 +0000 (10:49 +0900)
committerSejun Park <sejun79.park@samsung.com>
Thu, 12 Apr 2018 04:18:57 +0000 (13:18 +0900)
Change-Id: Ia09e5a8c92630e6035e178fd42b6a665c8b766bd

include/media_codec_port_gst.h
packaging/capi-media-codec.spec
src/media_codec_port_gst.c

index 4d9198f..2888192 100755 (executable)
@@ -138,6 +138,7 @@ struct _mc_gst_core_t {
        guint prepare_count;
        guint num_live_buffers;
        guint etb_count;
+       gint64 offset;
 
        mediacodec_codec_type_e codec_id;
        media_format_mimetype_e out_mime;
index 88d1a85..5c09524 100755 (executable)
@@ -4,7 +4,7 @@
 
 Name:       capi-media-codec
 Summary:    A Media Codec library in Tizen Native API
-Version:    0.5.11
+Version:    0.5.12
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index a9ea98a..5036d3e 100755 (executable)
@@ -1257,6 +1257,7 @@ static gpointer feed_task(gpointer data)
                        gst_object_unref(pad);
                        is_format_change = TRUE;
                        initiative = FALSE;
+                       core->offset = GST_BUFFER_OFFSET_NONE;
                }
 
                if (is_format_change) {
@@ -2450,6 +2451,11 @@ GstMCBuffer *_mc_gst_media_packet_to_gstbuffer(mc_gst_core_t *core, media_packet
        media_packet_get_duration(packet, &dur);
        GST_BUFFER_DURATION(mcbuffer->buffer) = dur;
 
+       GST_BUFFER_OFFSET(mcbuffer->buffer) = core->offset;
+
+       core->offset += buf_size;
+       GST_BUFFER_OFFSET_END(mcbuffer->buffer) = core->offset;
+
        return mcbuffer;
 }