Skip to content
This repository has been archived by the owner on Apr 30, 2022. It is now read-only.

some updates #4

Open
wants to merge 452 commits into
base: master
Choose a base branch
from
Open

some updates #4

wants to merge 452 commits into from

Conversation

albertz
Copy link

@albertz albertz commented Apr 11, 2011

No description provided.

albertz and others added 30 commits September 17, 2011 10:07
Fixed an issue with the init script
This means you can't run multiple shairports under the same name,
barring a portable way to get the real interface ID.
The last-chance resend was sometimes fired up to 6 times (probably while
receiving multiple new packets while playing the same buffer-data).

The following patch corrects this: only one retry is sent out.
For this to happen, I change abuf->ready to -1 ("1 retry sent out") and
by changing the other comparisons of abuf->ready to != 1.

Probably, this could be improved, by implementing a first check at t-30,
t-20, t-10, ...
disconnection

I was looking to trigger an action when I connect to shairport.
Basically, I want to switch on the stereo when I start playing music
over shairport (and I want to switch if off when I stop streaming).

Because my set-up will be different than any other set-up, I thought
about making it generic.

Two new command-line options --play_prog and --stop_prog take one
argument: the command line to start when the first connection is made or
when the last connection quits.

Example:
$ shairport.pl --play_prog="amixer set PCM 100%"
1 x bugfix, 1 x improvement, 1 x new feature
- when requesting a packet, do not request an already received packet
- move the last-chance resend to buffer_get_frame
- check more often for missing frames
  own checks show that some frames need to be requested up to 4 times
  on bad connections
Make the dependency and compile command match in the resources used.
This makes things a bit cleaner and easier to grasp.
This allows the compiler to do a much better job on this file, as it
currently can't inline most of the functions because they are
technically visible outside the file. Mark most functions and variables
static to let the compiler work.
If you turned set `debug = 1` in hairtunes, you'd quickly get a mess of
debug messages that showed bf_est_drift in bf_est_update() going quicky
out of range toward a float NaN value (usually negative). Clearly the
presence of this `out` variable in biquad_filt was meant to be used, not
marked as unused.
Using the `volatile` qualifier in multithreading code is never the right
answer. Mutexes should be used as was attempted with the audio buffer
code. Here, we implement a new mutex for the volume and fix_volume
globals, and grab a lock on it when necessary, which is for both reads
and writes.
We need to use this any time we write to or access any of the
audio-buffer related variables. This also removes the need to use
'volatile', which cripples the compiler optimizations.
Most functions don't need to be public outside of this file, so move all
the forward declarations out of shairport.h.
Cleanup, optimization, and bug fixes
abrasive and others added 30 commits June 25, 2014 14:19
Fixes compile on systems where POSIX wait is in the namespace.
Set up a daemon service for OS X using launchd that loads on boot.
The script depends on the computer having a network connection and
upon the mDNSResponder and coreaudiod running before it launches
shairport.
With thanks to @yenchee1970 for pointing out the bug.
This only happens if the cover directory option is set.
Using the MD5 hash with a prefix as the file name. Don't overwrite the
file if it already exists.
Supported types are png and jpeg. Setting the file extension.
Prints version number at startup, will make collecting bug reports a
little easier. Closes #338.
Now depends on git during build to get the version. There's not
currently a tarball release process, so that shouldn't be an issue.
Prevents warnings on normal startup, much more civilised.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.