Skip to content

LTC Backward Time Jump: Timecode update delay issue despite time is updated by ltc_encoder_set_timecode function #76

@rushik-mpc

Description

@rushik-mpc

Hello all,

We are experiencing a persistent issue with LTC timecode updates (backward time jump) on our system. When we set a new timecode (for example, by jumping the hour), the connected LTC reader does not update immediately. Instead, it only updates after approximately 2 minutes, and then starts updating subsequent frames as expected.

Issue pattern:
• Time is set (during init)
• Wait for ~2 minutes (time not updated on LTC reader)
• After 2 minutes, the time updates, but only from the 2nd frame onward

What we have tried:
• Modified the code to “freeze” the timecode at each new value for 30 seconds
• Inserted a short period of silence (LTC break) before each timecode jump
• Output a burst (e.g., 2 seconds) of incrementing LTC at the new timecode, then freeze or repeat as needed
• Set the LTC timecode to the current system clock time for each frame
• Utilized snd_pcm_reset and snd_pcm_avail_update PCM functions
• Updated the time continuously (e.g., 25 times in 1 second, 50 times in 2 seconds, 75 times in 3 seconds)
• Modified the code to reinitialize both the LTC encoder and the ALSA library
• None of the above attempts have resolved the “backward time jump” issue

Observed logs:
(Same behavior occurs when trying to update the time every 30 seconds)
text
sample rate: 48000.00
frames/sec: 25.00
sample format: 8bit unsigned mono
Playing LTC via ALSA. Timecode hour will jump every 30 seconds. Press Ctrl+C to stop.
Timecode updated to 03:40:59:00 ==> Time not updated
Timecode updated to 04:40:59:00 ==> Time not updated
Timecode updated to 05:40:59:00 ==> Time not updated
Timecode updated to 06:40:59:00 ==> Time updated to 03:40:59:00
Timecode updated to 07:40:59:00 ==> Time updated to 04:40:59:00

Request:
Has anyone encountered similar behavior with LTC timecode device (Deity TC-1) or ALSA-based LTC playback?
Is there a known workaround or best practice for forcing an immediate timecode update (especially for backward jumps) that works reliably with hardware LTC timecode device (Deity TC-1)?

Any insights or suggestions would be greatly appreciated!

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions