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;
+}