Please can someone advise me...

I have an mpeg1 movie file that plays perfectly (video & audio in sync)

However, if I demux the audio stream, the resulting .mp2 file is shorter than expected by 1 or 2 seconds.

It look like the demuxing process has skipped an audio-frame here and there.

Therefore if I remux the .mp2 file with the original video I get a 'buffer underun' error. The resulting .mpg file plays back, but the audio becomes more and more out of sync as the file progresses.

I've tried demuxing with 3 different programs but the results are the same. Is there any way to fix this problem?