Commit Graph

150 Commits

Author SHA1 Message Date
Thomas Adamcik
7938ef48ed audio: Stop tweaking tee queue sizes 2015-04-29 21:27:57 +02:00
Thomas Adamcik
55e50ae5d2 audio: Switch to time based buffering in tee branches 2015-04-27 22:55:21 +02:00
Thomas Adamcik
e53bf56115 audio: Make sure software mixer emits mute events.
Turns out that gobject.GObject.set_property does not have a return value.
2015-04-26 23:16:51 +02:00
Thomas Adamcik
b80361ccb2 audio: Increase per tee branch buffer size. Fixes #1147 2015-04-26 23:07:10 +02:00
Stein Magnus Jodal
f85ea2a39d flake8: Fix new import order warnings
(cherry picked from commit 71ab9733c7)
2015-04-12 23:05:53 +02:00
Thomas Adamcik
db48845e91 audio: Adjust queue sizes.
These are mostly just gut feeling guesses. We should really start exposing at
least a few of these as settings soon.
2015-04-03 14:43:44 +02:00
Thomas Adamcik
9f90b37aa5 audio: Limit post tee queue size
Not sure how small we can safely make this, but basically with the volume
element in front of the tee we "need" this as small as possible so the volume
changes fell snappy. Alternative would be one volume element per tee branch.
2015-04-03 14:43:44 +02:00
Thomas Adamcik
e76c3c9012 audio: Remove notify::mute/volume from software mixer
These will never be triggered externally when using plain software volume.
2015-04-03 14:43:44 +02:00
Thomas Adamcik
8236417e9d audio: Move software volume into audiosink.
This turns off playbin controlled volume, which implies that pulsesink volume
can no longer be controlled by Mopidy. This is likely something we have to
break, or at least rethink for multiple output support any way.

With this change we now have software volume after our large queue, which
means volume changes should happen much faster.
2015-04-03 14:43:44 +02:00
Thomas Adamcik
2234a04fc7 audio: Make outputs helper only handle tee-ing.
The queue which is needed for gapless has been moved up to a
audio-sink bin which also wraps the outputs.
2015-04-03 14:43:44 +02:00
Stein Magnus Jodal
a05c097106 docs: Change deprecated-in from 0.20 to 1.0
Fixes #1051
2015-03-18 22:00:00 +01:00
Thomas Adamcik
b1448f584f audio: Remove download flag from audio (fixes #1041)
This should resolve the issue where Mopidy tries and download way to much of a
remote track before playing it.
2015-03-17 21:10:02 +01:00
Thomas Adamcik
8983608992 audio: Never buffer live sources as they would stall 2015-03-17 20:56:58 +01:00
Thomas Adamcik
b90d18c8ac audio: Reduce most buffering message to trace level 2015-03-17 20:56:16 +01:00
Stein Magnus Jodal
a3b7c8d44f audio: Fix AttributeError on shutdown (fix #985)
Given the right timings, there was possible to get a stack trace at
shutdown if the audio actor was teared down first and a music delivery
from libspotify/pyspotify called audio.push() after the teardown.
2015-02-13 09:36:51 +01:00
Thomas Adamcik
96572eacdf audio: Add proxy support to scanner 2015-02-13 00:51:52 +01:00
Stein Magnus Jodal
8e4b019127 audio: Update #886 workaround to work with new audio APIs 2015-02-12 23:34:33 +01:00
Stein Magnus Jodal
28e53718ff Merge PR#958 from jcass77 into develop
Conflicts:
	mopidy/audio/actor.py
2015-02-12 23:08:02 +01:00
Stein Magnus Jodal
a693993905 flake8: Fix new warnings after flake8 upgrade 2015-02-07 17:11:36 +01:00
jcass
090518b96d Add comment for Mac OS X volume reset workaround. 2015-02-04 07:46:31 +02:00
jcass
9d931adf4a Re-set volume explicitly to the current level whenever changing tracks.
Workaround for issue #886.
2015-02-03 18:30:56 +02:00
Thomas Adamcik
158a448e2b audio: Fix bug in missing plugin code path 2014-12-30 11:58:57 +01:00
Thomas Adamcik
983148a9a4 audio: Start storing the tags we find in audio
Adds a new get_currents_tags method for fetching the full set of current tags.
There are still some untested cases for this, and I also suspect we still want
some API refinements one core starts using this.
2014-12-18 23:28:19 +01:00
Thomas Adamcik
bc347f1650 audio: Fix minor typo in a debug log message 2014-12-18 23:28:19 +01:00
Thomas Adamcik
6c62252919 audio: Add tags changed event to audio.
Current version simply emits the keys of the changed tags to the audio
listener. Following change will add support for storing the actual data.
2014-12-18 23:28:19 +01:00
Stein Magnus Jodal
496142c201 py3: Use absolute imports by default 2014-12-07 20:17:10 +01:00
Thomas Adamcik
2665a5521b audio: Add gst.DEBUG_BIN_TO_DOT_FILE pipeline debuging 2014-09-26 23:51:33 +02:00
Stein Magnus Jodal
00c17ae193 audio: Deprecate emit_end_of_stream 2014-09-21 21:01:11 +02:00
Thomas Adamcik
ada7641ee6 audio: Remove visualizer support 2014-09-07 23:48:04 +02:00
Thomas Adamcik
3f699b97d2 audio: Split message/event teardown handler 2014-09-07 22:35:58 +02:00
Thomas Adamcik
e744a6da87 audio: Resolve review comments 2014-09-07 21:38:13 +02:00
Thomas Adamcik
c129cd4b24 audio: s/Triggering/Audio event/ 2014-09-07 21:36:31 +02:00
Thomas Adamcik
ac5bf9af17 audio: Move most of event handling out of audio.
Some of the signal handling still needs to be moved.
2014-08-11 22:33:49 +02:00
Thomas Adamcik
101b2a9817 audio: Make stream-changed correctly handle tee setup
For the purposes of this event we consider the outputs sink the final element.
If we don't do this we would get one event per branch, and we don't want to
track when each of them actually switches any way. So just tracking when the
tee/outputs bin gets the event is good enough for us.

As part of this I've also added 'testoutput' as a special cased output value.
This is now needed as outputs are always synced to the clock, making testing
a lot less practical.
2014-08-11 22:33:49 +02:00
Thomas Adamcik
fd9100a5f3 audio: Annotate code with more TODOs and questions 2014-08-03 23:57:22 +02:00
Thomas Adamcik
6b88b4f685 audio: Group playbin teardown/setup
This makes it possible to see that we setup and teardown the same things. Also
fixes disconnect on a signal we no longer listen to.
2014-08-03 23:57:22 +02:00
Thomas Adamcik
b8a0ca59cd audio: Refactor softwaremixer and audio interactions
This rips the mixer bits and pieces that have been hiding in the audio actor to
it's own class. The software mixer now only knows about this and nothing else
from audio.
2014-08-03 23:57:22 +02:00
Thomas Adamcik
4bfc5e7a80 audio: Split out proxy setup 2014-08-03 23:57:22 +02:00
Thomas Adamcik
72ca1a74c3 audio: Unify source handlers
notify::source and setup-source are the same, just that setup-source is a
convenience wrapper.
2014-08-03 23:57:22 +02:00
Thomas Adamcik
d650c0ba14 audio: Split out ouput handling from audio actor
This also lays some basic ground work for handling multiple outputs.
2014-08-03 23:57:22 +02:00
Thomas Adamcik
b9879ef81e audio: Improve GStreamer logging
This adds an extra mopidy.audio.gst logger and moves the GStreamer logging to
it. Additionally this adds more logging so we can likely get by with just
mopidy logs in more cases.
2014-08-03 23:57:22 +02:00
Thomas Adamcik
88788fddfd audio: Use pbutils to provide usable plugin missing info 2014-08-03 23:57:22 +02:00
Thomas Adamcik
fb8b02cee9 audio: Split out appsrc handling 2014-08-03 23:57:22 +02:00
Thomas Adamcik
f0f19ebc2e audio: Add docs to signal handler helper 2014-08-03 23:57:22 +02:00
Thomas Adamcik
531b312ace audio: Split out the signals tracking 2014-08-03 23:57:21 +02:00
Thomas Adamcik
5d1dd1a355 review-fixes: Mostly typos etc. 2014-08-02 20:45:55 +02:00
Thomas Adamcik
1b8feefcdc audio: Link to context of why we demote jack sinks
(cherry picked from commit 29019d94af)
2014-07-30 00:30:13 +02:00
Thomas Adamcik
3f6a9acea1 Merge branch 'develop' into feature/audio-prep-work-for-gapless 2014-07-30 00:12:00 +02:00
Thomas Adamcik
29019d94af audio: Link to context of why we demote jack sinks 2014-07-29 23:45:22 +02:00
Thomas Adamcik
e73159dc6c Merge branch 'develop' into feature/audio-prep-work-for-gapless 2014-07-29 23:07:08 +02:00