[FFmpeg-soc] [soc] libavsequencer [PATCH 01/08] Music module public API header file.

Vitor Sessak vitor1001 at gmail.com
Tue Jul 13 22:51:49 CEST 2010


On 07/13/2010 10:15 PM, Sebastian Vater wrote:
> Ronald S. Bultje a écrit :
>> Hi,
>>
>> On Tue, Jul 13, 2010 at 6:04 AM, Vitor Sessak<vitor1001-Re5JQEeQqe8AvxtiuMwx3w at public.gmane.org>  wrote:
>>
>>> On 07/07/2010 10:46 PM, Sebastian Vater wrote:
>>>
>>>>     /** Duration of the module, in AV_TIME_BASE fractional
>>>>        seconds. This is the total sum of all sub-song durations
>>>>        this module contains.  */
>>>>     uint64_t duration;
>>>>
>>> Is this ever written in the files or is it calculated by the player? If the
>>> later, it does not belong to the BSS.
>>>
>>
>> Either way this belongs in AVFormatContext and the demuxer.
>>
>
> Don't forget that the composer can edit this value in case if ever
> needed. TuComposer has a synth-sound assember which should be a turing
> machine making it impossible under certain situations to calculate
> playback time correctly, so the user can edit and adjust that manually.
>
> Also some formats don't have even something close like a clear song-end
> detection. In that case, the user can add it manually. That's the
> purpose of this field.

 From your explanation this field has two, possible conflicting, meanings:

a) The known duration of the file
b) The time after which the song should be forced by the player to finish

(a) should be in lavf, while (b) should have zero as default value, 
meaning never force the song to end.

I think you should leave this field just for (b) (and document it 
accordingly) and set (a) in lavf. I'd even rename it forced_song_end_time.

-Vitor


More information about the FFmpeg-soc mailing list