Commit Graph

1695 Commits

Author SHA1 Message Date
Julien BLACHE
b05d173139 Add a lock manager callback for ffmpeg 2010-09-15 18:20:23 +02:00
Julien BLACHE
235e13ef70 Call avcodec_init() 2010-09-15 18:17:35 +02:00
Julien BLACHE
748a208796 Fix gcrypt_init_fail error path
Set ret to EXIT_FAILURE and swap the gcrypt_init_fail and signal_block_fail
labels so they appear in the correct (reverse) order. No impact.
2010-09-15 18:05:20 +02:00
Julien BLACHE
75fb755db7 Assign ms to target_pts to ensure full 64bit computation of target_pts
Clang produced interesting results without this (or casting ms to int64_t),
as the seek target got mis-computed and fell short of the requested seek
target in ms (ex. wanted 18569 ms -> got 555 ms).
2010-09-13 22:06:53 +02:00
Julien BLACHE
115ded61d0 Move code around, no functional changes
Assign start_time right at the start, making the target_pts computation more
obvious wrt start_time and showing the symmetry of the target_pts and got_pts
computations.
2010-09-13 22:06:52 +02:00
Julien BLACHE
d1af41f0e7 Fix got_pts computation wrt start_time
Substract start_time from got_pts after actually getting got_pts, and then
rescale the result.
2010-09-13 22:06:12 +02:00
Julien BLACHE
bff494ac5d Use a union for command argument in struct player_command 2010-09-13 19:08:29 +02:00
Julien BLACHE
7f79ca5709 Modify player commands to use per-command lock & condition
This makes the player commands usable in a concurrent multithread setup, which
was not the case with the global command+lock+condition due to the time it
could take the player thread to act upon the command event. This left a wide
open window for race conditions with other threads locking cmd_lck before the
player thread had a go at it.
2010-09-13 19:07:00 +02:00
Julien BLACHE
942f3e4aad Modify player-to-DACP status update communication
Have DACP set a callback (through a sync_command() setter) into the player
instead of setting an fd without any locking. All the code now lies in DACP
instead of being split between DACP and the player.
2010-09-13 18:40:41 +02:00
Julien BLACHE
b78b90ad0e Remove useless #include <evhttp.h> 2010-09-12 18:43:22 +02:00
Julien BLACHE
01b42d3108 Fix typo, checking for evbuf instead of update 2010-09-12 17:31:31 +02:00
Julien BLACHE
c6c53e6a28 Fix integer type mismatch in SQL query
sample_count is uint64, not int.
2010-09-10 20:58:10 +02:00
Julien BLACHE
b1e57f8f6a Factor out common code in RSP 2010-09-10 18:47:43 +02:00
Julien BLACHE
0cb62fdabf Bind IPv4 server first, to avoid v4compat 2010-09-10 18:47:43 +02:00
Julien BLACHE
e9b8fd8bd7 Check for both ip6-localhost and localhost 2010-09-10 18:47:42 +02:00
Julien BLACHE
053b8df4ba Factor out common code to increase playcount while streaming 2010-09-10 18:47:42 +02:00
Julien BLACHE
b0a8e879e4 Remove useless check 2010-09-10 18:47:42 +02:00
Julien BLACHE
71bf8390b0 Constify http_reply_401 2010-09-10 18:47:42 +02:00
Julien BLACHE
535d691a4a Fix full_uri memory leak in error path 2010-09-10 18:47:42 +02:00
Julien BLACHE
0137b202f0 Allow use of pre-generated ANTLR3 parsers when antlr3 is not available 2010-09-04 12:57:10 +02:00
Julien BLACHE
dd6fd6ceec Use rm -f to clean up ANTLR-generated files 2010-09-04 12:01:30 +02:00
Julien BLACHE
e90e81cdf5 Remove no-op "OR REPLACE" 2010-09-04 11:38:15 +02:00
John Thomson
f50e17b60f Take disc number into account for track ordering inside albums 2010-09-04 11:33:30 +02:00
Kai Elwert
ebd673601d Set an empty album_artist for songs part of a compilation if not set
Songs in a compilation must all have the same album_artist and album (due to
songalbumid); if a song in a compilation doesn't have an album_artist, set it
to an empty string instead of defaulting to the value of artist. This is less
likely to break the compilation.
2010-09-04 11:04:49 +02:00
Kai Elwert
de8884c8df Add sort-headers support to DAAP song lists 2010-09-04 10:58:25 +02:00
Kai Elwert
ee294753e1 Add sort-headers support to DAAP groups query 2010-08-29 12:07:08 +02:00
Kai Elwert
8a2d76895c Add sort-headers support to DAAP browse query 2010-08-29 12:07:08 +02:00
Kai Elwert
eaaaec91a1 Introduce DAAP sort-headers helpers 2010-08-29 12:07:07 +02:00
Kai Elwert
d4f341aff0 Handle include-sort-headers parameter in DAAP queries 2010-08-29 12:07:07 +02:00
Kai Elwert
9dec6d23be Use DAAP collation in sort clauses 2010-08-29 12:07:07 +02:00
Kai Elwert
5dd58ea7a8 Use DAAP collation for browse queries 2010-08-29 12:07:07 +02:00
Kai Elwert
b5e3163d35 Use DAAP collation for group queries 2010-08-29 12:07:07 +02:00
Kai Elwert
f79dbc93cb Introduce DAAP-specific collation function for SQLite 2010-08-29 12:07:07 +02:00
Julien BLACHE
471f750a8c Rework error handling where an oom variable was used
The oom-specific message was actually never used as it was hidden by
ret being < 0 and that condition was tested before oom.
2010-08-29 12:05:02 +02:00
Kai Elwert
1eec8e1a7b Modify groups query to group by album name and with COLLATE NOCASE 2010-08-14 11:58:21 +02:00
Kai Elwert
dce9eb8d1f Use COLLATE NOCASE for browse queries 2010-08-14 11:55:11 +02:00
Julien BLACHE
1d35afbe62 Fixup file modes 2010-08-06 17:27:56 +02:00
Kai Elwert
ca72ee5926 Handle sort parameter in DAAP queries
This is used by Remote for the Title view.
2010-08-05 18:28:02 +02:00
Julien BLACHE
5d69a8e34c Consolidate sort clauses 2010-08-05 18:28:02 +02:00
Kai Elwert
20486ee0dd Implement sorting for smart playlists queries
This will be used by the Title view in Remote.
2010-08-05 18:25:34 +02:00
Julien BLACHE
ac427025b5 Remember selected output devices accross restarts
Save the selected devices to the DB at exit and automatically re-select them
the next time, provided:
 - the player is not running already when the device appears
 - the device appears no later than 5 minutes after startup
2010-08-04 19:17:21 +02:00
Julien BLACHE
058e2e9b2b Add config variables save/test/clear for 64bit integer as hex string 2010-08-04 19:17:21 +02:00
Julien BLACHE
e373f83660 Kill useless memset() call 2010-08-04 19:01:53 +02:00
Julien BLACHE
b3294c5079 Fix debug message typo 2010-08-03 19:11:41 +02:00
Julien BLACHE
7d480faecd Properly stop playback if playback cannot start to reset player state
If the playback cannot start for a reason of another, the player state
needs to be reset by calling playback_stop().
2010-08-03 19:09:50 +02:00
Julien BLACHE
d9f5e2aa40 Set playlist ID when queueing a playlist via DACP playspec 2010-07-31 12:32:14 +02:00
Julien BLACHE
ec1fc46c01 Include playlist ID in nowplaying 2010-07-31 12:31:56 +02:00
Julien BLACHE
98aaa7c5fa Maintain current playlist ID in the player state
cur_plid is 0 if not playing a playlist and takes the playlist ID otherwise.
2010-07-31 12:30:51 +02:00
Julien BLACHE
94b4cd2459 Add support for shuffle in DACP playspec request 2010-07-31 12:09:13 +02:00
Kai Elwert
fa0ee0553a Implement DACP playspec request 2010-07-31 12:09:13 +02:00