[Ffmpeg-devel] Interleaving audio and video
Roman Shaposhnik
rvs
Sun Feb 4 23:48:40 CET 2007
On Sun, 2007-02-04 at 22:40 +0100, Michael Niedermayer wrote:
> Hi
>
> On Sun, Feb 04, 2007 at 12:53:54PM -0800, Roman Shaposhnik wrote:
> > Hi
> >
> > On Sun, 2007-02-04 at 10:42 +0100, Michael Niedermayer wrote:
> > > > As I pointed out in my previous email -- it seems that the
> > > > current implementation of the GXF would generate incorrect results
> > > > if av_write_frame() gets used. Even for the incoming stream of
> > > > packets with the perfect interleave.
> > > >
> > > > I think we should fix this. Your thoughts ?
> > >
> > > either allow interleave_packet() to repack PCM packets or change the gxf
> > > muxer to not repack them in interleave_packet()
> >
> > Here I don't quite follow. The problem in my opinion is to make
> > client use interleave_packet() in the first place. Of course
>
> NO! of course not, if the client needs interleave_packet then it MUST
> call av_interleaved_write_frame() that is the purpose of the function
> you remove the possibility of muxing correcly interleaved packets with
> low delay and no memcpy and duplicate the existing interleaving system,
> please read the code it seems you dont understand it at all, what you
> propose makes no sense
Well, I don't actually prose anything and yes -- I've read the
code ;-)
But for some reason we're still miscommunicating and talking about
two different things here. Once again -- please try to follow my
reasoning keeping in mind that I'm not prosing anything but rather
describe what I see as a problem and asking for advice.
So, first of all -- here's a usecase scenario I'm worried about:
Imagine a general purpose application that can output any stream
the user asks for. Also imagine that the incoming stream sometimes
is interleaved properly and sometimes isn't. Now, the question
is -- what would you recommend for the application developer:
av_interleaved_write_frame() or av_write_frame() ? Keep in
mind that application always needs maximum performance (which,
for example, means that producing badly interleaved AVIs is
not a problem) but also needs to generate correct GXF streams.
I'm using GXF here not because I care about it that much, but because
if I follow its example of using interleave_packet() as a packetizer
for DV muxer -- it seems to me I can not guarantee correct streams
in certain cases ever!
Thanks,
Roman.
P.S. I'm using GXF here not because I care about it that much, but
because if I follow its example of using interleave_packet() as a
packetizer for DV muxer -- it seems to me I can not guarantee correct
streams in certain cases ever.
More information about the ffmpeg-devel
mailing list