[FFmpeg-cvslog] r21731 - in branches/0.5: . Changelog doc/APIchanges libavcodec/avcodec.h libavcodec/utils.c

Reinhard Tartler siretart
Wed Feb 10 11:00:52 CET 2010


On Di, Feb 09, 2010 at 22:28:09 (CET), Ramiro Polla wrote:

> On Tue, Feb 9, 2010 at 6:28 PM, siretart <subversion at mplayerhq.hu> wrote:
>> Author: siretart
>> Date: Tue Feb ?9 21:28:42 2010
>> New Revision: 21731
>>
>> Log:
>> Add a lock manager API to libavcodec.
>>
>> Allows an application to register a callback that manages mutexes
>> on behalf of FFmpeg.
>> With this callback registered FFmpeg is fully thread safe.
>>
>> backport r19025 by andoma
>>
>> NB: This is a feature backport with little regression potential. It was
>> requested at FOSDEM 2010 by ben at geexbox.org for use by geexbox and the
>> enna mediacenter in the upcoming debian/squeeze and ubuntu/lucid
>> release.
>>
>> Approved by DonDiego on #ffmpeg-devel
>>
>> Modified:
>> ? branches/0.5/ ? (props changed)
>> ? branches/0.5/Changelog
>> ? branches/0.5/doc/APIchanges
>> ? branches/0.5/libavcodec/avcodec.h
>> ? branches/0.5/libavcodec/utils.c
>>
>> Modified: branches/0.5/Changelog
>> ==============================================================================
>> --- branches/0.5/Changelog ? ? ?Tue Feb ?9 20:59:11 2010 ? ? ? ?(r21730)
>> +++ branches/0.5/Changelog ? ? ?Tue Feb ?9 21:28:42 2010 ? ? ? ?(r21731)
>> @@ -12,7 +12,7 @@ version 0.5.1:
>> ?- (L)GPL license upgrade support
>> ?- AMR-NB decoding/encoding, AMR-WB decoding via OpenCORE libraries
>> ?- enable symbol versioning by default for linkers that support it
>
>> -
>> +- backport av_lockmgr_register(), see doc/APIchanges for details
>
> Why remove that line?

that was cosmetic. I should have paid more attention.

>> ?version 0.5:
>>
>> Modified: branches/0.5/doc/APIchanges
>> ==============================================================================
>> --- branches/0.5/doc/APIchanges Tue Feb ?9 20:59:11 2010 ? ? ? ?(r21730)
>> +++ branches/0.5/doc/APIchanges Tue Feb ?9 21:28:42 2010 ? ? ? ?(r21731)
>> @@ -1,3 +1,11 @@
>> +20090601 - r19025 - lavc 52.30.0 - av_lockmgr_register()
>> + ?av_lockmgr_register() can be used to register a callback function
>> + ?that lavc (and in the future, libraries that depend on lavc) can use
>> + ?to implement mutexes. The application should provide a callback function
>> + ?the implements the AV_LOCK_* operations described in avcodec.h.
>> + ?When the lock manager is registered FFmpeg is guaranteed to behave
>> + ?correct also in a multi-threaded application.
>> +
>> ?20090301 - r17682 - lavf 52.31.0 - Generic metadata API
>> ? This version introduce a new metadata API (see av_metadata_get() and friends).
>> ? The old API is now deprecated and shouldn't be used anymore. This especially
>>
>> Modified: branches/0.5/libavcodec/avcodec.h
>> ==============================================================================
>> --- branches/0.5/libavcodec/avcodec.h ? Tue Feb ?9 20:59:11 2010 ? ? ? ?(r21730)
>> +++ branches/0.5/libavcodec/avcodec.h ? Tue Feb ?9 21:28:42 2010 ? ? ? ?(r21731)
>> @@ -30,7 +30,7 @@
>> ?#include "libavutil/avutil.h"
>>
>> ?#define LIBAVCODEC_VERSION_MAJOR 52
>> -#define LIBAVCODEC_VERSION_MINOR 20
>> +#define LIBAVCODEC_VERSION_MINOR 21
>> ?#define LIBAVCODEC_VERSION_MICRO ?0
>>
>> ?#define LIBAVCODEC_VERSION_INT ?AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
>
> --------------------------------
> Author: schreter
> Date: Thu Mar  5 08:35:06 2009
> New Revision: 17823
>
> Log:
> Add handling of frame position in the parser.
>
> Modified:
>    trunk/libavcodec/avcodec.h
>    trunk/libavcodec/parser.c
>
> Modified: trunk/libavcodec/avcodec.h
> ==============================================================================
> --- trunk/libavcodec/avcodec.h	Thu Mar  5 05:40:42 2009	(r17822)
> +++ trunk/libavcodec/avcodec.h	Thu Mar  5 08:35:06 2009	(r17823)
> @@ -30,7 +30,7 @@
>  #include "libavutil/avutil.h"
>
>  #define LIBAVCODEC_VERSION_MAJOR 52
> -#define LIBAVCODEC_VERSION_MINOR 20
> +#define LIBAVCODEC_VERSION_MINOR 21
>  #define LIBAVCODEC_VERSION_MICRO  0
>
>  #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
> --------------------------------
>
> This is bad.

why?

> We have the same version bump for 2 different things. How should we
> deal with library versions in the branches?

We don't. Let me explain:

since nothing in the ffmepg source checks for LIBAVCODEC_VERSION_MINOR,
this has can have only effect on other applications that link
dynamically against avcodec.

In that scenario, we have to consider the possible upgrade
paths. Redistributors of avcodec that are tracking trunk are not
affected by this change at all, as switching from trunk to the 0.5
branch would be essentially a downgrade, which seems like a very stupid
idea to me anyways.

For users that move from 0.5 to 0.5.1, this change seems to be fairly
correct as well.

Considering users that move from 0.5.1 to current trunk this is harmless
as well, as in current trunk, LIBAVCODEC_VERSION_MINOR is already at
53.

So the only user group that could possibly be negatively affected by
this are users that a) redistribute/install libavcodec dynamically and
b) move from 0.5.1 to a snapshot of ffmpeg that had
LIBAVCODEC_VERSION_MINOR to 21 and had other changes that can interfere
here.

I'd say we can neglect this group of users and encourage them to move to
latest trunk.


-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4




More information about the ffmpeg-cvslog mailing list