avsync-lib: refine IPTV_MODE support [2/3]

PD#TV-97540

Problem:
refine IPTV_MODE support

Solution:
Support async start

Verify:
TM2 + Windows11 Mircast + Element

Change-Id: I74d06dee04f598e5b6a53aed799c6f9efc81d1fa
Signed-off-by: Song Zhao <song.zhao@amlogic.com>
diff --git a/src/avsync.c b/src/avsync.c
index c614355..6d6bca1 100644
--- a/src/avsync.c
+++ b/src/avsync.c
@@ -365,7 +365,9 @@
     if (!attach) {
         msync_session_set_mode(avsync->fd, mode);
         avsync->mode = mode;
-        if (avsync->mode == AV_SYNC_MODE_VMASTER)
+        if ((avsync->mode == AV_SYNC_MODE_VMASTER ||
+            avsync->mode == AV_SYNC_MODE_IPTV) &&
+            avsync->type == AV_SYNC_TYPE_VIDEO)
             msync_session_set_wall_adj_thres(avsync->fd, avsync->disc_thres_min);
     } else {
         avsync->attached = true;
@@ -1361,7 +1363,8 @@
     }
 
     if (avsync->mode == AV_SYNC_MODE_FREE_RUN ||
-            avsync->mode == AV_SYNC_MODE_AMASTER) {
+            avsync->mode == AV_SYNC_MODE_AMASTER ||
+            avsync->active_mode == AV_SYNC_MODE_AMASTER) {
         action = AV_SYNC_AA_RENDER;
         goto done;
     }
@@ -1549,6 +1552,13 @@
         }
     } else if (avsync->active_mode == AV_SYNC_MODE_VMASTER) {
         log_info("[%d]running in vmaster mode", avsync->session_id);
+        if (a_active && avsync->audio_start) {
+            if (v_active || v_timeout) {
+                log_info("audio start cb");
+                trigger_audio_start_cb(avsync, AV_SYNC_ASCB_OK);
+            }
+        }
+
     }
 }