On Mar 27, 2013, at 1:08 PM, Paul B Mahol <[email protected]> wrote:
> Than use AV_SAMPLE_FMT_FLTP, you do not need to manually interleave samples.
> Each channel samples are put into separate frame->data[X] where X is channel
> number starting from 0.
SHAZZZAMMM!!!!
Paul, you are brilliant. Rather than rewrite the linear sample data as
interleaved I took your advice, switched to planar AV_SAMPLE_FMT_S16P, pulled
out each channel's data out of the AudioBufferList and set those buffer
pointers in my uint8_t **sourceData structure, as in:
sourceData[0] = audioBufferList->mBuffers[0].mData;
sourceData[1] = audioBufferList->mBuffers[1].mData;
The audio is perfect (sounding that is). But for getting past that wall -- I
thank *everyone* on the list who replied...dialog is progressive, every comment
can raise new avenues to look into. I am now scratching my head a bit as to
what VLC was up to manually interleaving -- seems like unnecessary work now --
but I suppose they have a common interleaved format QTKit captures need to be
converted to for universal downstream libVLC processing.
Unfortunately, I cannot pop the champagne corks and blow off the fireworks
quite yet. While the audio sounds great, the video timing is not aligned with
the audio, and the video now freezes a short way in. While I enjoy the
occasional Kung Fu Theater movie (probably dating myself a little there, that's
a reference to Saturday afternoon English-dubbed karate movies as a kid), I'm
guessing my customers won't find the humor.
I am posting a link to the encoded FLV file:
https://www.dropbox.com/s/wsol1pd9vv3adrz/Output.flv
If any of you experts could lend guidance to how to iron out these timing
issues, I would be much obliged. My initial hunch is the setting of the
AVPacket dts and pts values and/or use of av_interleaved_write_frame vs
av_write_frameI posted another message a while back about this which was never
replied to, but I'm not completely clear as to when to use either. I've also
had interesting results using each with only video, only audio, or both video
and audio, so unless someone just happens to know off the top of their head
what the problem is, I'll create videos for each scenario and pursue that
discussion in a different thread, as this one has gotten lengthy, and the topic
is somewhat shifting.
But to conclude this thread -- a tremendous thank you to everyone who has
contributed to the discussion.
Cheers,
Brad
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user