Made mpg123 check for errors in output (while writing - so after _opening_ was successful) so that it does't rage-decode in invalid files/pipes.
git-svn-id: svn://scm.orgis.org/mpg123/trunk@1278 35dc7657-300d-0410-a2e5-dc2837fedb53
A bad audio module setting now has the expected result... abort at the correct place.
git-svn-id: svn://scm.orgis.org/mpg123/trunk@1267 35dc7657-300d-0410-a2e5-dc2837fedb53
No nastly killing or SIGSTOP anymore; buffer either plays or waits for commands, including termination.
This fixes the terminal behaviour with track skip and seek when stopped:
The buffer can be resynced while being stopped, so no forced restart of playback on track skip anymore.
The only nagging usability issue remaining with the buffer is the inability to seek while playing.
Refilling of the buffer effects in fast-forward only.
git-svn-id: svn://scm.orgis.org/mpg123/trunk@1251 35dc7657-300d-0410-a2e5-dc2837fedb53
The initial reason was to install safeguards against multiple ao->close() operations, which was done, too.
Now either the buffer or the main mpg123 process touch the audio devices; in the buffered case the main program querying the buffer process for audio capabilities.
That and some other potential bug(s) fixed.
This is too much movement in a release candidate, but it is necessary - we want some quality for 1.0!
git-svn-id: svn://scm.orgis.org/mpg123/trunk@1246 35dc7657-300d-0410-a2e5-dc2837fedb53
Also removed direct uses of ao->close in mpg123.c and buffer.c .
git-svn-id: svn://scm.orgis.org/mpg123/trunk@1044 35dc7657-300d-0410-a2e5-dc2837fedb53
The hard code mixes should be done, easy code mixes to follow... then the fun with the build system.
git-svn-id: svn://scm.orgis.org/mpg123/trunk@1000 35dc7657-300d-0410-a2e5-dc2837fedb53
Legacy support allows statically compiling in a single module.
Still needs some work, but a quick test on my MacBook worked :)
git-svn-id: svn://scm.orgis.org/mpg123/trunk@932 35dc7657-300d-0410-a2e5-dc2837fedb53
A commit that looks bigger than it is. Most files only got header #includes removed that are handled in mpg123.h .
Then there are the corresponding changes in mpg123.h; together with the addition of safe_realloc for ancient systems.
The ugly need for snprintf in make_remote_header() has been avoided by changing this one into print_remote_header().
The Question of size_t, ssize_t and off_t is handled in configure now; respectively in config.h.legacy .
git-svn-id: svn://scm.orgis.org/mpg123/trunk@861 35dc7657-300d-0410-a2e5-dc2837fedb53
This restores some work of Tony Million from ages ago... wrapping buffer code properly into #ifndef NOXFERMEM again (except in term.c, which is a different beast).
Hack Makefile for the preprocessed .S files (mingw doesn't run cpp by itself).
Got autoconf'ed x86 portaudio/mme build working for *-mingw32; Elia wants SDL ...;-)
Also configure now doesn't look at OS for choosing default audio output but at the available output systems instead.
Let's keep this hardcoding at a minimum.
Sound playback works, control_generic not (no stdin in windows terminal?).
Assembler opts work nicely (including --cpu choice).
WAV writing has distortion ... twisted endianess?
git-svn-id: svn://scm.orgis.org/mpg123/trunk@631 35dc7657-300d-0410-a2e5-dc2837fedb53
Moving aside old build system and calling it 'legacy'.
Can build legacy system using ./MakeLegacy.sh <foo>
git-svn-id: svn://scm.orgis.org/mpg123/trunk@149 35dc7657-300d-0410-a2e5-dc2837fedb53