Hi,

august wrote
>
>> One thing I noticed is that A/V sync is not perfect in the recorded
>> files.
>> Synchronizing 2 different streams from hardware devices is almost
>> impossible.
>
> hmm. yeah.   It is about 1 second off on my machine.  How does skype and
> other video software keep it in sync?

Hmm, off by one second is a bit much. What I do is to initialize the
plugins for audio- and video recording. Then I fire up the 2 threads,
which should start synchronously (i.e. much less than 1 sec apart from
each other). Then the 2 threads read and encode samples/frames until
I tell them to stop.

Desync can happen because of the following (purely theoretical) issues:

- If one A/V recorder plugin has some delay before the first sample or
  frame is read, it's out of my control. Video frames are less critical
  because they get timestamps from a software time. Audio streams are
  assumed to start at time zero though.

- If your output format doesn't support variable framerates, things might
  get messed up. I always use mov with libquicktime for encoding.

- If the encoding takes too long, theoretically only the framerate goes
  down, but in extreme cases A/V sync get messed up as well.

No idea how other software handles this, and any input redarding that
would be welcome. Unfortunately I don't have the Skype sourcecode here ;)

> Maybe you succeed in reproducing the hang in gdb and make a backtrace of
>> all threads.
>
> wasn't able to reproduce it.

Me neither. There are some hangs, but only for a sec or so. Maybe it's
because driver needs a bit more time to discuss with the hardware.

Right now I'm in the UK behind the most paranoid firewall I've ever
seen, so my developing capabilities are a bit limited...

Burkhard


------------------------------------------------------------------------------
_______________________________________________
Gmerlin-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gmerlin-general

Reply via email to