• Join/Login
  • Business Software
  • Open Source Software
  • For Vendors
  • Blog
  • About
  • More
    • Articles
    • Create
    • SourceForge Podcast
    • Site Documentation
    • Subscribe to our Newsletter
    • Support Request
SourceForge logo
For Vendors Help Create Join Login
SourceForge logo
SourceForge logo
Business Software
Open Source Software
SourceForge Podcast
Resources
  • Articles
  • Case Studies
  • Blog
Menu
  • Help
  • Create
  • Join
  • Login
  • Home
  • Browse
  • gpac
  • Patches
gpac

Improve USE_PRE_0_7 detection

This project migrated to https://github.com/gpac/gpac/

Brought to you by: cconcolato, jeanlf, rbouqueau
This project can now be found here.
  • Summary
  • Reviews
  • Support
  • Tickets ▾
    • Bugs
    • Support Requests
    • Patches
    • Feature Requests
  • News
  • Discussion
  • Github
  • Code
Menu ▾ ▴
  • Create Ticket
  • View Stats

Group

Searches

  • Changes
  • Closed Tickets
  • Open Tickets

Help

  • Formatting Help

#69 Improve USE_PRE_0_7 detection

open
nobody
None
5
2012-05-21
2012-05-21
Felix Geisendörfer
No

Previously gpac wrongly detected some < 0.7 ffmpeg versions as >= 0.7
which lead to compile errors because ByteIOContext had not yet been
renamed to AVIOContext.

I tracked down the commit which made this API change in ffmepg:
------------------------------------------------------------------------
commit ae628ec1fd7f54c102bf9e667a3edd404b9b9128
Author: Anton Khirnov <anton@khirnov.net>
Date: Sun Feb 20 11:04:12 2011 +0100

avio: rename ByteIOContext to AVIOContext.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
------------------------------------------------------------------------

At this point avcodec.h reported the following:

#define LIBAVCODEC_VERSION_MAJOR 52
#define LIBAVCODEC_VERSION_MINOR 113
#define LIBAVCODEC_VERSION_MICRO 1

Therefor this patch causes gpac compiled against libavcodec versions <
52.113.1 to set USE_PRE_0_7. Previously this flag was only set for
libavcodec versions < 52.102.0.

I think I was also able to track down the origin of this mistake. The
ffmpeg doc/APIchanges document contains this:

------------------------------------------------------------------------
2011-02-20 - e731b8d - lavf 52.102.0 - avio.h
* e731b8d - rename init_put_byte() to ffio_init_context(), deprecating the
original, and move it to a private header so it is no longer
part of our public API. Instead, use av_alloc_put_byte().
* ae628ec - rename ByteIOContext to AVIOContext.
------------------------------------------------------------------------

Note: The 52.102.0 version reference in that note refers to libavfilter,
not libavocdec which is used by gpac to make the feature detection.

Last but not least: Calling this flag USE_PRE_0_7 might not be the best
choice, instead it may be better to have individual flags for the
individual API changes ffmpeg went through. That being said, I may be
the only one who cares about this for now, and I have verified that this
new version also makes sense for the other places where USE_PRE_0_7 is
used, so this should be sufficient.

Discussion

  • Felix Geisendörfer

    Felix Geisendörfer - 2012-05-21
     
    cb1bd7435ddc48ab9167ff2584851249c4edf5e5.patch
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:

Log in to post a comment.

SourceForge
  • Create a Project
  • Open Source Software
  • Business Software
  • Top Downloaded Projects
Company
  • About
  • Team
  • SourceForge Headquarters
    225 Broadway Suite 1600
    San Diego, CA 92101
    +1 (858) 422-6466
Resources
  • Support
  • Site Documentation
  • Site Status
  • SourceForge Reviews
SourceForge logo
© 2025 Slashdot Media. All Rights Reserved.
Terms Privacy Opt Out Advertise
×
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.