Hi there!

One of historical deficiences of transcode is the lack of proper, real
synchronization code: if the A/V are out of sync, with the only
exception of a different start time, handled by -D, there is few or none
chances to recover and to have a properly synchronized stream in output,
and no guarantees at all. It's all dependent to luck.

Given this situation, some transcode paths (= combination of import
modules) take each one its own approach with mixed results and increased
enthropy.

To make a few examples, we have tcdemux in the import_vob path, which
does some magic inspecting MPEG (p)ts of stream, again with mixed
results; we have also the import_v4l2 path, with has its internal
counters and try to recover A/V sync by dropping/cloning A/V frames.

It's time to start cleaning up this mess. As nice side effect, doing
this also allow us/me to start porting import modules to NMS, which is
good.

I already started working on this by moving the v4l2 sync code in a real
code module, because such code looked more promising (= extendable) and
much cleaner. I'd like to merge the code mentioned above into official
CVS, but we face a logistic problem.
This task is absolutely out of scope for 1.1.x, so it can be merged into
HEAD;

But this is a potentially long task, and I don't want slow down too much
the 1.2.x because this (I'll really like to have a shorter cycle for
1.2.x).

So, adding a branch seems the obvious choice, and this will done in a
few days. 'Til now, I'll add a work-in-progress snapshot tarball on
fromani.exit1.org, for preview purposes.

Thoughts?

-- 
Francesco Romani // Ikitt
[ Out of memory. ~ We wish to hold the whole sky, ~ But we never will. ]

Reply via email to