13
0

fix LTC frame offset for video standards

git-svn-id: svn://localhost/ardour2/branches/3.0@13517 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Robin Gareus 2012-11-18 00:29:50 +00:00
parent fe11de4381
commit 1624f1d714
2 changed files with 5 additions and 5 deletions

View File

@ -359,13 +359,13 @@ LTC_Slave::process_ltc(framepos_t const now)
ltc_frame_increment(&frame.ltc, fps_i, tv_standard, 0);
ltc_frame_to_time(&stime, &frame.ltc, 0);
transport_direction = 1;
frame.off_start += ltc_frame_alignment(session.frame_rate(), tv_standard);
frame.off_end += ltc_frame_alignment(session.frame_rate(), tv_standard);
frame.off_start += ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
frame.off_end += ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
} else {
ltc_frame_decrement(&frame.ltc, fps_i, tv_standard, 0);
int off = frame.off_end - frame.off_start;
frame.off_start += off + ltc_frame_alignment(session.frame_rate(), tv_standard);
frame.off_end += off + ltc_frame_alignment(session.frame_rate(), tv_standard);
frame.off_start += off + ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
frame.off_end += off + ltc_frame_alignment(session.frames_per_timecode_frame(), tv_standard);
transport_direction = -1;
}

View File

@ -246,7 +246,7 @@ Session::ltc_tx_send_time_code_for_cycle (framepos_t start_frame, framepos_t end
framepos_t cycle_start_frame = (current_speed < 0) ? (start_frame - ltc_out_latency.max) : (start_frame + ltc_out_latency.max);
/* LTC TV standard offset */
cycle_start_frame += ltc_frame_alignment(nominal_frame_rate(), TV_STANDARD(cur_timecode));
cycle_start_frame += ltc_frame_alignment(frames_per_timecode_frame(), TV_STANDARD(cur_timecode));
/* cycle-start may become negative due to latency compensation */
if (cycle_start_frame < 0) { cycle_start_frame = 0; }