Commit Graph

310 Commits

Author SHA1 Message Date
Stein Magnus Jodal
92187f2c3f audio: Add timeout arg to scan() 2015-09-13 11:56:16 +02:00
Thomas Adamcik
e77a4afaf4 audio: Make scanner report MIME for missing plugins 2015-08-18 23:56:42 +02:00
Thomas Adamcik
087ee42882 audio: Fix scan timeout handling 2015-08-16 12:06:14 +02:00
Thomas Adamcik
61bb7df64d Merge pull request #1239 from jodal/feature/stream-playlists
stream/audio: Make stream backend parse radio playlists itself
2015-07-26 11:48:19 +02:00
Mikhail Golubev
b596b85571 Add "sortname" field in the Artist model (#940) 2015-07-25 17:25:28 +02:00
Stein Magnus Jodal
bdcfab09f1 playlists: Move detecters and parsers out of audio 2015-07-25 14:47:01 +02:00
Stein Magnus Jodal
c0e9593a0b audio: Remove playlist elements 2015-07-25 14:47:00 +02:00
Stein Magnus Jodal
1a2cb8f6b5 audio: Move IcySrc out of playlist module 2015-07-25 14:47:00 +02:00
Thomas Adamcik
f6f445e4b6 Merge branch 'develop' into feature/http-helpers
Conflicts:
	docs/changelog.rst
2015-05-09 00:45:09 +02:00
Thomas Adamcik
382aa0a775 httpclient: Move to top level module 2015-05-09 00:44:16 +02:00
Stein Magnus Jodal
d8bcd7f273 Rename mopidy.utils to mopidy.internal 2015-05-07 23:15:56 +02:00
Stein Magnus Jodal
b4a6a4da7f Merge branch 'v1.0.x' into develop 2015-04-30 08:44:10 +02:00
Thomas Adamcik
7938ef48ed audio: Stop tweaking tee queue sizes 2015-04-29 21:27:57 +02:00
Thomas Adamcik
924269616b audio: Use proxy helper in audio utils 2015-04-29 00:38:23 +02:00
Stein Magnus Jodal
97c336200b Merge branch 'v1.0.x' into develop 2015-04-28 00:02:26 +02:00
Thomas Adamcik
55e50ae5d2 audio: Switch to time based buffering in tee branches 2015-04-27 22:55:21 +02:00
Stein Magnus Jodal
6a97ffa012 Merge branch 'v1.0.x' into develop
Conflicts:
	docs/changelog.rst
2015-04-26 23:50:50 +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
093c4340cd Merge branch 'v1.0.x' into develop
Conflicts:
	mopidy/audio/scan.py
	tests/audio/test_scan.py
2015-04-13 08:19:14 +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
Stein Magnus Jodal
71ab9733c7 flake8: Fix new import order warnings 2015-04-12 23:03:46 +02:00
Thomas Adamcik
1a1a0753a4 audio: Use print function in scanner 2015-04-12 14:16:35 +02:00
Thomas Adamcik
9bc4d8b713 audio: Make scanner handle all media types.
I don't think this makes anything slower, as before we would still decode
anything we came across in the hopes that we find raw audio.
2015-04-11 00:29:07 +02:00
Thomas Adamcik
dfaa3f1433 audio: Have scanner tell us if we found decodeable audio 2015-04-11 00:21:35 +02:00
Thomas Adamcik
05c4af017b audio: Create fakesinks on the fly for scanner pads
This makes us correctly handle say when someone gives us a movie, or something
else that seems to have multiple things that can be encoded internally.
2015-04-11 00:21:35 +02:00
Thomas Adamcik
c77b63f4c8 audio: Add main method to scanner for quick testing 2015-04-11 00:21:35 +02:00
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