Commit Graph

283 Commits

Author SHA1 Message Date
Stein Magnus Jodal
9ef1f91a0e Merge branch 'v1.0.x' into develop
Conflicts:
	docs/changelog.rst
2015-04-05 02:14:19 +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
c4940cbea2 autopep8: Add space after class signature/docstring 2015-04-03 00:05:26 +02:00
Thomas Adamcik
bd1e822fea utils: Create warn and ignore deprecation warning helpers
This moves all the deprecation warnings messages to a central place so that it
is easy to match against them without having to redefine the same regex all
over the place.

Each message has been given a message id which is more or less
module.func:extra-info. This is not intended to be parsed, just used in tests
when using the ignore helper.
2015-03-30 23:48:08 +02:00
Thomas Adamcik
447629cbf9 audio: Add deprecation warning to emit_end_of_stream 2015-03-29 23:10:23 +02:00
Thomas Adamcik
7e66b719ea audio: pipeline.add_many() is deprecated 2015-03-26 21:54:23 +01: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
Thomas Adamcik
faab0b755a audio: Filter for messages we care about, rest will be dropped 2015-03-13 22:39:52 +01:00
Thomas Adamcik
9e8b3263ab audio: Use timed pop for message loop and gst clocks 2015-03-13 22:36:35 +01:00
Thomas Adamcik
628c828087 audio: Recreate scan pipeline for each scan
Turns out this code runs a lot faster when we fully destroy the decodebins
between scans. And since going to NULL isn't enough I opted to just go for
redoing the whole pipeline instead of adding and removing decodebins all the
time.

As part of this almost all the logic has been ripped out of the scan class and
into internal functions. The external interface has been kept the same for now.
But we could easily switch to `scan(uri, timeout=1000, proxy=None)`
2015-03-13 00:23:01 +01:00
Thomas Adamcik
411bae5a56 audio: Raise error for unknown protocol types 2015-03-12 23:21:53 +01:00
Thomas Adamcik
9c9d05be36 audio: Only warn about missing plugin on errors 2015-03-12 22:11:50 +01:00
Thomas Adamcik
837f2de629 audio: Add typefinder to scanner and add mime to result
This should allow us to move playlist handling out of GStreamer
as we will short circuit for text/* and application/xml now.
2015-03-12 22:11:50 +01:00
Thomas Adamcik
c93eaad7ed audio: Try and reuse source when we can 2015-03-12 22:11:50 +01:00
Thomas Adamcik
24cceb69eb audio: Going to ready is pointless in this code. 2015-03-12 22:11:50 +01:00
Thomas Adamcik
cd579ff7bb audio: Going to NULL already handles the flushing for us 2015-03-12 22:11:50 +01:00
Thomas Adamcik
ccd3753b30 audio: Switch to decodebin2 in scanner and handle our own sources
This is needed to be able to put in our own typefind and catch playlists before
they make it to the decoder.
2015-03-12 22:11:50 +01:00
Thomas Adamcik
cee73b5501 audio: Add support for checking seekable state in scanner
Return type of scanner changed to a named tuple with (uri, tags, duration,
seekable). This should help with #872 and the related "live" issues.

Tests, local scan and stream metadata lookup have been updated to account for
the changes.
2015-03-12 22:11:50 +01:00
Thomas Adamcik
f4e6956bb7 audio: Catch missing plugins in scanner for better error messages 2015-03-12 22:11:50 +01:00
Thomas Adamcik
4a38d1722c Merge pull request #984 from jodal/feature/move-dummies
Move dummies into the test package where they belong
2015-02-13 20:22:31 +01:00
Stein Magnus Jodal
5270aa65e2 audio: Move DummyAudio into tests package 2015-02-13 10:40:21 +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
e938fb0a7f Merge pull request #965 from ZenithDK/fix/flake-lambda
flake8: fix PEP8 warnings about lambda
2015-02-12 22:22:53 +01:00
Lasse Bigum
34ada2784a flake8: fix PEP8 warnings about lambda
Fix the 'lambda to def' warnings
2015-02-12 22:10:36 +01:00
Stein Magnus Jodal
dfe27a0918 audio: Fix event handler's argument name
Every emit of this event caused an invisible exception in every audio
listener (e.g. core). The exception was made visible by the change in
the previous commit.
2015-02-09 00:10:33 +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
kingosticks
d666083c6f Use bytestrings when parsing M3U playlists
Fixes #853
2015-01-04 20:26:45 +00:00
Thomas Adamcik
158a448e2b audio: Fix bug in missing plugin code path 2014-12-30 11:58:57 +01:00
Thomas Adamcik
c575f13bf8 audio: Fix long line in docstring 2014-12-28 09:40:10 +01:00
Thomas Adamcik
5513cbcfb1 audio: Update audio taglist key documentation 2014-12-27 23:28:19 +01:00
Thomas Adamcik
935a038405 audio: Only add albums that have a name
Fixes case where we could have an empty album. We could alternatively be more
conservative and only limit to fully empty albums. But I think we only want
ones with names anyway.
2014-12-22 22:45:31 +01:00
Thomas Adamcik
819680e074 audio: Move utils test to tests folder 2014-12-22 22:34:11 +01:00
Thomas Adamcik
77dc046efd audio: Fix rST formatting in docstring 2014-12-21 21:49:51 +01:00
Thomas Adamcik
7b36a598bb review: Fix typos found in PR#915 feedback 2014-12-21 21:48:09 +01:00
Thomas Adamcik
9be788b129 audio: Move tags to track conversion to audio utils 2014-12-18 23:36:56 +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