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