Merge "avsync-lib: refine IPTV_MODE support [2/3]"
diff --git a/src/avsync.c b/src/avsync.c
index 8fb63e3..d0b8fa5 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;
@@ -1366,7 +1368,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;
     }
@@ -1554,6 +1557,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);
+            }
+        }
+
     }
 }