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

Vitor Sessak vitor1001 at gmail.com
Wed Jul 14 00:03:05 CEST 2010


On 07/13/2010 11:55 PM, Sebastian Vater wrote:
> Vitor Sessak a écrit :
>> On 07/13/2010 10:11 PM, Sebastian Vater wrote:
>>> Vitor Sessak a écrit :
>>>> On 07/07/2010 10:46 PM, Sebastian Vater wrote:
>>
>> [...]
>>
>>>>> /**
>>>>>    * Opens and registers module to the AVSequencer.
>>>>>    *
>>>>>    * @param avctx the AVSequencerContext to store the opened module
>>>>> into
>>>>>    * @param module the AVSequencerModule which has been opened to be
>>>>> registered
>>>>>    * @return>= 0 on success, a negative error code otherwise
>>>>>    *
>>>>>    * @note This is part of the new sequencer API which is still under
>>>>> construction.
>>>>>    *       Thus do not use this yet. It may change at any time, do not
>>>>> expect
>>>>>    *       ABI compatibility yet!
>>>>>    */
>>>>> int avseq_module_open(AVSequencerContext *avctx, AVSequencerModule
>>>>> *module);
>>>>
>>>> Hmm, I think I don't really understand what this function do. Suppose
>>>> you want to write a very short test program to play a MOD file using
>>>> the libraries. Roughly, what functions it will call, in which order
>>>> and with which parameters?
>>>
>>> To be honest, I added this prototype only for now to see if the way I
>>> want to add them is compatible with FFmpeg style guide. Wanted just to
>>> avoid adding functions and all follow a wrong guideline. But the suppose
>>> is to load a module from disc and register it to the module list in
>>> avctx).
>>
>> Guideline-wise it is fine, but I don't think functions should be added
>> to the BSS structs without a very good reason.
>
> That's clear! Just want to mention the point, that the user today
> expects the feature of having multiple (in this case modules) files
> opened at once and thus editing them. We're not anymore in the eighties
> were it was common just to have one file opened at the same time.

And what does it change? Both lavf/ and lavc/ can handle several files 
at the same time (and I mean _really_ at the same time, it is fully 
thread-safe).

> So I thought of a way of allowing the user exactly that, that's why I
> plan to add multiple modules to AVSequencerContext. The programmer
> developing the GUI has to take care of this list though mostly by itself.

In the BSS, it does not make much sense an AVSequencerContext.

Besides that, I agree with Ronald: why not a different player context 
for each file and let the application store them as it wish?

-Vitor


More information about the FFmpeg-soc mailing list