[FFmpeg-devel] [PATCH] RoQ muxer

Vitor vitor1001
Mon May 7 17:25:58 CEST 2007


Michael Niedermayer wrote:
>> +    int ret = av_interleave_packet_per_dts(s, pkt, in, flush);
>>     
>
> why the "double" interleave
>   
I thought that it would be necessary in the case where the video starts 
a few seconds before the audio. Since I don't know how FFmpeg manages 
that internally, I wanted to be sure not to get audio frames too soon.
>> +    /* If there are 2 frames of video pending and no audio, assume there's no
>> +     * more audio */
>> +    if (!ctx->queueBase[0] && ctx->queueBase[1] && ctx->queueBase[1]->next)
>> +        ctx->nxtPkt = PACKETTYPE_VIDEO;
>>     
>
> what is this code good for / in which case would it fail if this wherent here?
>   
In the case I just talked about and in the case that there is no audio 
at all. Note that if there is a few seconds of video without audio, it 
will schedule the video frames until the first audio frame is 
interleaved by dts. It will then add it immediately.

-Vitor




More information about the ffmpeg-devel mailing list