mplayer had three ways of enabling CPU specific assembler routines:
a) Enable them at compile time; crash if the CPU can't handle it.
b) Enable them at compile time, but let the configure script detect
your CPU. Your binary will only crash if you try to run it on a
different system that has less features than yours.
This was the default, I think.
c) Runtime detection.
The implementation of b) and c) suck. a) is not really feasible (it
sucks for users). Remove all code related to this, and use libav's CPU
detection instead. Now the configure script will always enable CPU
specific features, and disable them at runtime if libav reports them
not as available.
One implication is that now the compiler is always expected to handle
SSE (etc.) inline assembly at runtime, unless it's explicitly disabled.
Only checks for x86 CPU specific features are kept, the rest is either
unused or barely used.
Get rid of all the dump -mpcu, -march etc. flags. Trust the compiler
to select decent settings.
Get rid of support for the following operating systems:
- BSD/OS (some ancient BSD fork)
- QNX (don't care)
- BeOS (dead, Haiku support is still welcome)
- AIX (don't care)
- HP-UX (don't care)
- OS/2 (dead, actual support has been removed a while ago)
Remove the configure code for detecting the endianness. Instead, use
the standard header <endian.h>, which can be used if _GNU_SOURCE or
_BSD_SOURCE is defined. (Maybe these changes should have been in a
separate commit.)
Since this is a quite violent code removal orgy, and I'm testing only
on x86 32 bit Linux, expect regressions.
The per-CD info will be printed on playback start, per-track info when
a track is played. (This is not a technical restriction, and just goes
along with the existing code.)
The following fields are not included in output, because these are
supposedly binary: CDTEXT_DISCID, CDTEXT_GENRE, CDTEXT_SIZE_INFO,
CDTEXT_TOC_INFO, CDTEXT_TOC_INFO2.
Fix cdda speed default value, range and use more robust condition.
Based on patch by Ingo Brückl [ib wupperonline de].
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34458 b3059339-0415-0410-9bf9-f77b7e298cf2
Do not call paranoia_overlapset with 0, it actually causes cdparanoia to just hang.
Instead use it to set/unset PARANOIA_MODE_OVERLAP.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34459 b3059339-0415-0410-9bf9-f77b7e298cf2
Fail if trying to seek beyond the last chapter, not just if it is beyond the end of the disc.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34460 b3059339-0415-0410-9bf9-f77b7e298cf2
cdda: set position to an actual EOF position when we set EOF.
This avoids some inconsistency like the stream indicating EOF but
a read still returning more data.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34462 b3059339-0415-0410-9bf9-f77b7e298cf2
Allow PARANOIA_MODE_FULL with skipping.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34467 b3059339-0415-0410-9bf9-f77b7e298cf2
Don't call paranoia_modeset() for PARANOIA_MODE_DISABLE.
cdparanoia destroys start sector information after such a call.
Since it is pointless without setting a mode anyway, don't do it.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34468 b3059339-0415-0410-9bf9-f77b7e298cf2
Add comment to a condition that is just a hack around a cdparanoia bug.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34472 b3059339-0415-0410-9bf9-f77b7e298cf2
Add checks for errors in stream_cdda's get_track_by_sector().
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34495 b3059339-0415-0410-9bf9-f77b7e298cf2
Fix seeking beyond EOF in stream_cdda to work with cache.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34577 b3059339-0415-0410-9bf9-f77b7e298cf2
After commit 39e373aa8d ("options: allocate dynamic options with
talloc") dynamically allocated options must be allocated with talloc.
stream_cdda allocated a string used with the option machinery using
strdup(). Fix. Also silence a warning.
Constrain libcdparanoia's caching which badly breaks playback with
-nocache (libcdparanoia requests a huge chunk at once, then lets the
disk spin down while that is being played, leading to a pause when the
disk needs to spin back up after the big chunk is finished). Switching
to libcdio by default which does not have this ssue might be a better
long-term solution though.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33557 b3059339-0415-0410-9bf9-f77b7e298cf2
Adjust printf length modifier, fixes the warning:
stream/stream_cdda.c:358: warning: format '%ld' expects type 'long int', but argument 4 has type 'int'
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31512 b3059339-0415-0410-9bf9-f77b7e298cf2
This fixes a bunch of warnings about missing function prototypes.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31509 b3059339-0415-0410-9bf9-f77b7e298cf2
Now we support seek cdda/cddb tracks by seek_chapter command.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25438 b3059339-0415-0410-9bf9-f77b7e298cf2