[Ffmpeg-cvslog] r7238 - in trunk/libavutil: common.h internal.h
Måns Rullgård
mru
Thu Dec 7 20:18:46 CET 2006
Michael Niedermayer <michaelni at gmx.at> writes:
> Hi
>
> On Thu, Dec 07, 2006 at 05:39:19PM -0000, M?ns Rullg?rd wrote:
>>
>> Michael Niedermayer said:
>> > Hi
>> >
>> > On Thu, Dec 07, 2006 at 12:39:20PM +0100, Reimar D?ffinger wrote:
>> >> Hello,
>> >> On Thu, Dec 07, 2006 at 11:20:13AM -0000, M?ns Rullg?rd wrote:
>> >> > Reimar D?ffinger said:
>> >> > > So you suggest the better solution would have been to simply
>> >> > > leave a 99,9% (i.e. except the always_inline) bswap.h in
>> >> > > MPlayer instead of using the libavutil one? And does this
>> >> > > mean that you do not agree that not being able to export any
>> >> > > functions using always_inline is a bad thing?
>> >> >
>> >> > If you want to use currently not exported functionality,
>> >> > submit an RFE asking for it to be officially exported.
>> >> > Symbols whose name begin with av are official API, nothing
>> >> > else is.
>> >>
>> >> I thought the intention was all of libavutil becoming "official API"
>> >> in the long term.
>> >> But since a ff_ prefix to always_inline was already considered too much
>> >
>> > ive no problem with a av_always_inline or similar for a
>> > externally vissible one ...
>> > also a av_inline would be a interresting option which would be
>> > shorter and with which i would be perfectly fine even inside
>> > libav*
>>
>> Fine, I'll create a prefixed macro instead.
>>
>> I grepped the entire ffmpeg source, and the only uses of
>> always_inline (and the other moved macros) were in our code, none
>> in API headers. For this reason I deemed it safe to move the
>> macros to another place where they would not be visible to the
>> outside, but still work exactly as before when building ffmpeg. I
>> (or any other ffmpeg dev) can't reasonably be expected to keep
>> track of which third-party apps abuse lav* internal symbols. We
>> broke VLC once by removing something they were illicitly using.
>> They happily fixed their code without making a fuss. IMHO, MPlayer
>> should not be receiving special treatment from this point of view,
>> even if some ffmpeg devs also work on mplayer.
>
> sure but i agree with reimar that completely hiding always_inline is
> not a useable final solution, it IS usefull for applications ...
OK, but it hasn't previously been officially provided by lavu.
>> BTW, common.h has *no* listed maintainer. I also thought the
>> policy was that trivial changes didn't need approval, and I
>> honestly think this qualifies as trivial. Nobody would have
>> objected, had it not been for mplayer being naughty and assuming
>> things it shouldn't.
>
> trivial changes which break nothing certainy dont, changes which break
> something will lead to someone complaining trivial or not maintainer or not
I didn't think it would break anything, since it didn't touch anything
that other apps should have been using in the first place.
> if it would have broken a application which i dont use then sure i probably
> wouldnt have complained that loudly
Of course not. You wouldn't have noticed it at all...
> but still (av_)(always_)inline should be available to the outside
Alright, I'll make it so.
--
M?ns Rullg?rd
mru at inprovide.com
More information about the ffmpeg-cvslog
mailing list