[Libav-user] Help with deprecated functions/members

salsaman salsaman at gmail.com
Thu Aug 16 21:39:35 CEST 2012


OK, so I got a reply back from the Fedora packager, the versions which
require updated code are:

libavutil      51. 54.100 / 51. 54.100
libavcodec     54. 23.100 / 54. 23.100
libavformat    54.  6.100 / 54.  6.100

so the changes must have occurred between the versions I gave earlier, and
the above versions.

Also, since posting the original message I have been contacted by the main
developer of veejay (http://www.veejayhq.net), Niels Elburg, who tells me
has exactly the same issues. So as I guessed, several projects are impacted
by this.

And I am mystifed as to what kind of design decisions went into this. For
example, why remove avcodec_init() ? Since it returns nothing, if it is no
longer needed, why not just remove the code from it and leave the empty
function, and return a compiler deprecated warning ? That would be standard
practice in most libraries as it retains backwards compatibility with
existing code. Obviously someone had good reason to remove it completely
but it is not apparent what the reasoning was. I am trying to understand
this to help avoid similar problems in the future.



Thanks in advance for any replies.

Salsaman.
main developer, LiVES.

http://lives.sourceforge.net
https://www.ohloh.net/accounts/salsaman



On Thu, Aug 16, 2012 at 2:26 PM, salsaman <salsaman at gmail.com> wrote:

> Thanks for the response.
>
> I am using various versions of the libs, for example:
>
> libavutil    51. 22. 1 / 51. 22. 1
> libavcodec   53. 35. 0 / 53. 35. 0
> libavformat  53. 21. 0 / 53. 21. 0
>
> which compiles with the unchanged code. Looking at the latest versions of
> the decoders in the libs, it seems like palctrl has been moved into other
> structs, and that avcodec_init() and the other members have simply been
> removed. I don't know which versions of the libs have the problems, as the
> issue was reported by the LiVES packager for Fedora 18 and I am awaiting
> further info from him, but it would be whatever is included with ffmpeg
> 0.11.1
>
>
> As I stated, I would like to know in which versions of the libs these
> changes were made if you have that information, so as I can #ifdef around
> them. Presumably there are other projects which need to do the same thing.
> And also if my changes are correct (removing avcodec_init() and no longer
> freeing avstream->curpkt seem particularly strange for example). None of
> this should require knowledge of the lib versions which I am using, just an
> awareness that some things have changed between an older version and the
> current version.
>
>
>
>
>
>
>
>
> Regards,
> Salsaman,
>
> main developer, LiVES.
>
>
> http://lives.sourceforge.net
> https://www.ohloh.net/accounts/salsaman
>
>
>
> On Thu, Aug 16, 2012 at 12:45 PM, NITIN GOYAL <nitinkumgoyal at gmail.com>wrote:
>
>> please mention the libav version you are currently using then only people
>> will be able to tell you the differences.
>>
>> Also, please check the source code from GITHUB and compare the
>> differences from the previous version to check out.
>>
>> Regards
>> Nitin
>>
>>
>> On Thu, Aug 16, 2012 at 7:22 PM, salsaman <salsaman at gmail.com> wrote:
>>
>>> error: 'AVCodecContext' has no member named 'palctrl'
>>>
>>
>>
>> _______________________________________________
>> Libav-user mailing list
>> Libav-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/libav-user
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20120816/59c96471/attachment.html>


More information about the Libav-user mailing list