[FFmpeg-soc] [soc] libavsequencer [PATCH 01/08] Music module public API header file.
Vitor Sessak
vitor1001 at gmail.com
Tue Jul 13 23:16:22 CEST 2010
On 07/13/2010 11:05 PM, Sebastian Vater wrote:
> Vitor Sessak a écrit :
>> 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-XMD5yJDbdMReXY1tMh2IBg 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.
>
> I fully agree! forced_duration would be OK, though?
Sure! This is an important part of the description of the file.
> Another possibility would to mention that in the comment to this field.
You should mention what forced_duration means in the comment and what
does it means it being 0.
-Vitor
More information about the FFmpeg-soc
mailing list