Commit Graph

3103 Commits

Author SHA1 Message Date
ejurgensen
7b6a7b65b3 [input] Add interface for getting metadata from input modules 2017-01-27 22:36:00 +01:00
ejurgensen
2696b27972 [artwork] Let the artwork handler for streams use queue->artwork_url instead of calling the player, which was messy 2017-01-27 22:36:00 +01:00
ejurgensen
4d4a4ffd70 [db] Remove special icy update function, add db_queue_update_item()
- we will use the latter generalised form from now on, even though it is perhaps a tad slower
2017-01-27 22:36:00 +01:00
ejurgensen
e92152cadb [db] Upgrade db to 19.03: Add artwork_url column to queue table 2017-01-27 22:36:00 +01:00
ejurgensen
40d50d693b [misc] Add small function to swap pointers 2017-01-27 22:36:00 +01:00
ejurgensen
ee32b9cb70 [pipe] Reset pipes when required + prepare for metadata pipes 2017-01-27 22:36:00 +01:00
ejurgensen
90f37b75ce [player] Fix it so source_read() returns silence and not an error until source_check stops playback 2017-01-27 22:36:00 +01:00
ejurgensen
9fb62441d2 [pipe] Use worker thread instead of filescanner for watching pipes 2017-01-27 22:36:00 +01:00
ejurgensen
061beaf272 [worker] Make sure worker accepts NULL-arguments 2017-01-27 22:35:16 +01:00
ejurgensen
7f7207bb87 [pipe] Pipe input interface (wip) 2017-01-27 22:35:15 +01:00
ejurgensen
acc67338a1 [input] Add a buffer full callback for the player 2017-01-27 22:35:15 +01:00
ejurgensen
aa8edeead4 [player] Add suspend/resume on underrun + misc fixing up 2017-01-27 22:35:15 +01:00
ejurgensen
18918ce489 [db] Rename db_file_save_seek -> db_file_seek_update 2017-01-27 22:35:15 +01:00
ejurgensen
6af8fa07b4 [spotify] Use timespec_reltoabs instead of internal mk_reltime 2017-01-27 22:35:15 +01:00
ejurgensen
6db4e40119 [misc] Add function to add a relative time to current clock 2017-01-27 22:34:15 +01:00
ejurgensen
9aede45a12 [pipe] Add a pipe input with autostart capabilities 2017-01-27 22:30:47 +01:00
ejurgensen
938e197fa4 [player] Refactor read/write
- remove read skip which is obsolete when input has own thread and cannot block
- simplify code
- fix while loop that could loop infinitely
2017-01-27 22:29:08 +01:00
ejurgensen
1258481202 [listener] Rename LISTENER_PLAYLIST to LISTENER_QUEUE 2017-01-27 22:25:32 +01:00
ejurgensen
60daf03f66 [cache/scan] Let notifications from db.c about library updates go through
filescanner/listener instead of directly to the cache
2017-01-27 22:25:32 +01:00
ejurgensen
79639c73ed [input] Add Spotify input module 2017-01-27 22:08:56 +01:00
ejurgensen
c92ebf9dfb [player] Fix problem where player_playback_cb triggers after playback stop 2017-01-27 22:01:24 +01:00
ejurgensen
3e24f857fa [input] Add input interface to player - WIP 2017-01-27 22:01:24 +01:00
ejurgensen
c50b038397 [misc] Move STOB and BTOS macros to misc.h 2017-01-27 22:01:24 +01:00
ejurgensen
171a75375b [outputs] Fix for (unlikely) situation where all outputs have no init() 2017-01-27 22:01:24 +01:00
ejurgensen
41aa530fd3 [http] Add support for http post in the libevent client (required for scrobbling) 2017-01-25 22:52:11 +01:00
ejurgensen
db4068f046 [artwork] Hardcode destination pixel format for png rescaling since
avcode_find_best_pix_fmt_of_list() does not live up to its name
(fixes issue #345)
2017-01-25 21:02:41 +01:00
ejurgensen
084de7811e [raop] Fix missing uint64 cast, which since commit fdd85cc was giving too short song lengths 2017-01-23 23:41:10 +01:00
sshambar
bc4b046897 [logger] Add missing include (#342) 2017-01-23 08:41:23 +01:00
ejurgensen
36d9051a91 [misc] Fixup coding style 2017-01-22 23:47:45 +01:00
ejurgensen
5dc8eea4c2 [main] Re-include pthread.h that was removed in pr #334, needs to be
here because it is used by the gcrypt macro
2017-01-22 23:35:38 +01:00
Scott Shambarger
836320518b Merge branch 'master' into fixosx 2017-01-21 13:04:38 -05:00
Scott Shambarger
a837389ac5 Minor change: remove unused include, init variable. 2017-01-21 08:51:51 -08:00
Scott Shambarger
6f7355dfce Merge branch 'fixthreads' into fixosx 2017-01-21 10:38:47 -05:00
sshambar
b128271656 Merge branch 'master' into fixthreads 2017-01-21 10:27:26 -05:00
Scott Shambarger
8e3797ec43 [threads] Update mutex/cond functions to use new CHECK_ERR macros
Added various macros to check return values and log any errors and abort
if the call fails.
Updated logging to handle early errors before logging initialized.
2017-01-21 07:11:20 -08:00
chme
e092a9ff3e [spotify] Respect settings for 'artist_override' and 'album_override' (#340)
when scanning spotify through the web api

The goal is to reduce the artist/album cluttering that happens because
of the users spotify playlists. If 'artist_override' is true, all tracks
not in a saved album are treated as part of a compilation giving them
the configured album-artist (e. g. "Various artists"). I
'album_override' is true, tracks not in a saved album will use the
playlistname as albumname.
2017-01-21 10:17:33 +01:00
chme
6163269832 [dacp/db] Fix issue found with scan-build
- Result of operation is garbage or undefined in dacp_reply_cue_play
- Uninitialized argument value in dacp_reply_playqueuecontents
- Uninitialized argument value in queue_fetch_byposrelativetoitem
2017-01-20 19:00:11 +01:00
chme
4e869f6fda [dacp] Fix indentation 2017-01-20 19:00:11 +01:00
chme
dea5c50b67 [player] Fix memleaks found with scan-build 2017-01-20 19:00:11 +01:00
chme
825236c8bb [spotify_webapi] Fix memory leaks 2017-01-20 19:00:11 +01:00
chme
a4180a5902 [spotify] Increase log level for skipping playlists during scan 2017-01-18 20:32:02 +01:00
chme
e8d6b17784 fix indentation 2017-01-18 20:28:56 +01:00
chme
77086c9b82 [library] Check for init/deinit functions in library source 2017-01-18 20:12:14 +01:00
Scott Shambarger
9c50429abc [dnssd] Reworked resolve to use timeout, fixed network order on port 2017-01-17 01:36:03 -05:00
Scott Shambarger
879d9a80aa [osx] Remove incorrect calculations for timer_getoverrun 2017-01-14 23:29:07 -05:00
chme
00efed7988 [filescanner] Fix scanning of fifos 2017-01-14 13:59:14 +01:00
Scott Shambarger
bb68d59a6e [osx] Added missing timer/clock functions, support Bonjour mDNS on OSX
Added configure checks needed to detect missing functions on OSX
Added compat clock functions using clock_get_time on OSX
Added compat timer functions using clock_gettime and setitimer on OSX
Added byteswap functions on OSX
2017-01-14 00:56:43 -05:00
Scott Shambarger
b54d94fda6 [threads] Added missing initializers, check errors on mutex/cond calls 2017-01-13 17:32:59 -05:00
chme
a15923c377 [spotify] Fix for expired spotify access token and some cleanup 2017-01-13 19:20:24 +01:00
chme
528614909c [filescanner/library] Move filescanner to subfolder 2017-01-13 19:02:47 +01:00
chme
9c9c583b81 [library] move declaration scan_metadata_ffmpeg back to filescanner.h 2017-01-13 18:56:37 +01:00
chme
2cfb4b6a28 [spotify] Simplify parsing of artist/album-artist name
forked-daapd does not support a 1:n relationship between tracks and
artists. Just take the first artist the spotify web api returns
(libspotify does also return only one artist, so this should not
introduce a regression).
2017-01-13 18:56:37 +01:00
chme
03c5ecd690 [spotify] Split into smaller db transactions (do not keep an open
transaction between requests)
2017-01-13 18:56:37 +01:00
chme
f632789f8b [spotify] Set missing values for year, artwork, type, codectype,
description and improve logging
2017-01-13 18:56:37 +01:00
chme
ab3582dd69 [spotify_webapi] Cleanup: remove unused functions 2017-01-13 18:56:37 +01:00
chme
66bbcf0576 [spotify] Ignore playlist updates with missing uri 2017-01-13 18:56:37 +01:00
chme
8ee3ef5b15 [filescanner] Trigger library-scan on .init-rescan / .full-rescan 2017-01-13 18:56:37 +01:00
chme
510d38c059 [library/filescanner/spotify] Rework full-rescan logic 2017-01-13 18:56:37 +01:00
chme
4e60626749 [db] Add missing purge of directories in db_purge_all 2017-01-13 18:56:37 +01:00
chme
65ce902e3c [db_init] Set admint.value to VARCHAR(255)
Only a cosmetic change to avoid future confusion. sqlite3 ignores the
number of chars given to VARCHAR (see https://sqlite.org/faq.html#q9 ),
a db upgrade is therefor not necessary.
2017-01-13 18:56:37 +01:00
chme
99945fa576 [spotify] Rescan of single playlists if update trigger received from
libspotify (Readds "spotify:savedtracks" playlist to avoid deletion of
saved tracks)
2017-01-13 18:56:37 +01:00
chme
adac1d3b5f [spotify] Trigger scan after retrieving a valid access token from the
webinterface

Library now offers the function "library_exec_async". This allows
library sources to offer functions that will be executed in
the library thread. Useful to allow partial scans of only one source.
2017-01-13 18:56:37 +01:00
chme
ae1a45bacc [library/spotify] Implement rescan in spotify.c and purge old files
after rescan
2017-01-13 18:56:37 +01:00
chme
0bea83cafa [spotify] Scan saved albums and playlist using the spotify web api 2017-01-13 18:56:37 +01:00
chme
1672b67040 [library/filescanner] Move purging of old content to library; Remove
ping for spotify files in filescanner (not needed, either they get
updated through the init-scan or purged)
2017-01-13 18:56:37 +01:00
chme
263edaa8b3 [misc] Helper function safe_strdup (NULL safe strdup) 2017-01-13 18:56:37 +01:00
chme
4bd42dda41 [spotify] Remove loading saved tracks from the webapi (will be readded
later)
2017-01-13 18:56:37 +01:00
chme
1a85257fb3 [spotify] Extract function for preparing directories 2017-01-13 18:56:37 +01:00
chme
5efadb6fc2 [spotify_webapi] Add separate file for accessing the web api 2017-01-13 18:56:37 +01:00
chme
56ce3f9cba [library/filescanner/spotify] Add library source abstraction and new
"library" thread

- Implement filescanner as a library_source
- Add library source implementation for spotify
- Move process_media_info to library with small adjustments:
  - Remove dependency to F_SCAN_TYPE defines
  - Pass data_kind as parameter
  - Pass media_kind and compilation as parameter if a source forces a
specific value for these
- Move declaration of scan_ffmpeg to library; add
library_add_playlist_info to library
2017-01-13 18:56:37 +01:00
ejurgensen
785ff21045 Merge pull request #328 from sshambar/fixconfig
Updated configure/makefiles related to Issue #327
2017-01-12 22:41:47 +01:00
ejurgensen
45d513d206 [rtsp] Do not fail if ContentLength has chars after num value (e.g. whitespace) 2017-01-10 21:09:08 +01:00
ejurgensen
966a81cc77 [db] Fixup - itemcount not required for finding a playlist 2017-01-06 20:03:02 +01:00
ejurgensen
213b58c012 [db] Forgot to add Q_FIND_PL as a playlist query 2017-01-06 19:58:38 +01:00
ejurgensen
27946a472b [artwork] Add handler for playlist local artwork (for http items)
- ref https://www.raspberrypi.org/forums/viewtopic.php?p=1090166#p1090166
2017-01-06 19:35:05 +01:00
Scott Shambarger
ce4ef0aa23 [config] Many updates to configuration and feature checks
- Added custom checks for libraries and pkgconfig modules that test library
 presence with additional checks for use of headers and functions with
 given options.  Also support correct additional feature library checks
 using provided flags.
- Added custom enable/disable feature macros to simplify their use.
- Use custom CFLAGS and LIBS variables for Makefiles to simplify maintenance.
- Update many feature checks from platform to function.
- Streamline many function checks.
- Correctly check gnutls, gcrypt and gpg-error libraries.
- Fix chromecast and spotify config and compile on FreeBSD
- Added inotify, signalfd and kqueue, and byte swap checks.
- Many clarifications of error messages.
- Correct json-c checks to properly use supplied CFLAGS.
- Correct many quoting inconsistencies
- Use __DATE__ in place of BUILDDATE
- Use full path for gperf and antlr3
- Remove unnecessary CFLAGS
- Added tests for pthread_setname_np parameters
- Added tests for clock_gettime and timer_settime
- Added tests for time.h
- Test if pthread, dl and rt libs are required/available.
- Updated checks for libunistring
2017-01-06 00:44:18 -08:00
ejurgensen
b7c4256df4 [db] Refactor db_build_query_* to reduce redundancy 2017-01-04 22:29:47 +01:00
Scott Shambarger
8ead7ea3b8 [config] configure.ac checks required features, updated porting
Added a real config.rpath
Fixed build date calc for BSD
Require some needed headers at configure time
Correctly check libav functions using pkg-config flags
Made checks for some Linux features available on other ports
Fixed porting issue with antlr dep files
Added default HOST_NAME_MAX if not defined
Added missing libav header
2016-12-29 16:14:22 -08:00
ejurgensen
ce998fb38a [rtsp] Additional logging 2016-12-29 21:30:47 +01:00
ejurgensen
80fe738583 [mdns] Fix for missing HOST_NAME_MAX on FreeBSD 2016-12-29 19:30:04 +01:00
ejurgensen
82470b5168 [filescanner] Ignore spotify/lastfm/remote during startup, they can give DB deadlocks
- see https://www.raspberrypi.org/forums/viewtopic.php?p=1087137#p1087137
2016-12-28 22:53:00 +01:00
Scott Shambarger
8b4b55b748 [config] Make gperf/antlr maintainer tools, support distcheck
Updated configure to allow gperf/antlr to be missing if products are
in distribution (allows option of building w/o those tools)
Removed circular dependency of antlr products on clean
Added missing ffmpeg-compat.h header (correct dist)
Include gperf/antlr products in dist
gperf/antlr products removed with maintainer-clean
Support vpath builds, distcheck passes
Added support for non-verbose builds
2016-12-27 15:32:08 -08:00
Scott Shambarger
b38bccc458 [gperf] Renamed products to .h so they aren't built if listed in SOURCES 2016-12-27 15:08:08 -08:00
Scott Shambarger
d7f8dea0ec [config] Modernize autotools
Updated AC_OUTPUT to use AC_CONFIG_FILES
Use PACKAGE in install path
Remove automake -Wno-portability, not needed with foreign option
Fixed typo in evrtsp.h path
Autotools commands moved to build-aux directory
Allow CFLAGS and package CFLAGS/LIBS to be updated at build time
2016-12-27 14:51:37 -08:00
ejurgensen
e4387fe33e Merge pull request #326 from chme/tx
[filescanner] Fix nested transaction
2016-12-27 22:15:10 +01:00
chme
201f019655 [filescanner] Purge old db entries outside of the transaction in bulk
scan
2016-12-27 21:32:42 +01:00
chme
be6b4376e8 [db] wrap db_purge_cruft in a transaction 2016-12-27 21:31:01 +01:00
ejurgensen
3bb6220ce9 [transcode] Make sure transcode_seek() only returns negative on error
- newer ffmpeg seems to give timestamps that give negative got_pts when seeking to 0
2016-12-27 00:02:02 +01:00
chme
cf7787dbc2 [filescanner] Fix nested transaction 2016-12-24 07:44:03 +01:00
ejurgensen
1748430c48 [db] Review of cache regeneration triggers 2016-12-18 21:18:15 +01:00
ejurgensen
40d34ed4ad Merge pull request #324 from chme/db3
Remove rebuilding the persistent-ids on startup
2016-12-18 11:20:10 +01:00
chme
7856498951 [db] Remove unused functions db_files_update_songartistid,
db_files_update_songalbumid
2016-12-17 16:17:23 +01:00
chme
f5fe1e665a [filescanner] Remove rebuilding of persistent ids (artist, album)
The hash is not portable, therefor this removes the ability to build the
database on a different machine than the one running forked-daapd.
It also removes the clearing of the groups table and replaces it with a
cleanup call (removes unreferenced entries from the groups table).
2016-12-17 07:38:51 +01:00
chme
3d3c27190b [db] Add function to cleanup the 'groups' table (artists and albums)
Allows removing of item no longer referenced from the files table
2016-12-17 07:38:47 +01:00
chme
af774ef175 [filescanner] Remove unnecessary query for file id in process_media
The previous query for db_file_stamp_bypath already retrieves the file
id for the given path.
2016-12-17 07:11:51 +01:00
chme
351725c8b2 [db] initialize id parameter with 0 2016-12-17 07:11:43 +01:00
ejurgensen
1ab9151489 [http] Repair broken libevent 2.0 compability 2016-12-11 20:20:27 +01:00
ejurgensen
2ee4988a50 [httpd] Add missing include for event2/keyvalq_struct.h (closes #321) 2016-12-11 19:10:53 +01:00
chme
de61a3a851 [db] Remove db_admin_update and rename db_admin_add 2016-12-10 06:15:43 +01:00
chme
e29539fa68 [db] add primary key to admin table 2016-12-10 06:15:43 +01:00
ejurgensen
ad4cdc2216 [httpd] Silence compiler warning about unused var 2016-12-09 21:49:22 +01:00
ejurgensen
d7b63ebc6a Merge pull request #319 from chme/dbgetint
[db] Rename db_get_count
2016-12-09 19:29:01 +01:00
chme
c4732b835f [db] Remove unused function db_file_id_byfilebase 2016-12-09 16:20:50 +01:00
chme
588fe120b7 [db] Rename db_get_count to db_get_one_int 2016-12-09 16:20:03 +01:00
chme
1221244eed [mpd] Implement consume command and return consume mode in
status command
2016-12-09 14:48:24 +01:00
chme
c3e8568782 [player] Add 'consume' mode
If consume mode is active the current song is removed from the queue at
eof or if the next song action is triggered.
2016-12-09 14:48:24 +01:00
chme
94f450769d [db] Fix upgrade to v19.01 2016-12-09 07:08:14 +01:00
ejurgensen
9ba512a340 Merge pull request #309 from chme/persistentqueue3
Persistent queue
2016-12-08 21:06:17 +01:00
chme
2d1e5f6d60 [player/db] Remove function "db_file_get_seekpos" 2016-12-04 17:48:35 +01:00
chme
d339f5bcd2 [db] fixup 2016-12-04 11:34:54 +01:00
chme
edc609b531 [db] Queue fetch functions should end the query after start and fetch 2016-12-04 09:32:50 +01:00
chme
09c2e7ca76 [db] Add missing free of query_param.filter 2016-12-04 09:16:49 +01:00
chme
fb55960b0a [db] Remove db_queue_enum struct and use generic query_params 2016-12-04 08:18:33 +01:00
chme
b9117f9abd [db] Remove unnecessary setting of query param fields to 0 2016-12-04 07:42:38 +01:00
chme
d431ace5c4 [db] Use a minor version update for the new queue table (v19.01 instead
of v20.00)
2016-12-04 07:28:06 +01:00
chme
fdd85ccf66 [raop/dmap] Build raop metadata from queue item 2016-12-03 20:40:54 +01:00
chme
ea56ee91bd [spotify] Add missing virtual path to "Saved Tracks" playlist 2016-12-03 14:53:47 +01:00
chme
6c6f02fdfa Rename "queue_item.item_id" to "queue_item.id" 2016-12-03 11:14:03 +01:00
chme
eb896a1085 [db] Fix loglevel 2016-12-03 11:12:19 +01:00
chme
0251f3c514 [db] Rename "queue_add_mediafileinfo" to "queue_add_file" 2016-12-03 11:12:19 +01:00
chme
b5bf1928ff [db] Rename "plversion" to "queue_version", add missing init query for
queue_version
2016-12-03 11:12:19 +01:00
chme
6c7df96371 [db] Remove forward declaration of queue_fetch_byitemid 2016-12-03 11:12:19 +01:00
chme
cef4fedfb4 Remove unused structs and player arguments 2016-12-03 11:12:19 +01:00
chme
6c66d39d91 [player] Fix segfault if player reaches end of queue, fix repeat single 2016-12-03 11:12:19 +01:00
chme
a0590ce548 [db/player] Icy metadata update 2016-12-03 11:12:19 +01:00
chme
e08b4f3b01 [rng] Cleanup: remove unused function 'shuffle_ptr' 2016-12-03 11:12:19 +01:00
chme
a023595b6f [queue] Remove queue.c/.h 2016-12-03 11:12:19 +01:00
chme
c504abe451 Use queue db table instead of in memory queue struct 2016-12-03 11:11:33 +01:00
chme
8ebf2f9307 [db] Add functions to access/modify the queue table 2016-12-03 10:58:26 +01:00
chme
0beb68e1f1 [db] Upgrade db to v20.00
- New table 'queue' for persisting the queue/current playlist
- New entry 'plversion' in admin table for queue version
2016-12-03 10:58:26 +01:00
chme
faaeb92ce5 [player] Reading media_file_info is not necessary in source_pause 2016-12-03 10:58:26 +01:00
chme
2d27636644 [rng] Add function to shuffle an int array 2016-12-03 10:57:56 +01:00
ejurgensen
3921cf5732 Merge branch 'spwebapi2' 2016-11-27 22:54:06 +01:00
ejurgensen
7239d39c5f [httpd] UI apology 2016-11-27 22:52:59 +01:00
ejurgensen
51e6008ef6 Merge pull request #305 from chme/streamsetup
Reduce dependency to media file in stream setup methods
2016-11-26 17:43:24 +01:00
ejurgensen
633d297936 Merge pull request #314 from chme/pipeoutputsync
Sync output to fifo
2016-11-20 08:45:15 +01:00
chme
27b9ee16c9 [fifo] Try to keep in sync with airplay speakers 2016-11-20 06:55:55 +01:00
chme
fcbd88c56c [fifo] Fix: flush must return the number of pending events 2016-11-20 06:55:55 +01:00
chme
5bc52d7bc7 [rsp] Fix nullpointer dereference found by scan-build 2016-11-20 06:38:53 +01:00
chme
a95da7966b Fixes issues found by scan-build in mpd.c and queue.c 2016-11-20 06:27:45 +01:00
ejurgensen
94a55d9fc9 [scan] readdir_r deprecated, use readdir instead 2016-11-19 23:50:14 +01:00
ejurgensen
bdd6bab982 [-] Lots of housekeeping thanks to scan-build and input from @acmay 2016-11-19 23:08:50 +01:00
ejurgensen
8525c278ec [http] Fix crash with URLs without any "." chars in the path (issue #311, @credit acmay) 2016-11-17 19:24:55 +01:00
ejurgensen
bb2a73ddab [spotify] Keep saved tracks through restarts + misc fixing up 2016-11-13 22:13:35 +01:00
chme
2c801ca6db [db] Small code improvements (avoid hard coded values in query strings) 2016-11-12 12:35:22 +01:00
chme
6690ba32eb [player/transcode/httpd] Pass path, data_kind and song_length to
transcode_decode_setup/transcode_setup
2016-11-12 09:11:40 +01:00
chme
477088a36c [player/pipe] Only pass path to pipe_setup 2016-11-12 09:11:40 +01:00
chme
2db3318ce7 [player/spotify] Only pass spotify-path to spotify_playback_setup 2016-11-12 09:11:40 +01:00
ejurgensen
3040346a65 [spotify] Use Spotify OAuth and web api to get saved tracks/albums 2016-11-05 13:44:23 +01:00
ejurgensen
8c0db10e67 [http] Move Curl https client from lastfm to http so it is available for other modules 2016-11-05 13:43:35 +01:00
ejurgensen
575b6e13a8 [httpd] Hooks for OAuth user interface and callbacks 2016-11-05 13:38:15 +01:00
ejurgensen
807951976c [configure/mdns] Register CNAME forked-daapd.local + generalize CURL detection in configure.ac 2016-11-05 13:33:30 +01:00
ejurgensen
90ecc61ed7 [mdns] CNAME record so we have fixed uri for OAuth redirects
- also refactor mdns_avahi
2016-11-05 13:31:13 +01:00
ejurgensen
33c22a59b9 Merge pull request #304 from chme/cleanup
Minor cleanup of mdns and dacp
2016-11-04 19:17:17 +01:00
chme
eddab1f1c0 [dacp] Use correct log domain 2016-11-04 19:10:07 +01:00
chme
b75c07625c [mdns] Use %zu for size_t in printf (removes warning about wrong
argument type)
2016-11-04 19:09:59 +01:00
chme
f326cae142 [db] Remove duplication of db schema version 2016-11-04 14:31:15 +01:00
chme
f7aa3c225b [db] Move initialization of new db into its own file (db_init.c) 2016-11-04 14:31:15 +01:00
ejurgensen
91c3eb622c [mdns] Put the record browser back
We need to browse through all records so that we can filter out link-local that Avahi sometimes gives us
2016-10-31 22:04:27 +01:00
ejurgensen
087bc942ec Merge pull request #299 from chme/pipeoutput
Fifo output
2016-10-31 19:07:37 +01:00
chme
4f2d994151 [outputs] Remove unused old alsa output 2016-10-31 18:47:45 +01:00
chme
65732ccaf6 [outputs] New output type 'fifo' 2016-10-31 18:47:45 +01:00
ejurgensen
be6580d23e [mdns] Also ignore ipv4 link-local announcements 2016-10-30 20:04:08 +01:00
chme
60f9c779b6 [mpd] Add new command 'outputvolume' to set volume for a specific output 2016-10-25 22:40:48 +02:00
chme
bdb2c74934 [player/dacp/mpd] Pass absolute volume to speaker enumerate callback and
add absolute volume to mpd 'outputs' command
2016-10-25 22:40:48 +02:00
ejurgensen
a549f81861 [filescanner] Make for filetypes_ignore work for known file types as well 2016-10-25 09:08:56 +02:00
ejurgensen
bc1fb4b385 [mdns] Ignore ipv6 link-local mdns announcements 2016-10-23 23:27:34 +02:00
chme
39314c1560 [mpd] Do not treat playback_start return value > 0 as an error 2016-10-23 08:25:19 +02:00
chme
3981c67e3a [player] Do not execute the bottom half if playback_start is called
while player is already playing (results in s segfault after adding new
items through dacp clients)
2016-10-23 08:25:19 +02:00
chme
16149d5c61 [command] Only execute "bottom half" function if main command function
returns 0
2016-10-23 08:25:19 +02:00
ejurgensen
c0d07ae93b [httpd] Allow HEAD for evhttp requests just to be safe 2016-10-21 23:06:00 +02:00
ejurgensen
2ce1c8d28f [httpd] Enable OPTIONS for evhttp (if CORS headers are enabled) 2016-10-19 21:22:14 +02:00
ejurgensen
54a09fce63 [httpd] Add requirement for Access-Control-Request-Method for preflight CORS 2016-10-19 17:29:22 +02:00
ejurgensen
57945a592c [httpd] Reply to CORS preflight requests 2016-10-18 23:04:51 +02:00
ejurgensen
c44f4310b7 [httpd] Replace evhttp_send_error with the httpd_send_error wrapper 2016-10-18 22:45:22 +02:00
ejurgensen
fe7373e442 [httpd] Implement httpd_send_error, a modified evhttp_send_error, which
can include CORS headers (credit @bjoernricks and libevent)
2016-10-17 23:08:02 +02:00
ejurgensen
40c49f1fde [httpd] Use httpd_send_reply() wrapper in httpd_*, dmap_common and mpd 2016-10-17 22:25:31 +02:00
ejurgensen
e1cfccbce7 [httpd] Exchange evhttp_send_reply with httpd_send_reply in httpd.c 2016-10-17 22:14:10 +02:00
ejurgensen
0b29b4368d [httpd] Enable CORS headers by default (Access-Control-Allow-Origin: *) 2016-10-17 22:03:32 +02:00
ejurgensen
7dc2a46261 [cache] Save daap replies gzipped - should improve performance 2016-10-17 19:40:25 +02:00
ejurgensen
249d923af2 [httpd] Allow caller of httpd_send_reply to avoid gzipping 2016-10-17 14:18:13 +02:00
ejurgensen
d8696e72ea [httpd] Don't gzip small messages 2016-10-17 14:09:16 +02:00
ejurgensen
f7185db035 [httpd] Reduce memcpy when gzipping a response 2016-10-16 23:36:27 +02:00
ejurgensen
0c6af89807 [raop] Just remove ipv6 address if we can't connect with the one avahi gave us 2016-10-15 19:14:01 +02:00
ejurgensen
03513c56a8 [mdns] Simplify avahi implementation, e.g. drop record browser
- record browser and link level filtering doesn't seem required (I may regret this...)
- fix cast.c so it does not browse for ipv6 when disabled
2016-10-15 19:12:56 +02:00
ejurgensen
1e3df5ba52 [-] Add forgotten type in err2str() 2016-10-11 21:32:16 +02:00
ejurgensen
94e133e8dc [raop] Temporary fix for issue #293 2016-10-09 00:42:48 +02:00
ejurgensen
9a997551a2 [pulseaudio] Remove PA_STREAM_ADJUST_LATENCY - seems we then get a better match with the requested value 2016-10-08 21:40:49 +02:00
ejurgensen
9bd2ef4f42 [pulseaudio] Misc improvements
- Set volume on stream startup
- Change cleanup on server exit
- README update
2016-10-07 22:35:04 +02:00
ejurgensen
8b842b18d5 [pulseaudio] Add start/stop, config latency, avoid underruns when pausing and misc 2016-10-06 23:35:09 +02:00
ejurgensen
a0dfb5c93e [pulseaudio] Under/overrun detection + request 2 sec latency 2016-10-05 21:13:26 +02:00
ejurgensen
bc8c77c0d1 [pulseaudio] Go full async + some cleaning up 2016-10-05 08:53:14 +02:00
ejurgensen
a03bc2a4e2 [commands] A bit of cleanup 2016-10-02 22:05:53 +02:00
ejurgensen
8f6033e787 [pulseaudio] More logging 2016-10-02 18:48:00 +02:00
ejurgensen
07efdfe24e [pulseaudio] Drop autostarting again, won't work when running as non-root 2016-09-28 21:17:34 +02:00
ejurgensen
44ad4a8848 Merge branch 'autopulse' 2016-09-26 21:32:27 +02:00
ejurgensen
ac9900ff1a [pulseaudio] Modification of f202b5d: Now always try to start Pulseaudio 2016-09-26 20:48:00 +02:00
ejurgensen
89e3f05585 Merge pull request #288 from pcoultha/mixer_device
[ALSA] Add mixer_device configuration file option for ALSA
2016-09-26 00:11:28 +02:00
Pat Coulthard
ae79800493 Add mixer_device configuration file option for ALSA
Support a separate mixer_device configuration file option for
advanced ALSA configurations. Previously, ALSA local output
happened to work becasue "default" is valid as both a PCM and a
mixer. Now you can separately specify the device name for PCM
output and mixer operations.

In my setup, I am using the following setup:
card = "default:CARD=NVidia"
mixer = "Front"
mixer_device = "hw:CARD=NVidia"
2016-09-25 15:52:15 -05:00
ejurgensen
b3a1e744d6 [player] Fix possible segfault on http timeouts
Cause: 1) av_read_frame blocks and times out, 2) cur_streaming gets set to NULL, 3) playback timer callback where cur_streaming gets deref
2016-09-25 22:19:59 +02:00