This code is closer to what we used before for gcc2, and should not
crash there anymore. I could not get exactly the same code to work, but
reduced the difference to a single statement (which makes gcc2 work and
breaks gcc4). This is protected under a guard with appropriate ffmpeg
version test.
This code works for both gcc2 and gcc4 (tested with mp3 and aac files as
well as youtube videos). It still gets the timestamps wrong with ffmpeg
2.4, but I'll try to solve that another time.
Commit 856cc59e58 didn't really "fix"
anything; it just broke audio pretty much everywhere but YouTube,
and there videos play at 2x speed so it wasn't really worth it.
Stopgap solution for #12509.
* update gmp package for x86, gmp_x86 for x86_gcc2.
* update wget packages for x86 and x86_gcc2.
* update icu* packages for x86_gcc2 and x86.
* update libgpg_error* packages for x86_gcc2.
* Beware that installing these packages will replace gcc and syslibs. gcc5 packages
can be used to check that packages still build correctly with gcc5, simply being
places in haikuporter packages folder.
* libstdc++ is configured for "gcc4 compatibility", this means we could switch to
this version, while maintaining binary compatibility. However a switch to the new abi
will eventually require a full rebuild of packages depending on libstdc++. For this
to happen, the affected packages should be buildable with gcc5, which can easily be done
with the addition of these packages. Mainstream packages with up to date versions are
probably already buildable with gcc5, some aren't (ie boost). All haiku-* packages are
to be checked. I'll open a provisioning ticket to track the related activities.
* Move !missing_symbols.cpp in the legacy directory.
* Move useless methods in a Deprecated.cpp file.
* SetRealtimeFlags / GetRealtimeFlags are useless, they
don't make sense nowadays.
* The symbols are anyway preserved.
* People interested, please review!
* This is based on the patch from Fredrik Moden which was based on
the Oleg Krysenkov one.
* The original patch has been reworked by myself.
* Adapted the code to work with the new PluginManager API which
differently than before doesn't need to contact the media_server.