diff --git a/aml-qtdemux/qtdemux.c b/aml-qtdemux/qtdemux.c
index 62a4719..80fa798 100644
--- a/aml-qtdemux/qtdemux.c
+++ b/aml-qtdemux/qtdemux.c
@@ -450,6 +450,8 @@
   GST_OBJECT_FLAG_SET (qtdemux, GST_ELEMENT_FLAG_INDEXABLE);
 
   gst_qtdemux_reset (qtdemux, TRUE);
+  qtdemux->cal_discontinuity_pos = FALSE;
+  qtdemux->discontinuity_base_pos = 0;
 }
 
 static void
@@ -2377,6 +2379,19 @@
 
       goto drop;
     }
+    case GST_EVENT_CUSTOM_DOWNSTREAM_STICKY:
+    {
+      if (gst_event_has_name(event, "AML-DISCONTINUITY-BASE-POS"))
+      {
+        GST_DEBUG_OBJECT (demux, "Handle event AML-DISCONTINUITY-BASE-POS");
+        demux->cal_discontinuity_pos = TRUE;
+
+        res = TRUE;
+        gst_event_unref(event);
+        goto drop;
+      }
+      break;
+    }
     default:
       break;
   }
@@ -5878,12 +5893,18 @@
     GST_BUFFER_FLAG_UNSET (buf, GST_BUFFER_FLAG_DISCONT);
   }
 
+  if (qtdemux->discontinuity_base_pos != 0 && GST_BUFFER_PTS (buf) < qtdemux->discontinuity_base_pos)
+  {
+    GST_BUFFER_PTS (buf) = GST_BUFFER_PTS (buf) + qtdemux->discontinuity_base_pos;
+    GST_BUFFER_DTS (buf) = GST_BUFFER_DTS (buf) + qtdemux->discontinuity_base_pos;
+  }
+
   GST_LOG_OBJECT (qtdemux,
       "Pushing buffer with dts %" GST_TIME_FORMAT ", pts %" GST_TIME_FORMAT
-      ", duration %" GST_TIME_FORMAT " on pad %s",
+      ", duration %" GST_TIME_FORMAT " on pad %s" ", discontinuity_base_pos %" GST_TIME_FORMAT,
       GST_TIME_ARGS (GST_BUFFER_DTS (buf)),
       GST_TIME_ARGS (GST_BUFFER_PTS (buf)),
-      GST_TIME_ARGS (GST_BUFFER_DURATION (buf)), GST_PAD_NAME (stream->pad));
+      GST_TIME_ARGS (GST_BUFFER_DURATION (buf)), GST_PAD_NAME (stream->pad), GST_TIME_ARGS (qtdemux->discontinuity_base_pos));
 
   if (stream->protected && stream->protection_scheme_type == FOURCC_aavd) {
     GstStructure *crypto_info;
@@ -7321,6 +7342,11 @@
                 || prev_offset > demux->fragment_start_offset) {
               demux->fragment_start_offset = prev_offset;
               demux->fragment_start = prev_pts;
+              if (demux->cal_discontinuity_pos)
+              {
+                demux->discontinuity_base_pos = demux->fragment_start;
+              }
+
               GST_DEBUG_OBJECT (demux,
                   "New fragment start found at: %" G_GUINT64_FORMAT " : %"
                   GST_TIME_FORMAT, demux->fragment_start_offset,
diff --git a/aml-qtdemux/qtdemux.h b/aml-qtdemux/qtdemux.h
index 02df262..0dab898 100644
--- a/aml-qtdemux/qtdemux.h
+++ b/aml-qtdemux/qtdemux.h
@@ -139,6 +139,9 @@
   /* configured playback region */
   GstSegment segment;
 
+  gboolean cal_discontinuity_pos;
+  GstClockTime discontinuity_base_pos;
+
   /* State for key_units trickmode */
   GstClockTime trickmode_interval;
 
