Merge "avsync: CF2 add eos flow [1/1]"
diff --git a/src/aml_avsync.h b/src/aml_avsync.h
index 5f30911..a917278 100644
--- a/src/aml_avsync.h
+++ b/src/aml_avsync.h
@@ -449,4 +449,14 @@
  *   0 for OK, or error code
  */
 int avs_sync_stop_audio(void *sync);
+
+/* eos from video decoder.
+ * when video decoder eos, use this API to set eos to msync.
+ * Only effect video.
+ * Params:
+ *   @sync: AV sync module handle
+ * Return:
+ *   0 for OK, or error code
+ */
+int avs_sync_set_eos(void *sync);
 #endif
diff --git a/src/avsync.c b/src/avsync.c
index 0d84120..c6f8ce8 100644
--- a/src/avsync.c
+++ b/src/avsync.c
@@ -1893,3 +1893,20 @@
 
     return msync_session_stop_audio(avsync->fd);
 }
+
+int avs_sync_set_eos(void *sync)
+{
+    struct av_sync_session *avsync = (struct av_sync_session *)sync;
+
+    if (!avsync)
+        return -1;
+
+    if (avsync->type == AV_SYNC_TYPE_VIDEO) {
+        if (avsync->state == AV_SYNC_STAT_INIT) {
+            avsync->state = AV_SYNC_STAT_RUNNING;
+            log_debug("[%d]eos trigger state change: init --> running", avsync->session_id);
+        }
+    }
+
+    return 0;
+}