Julien BLACHE
8427707afc
Create evbase_httpd before protocol handlers init
...
DACP needs the httpd event base at init time.
2010-05-02 11:44:43 +02:00
Julien BLACHE
dc95a04562
Add optional sorting clause to Q_ITEMS
2010-05-02 11:44:43 +02:00
Julien BLACHE
4dc8f11887
Handle database upgrade v9 -> v10
2010-05-02 11:44:43 +02:00
Julien BLACHE
74cc5a7a13
Add config variables save/fetch for integer variables
2010-05-02 11:44:43 +02:00
Julien BLACHE
49b7a96eec
Add safe_hextou64()
2010-05-02 11:44:43 +02:00
Julien BLACHE
7a02215d0d
Add Base64 encoding routines
2010-05-02 11:44:43 +02:00
Julien BLACHE
1849601d56
Add a log handler for libasound
2010-05-02 11:44:43 +02:00
Julien BLACHE
ff7e6aa533
Add logdomains for player, RAOP and local audio
2010-05-02 11:21:08 +02:00
Julien BLACHE
17daace67f
Add seek support to transcode
2010-05-02 11:21:08 +02:00
Julien BLACHE
9fb7ec8e5c
Make the WAV header optional
2010-05-02 11:21:08 +02:00
Julien BLACHE
e3fb8f00cf
Maintain libhash in the conffile module
2010-05-02 11:21:07 +02:00
Julien BLACHE
27acda871a
Constify dmap_add_string() parameter
2010-05-02 11:21:07 +02:00
Julien BLACHE
bccc6da87f
Set closecb to NULL on update requests' connections at deinit
...
Otherwise the closecb is called when the connection is closed/freed during
deinit, and this happens in the HTTP cleanup after the DAAP and DACP cleanups
have run, leading to spurious "struct update_request not found" messages.
2010-05-02 11:21:07 +02:00
Julien BLACHE
17b1e1a7bf
Fix size_t in snprintf()
2010-05-02 10:17:22 +02:00
Julien BLACHE
37b6e8ea5b
Kill useless define for SQLITE3
2010-05-02 10:17:22 +02:00
Julien BLACHE
f696aa321e
Fix error message in db_file_add()
2010-05-02 08:23:21 +02:00
Julien BLACHE
465c10ded3
Rework database version check to error out on newer databases
2010-05-02 08:23:21 +02:00
Julien BLACHE
262dec9daa
Document the SQLite3 update notify API requirements
2010-05-02 08:23:21 +02:00
Julien BLACHE
00d6381f15
Introduce and use db_blocking_{prepare_v2,step}
...
Make use of the SQLite3 unlock notify API to wait for the database to
become available. From the SQLite3 sample code for the unlock notify API.
This requires SQLite3 to be built with SQLITE_ENABLE_UNLOCK_NOTIFY.
2010-05-02 08:23:21 +02:00
Julien BLACHE
f9454aa4a3
Introduce db_exec(), replacing sqlite3_exec()
2010-05-02 08:23:21 +02:00
Julien BLACHE
10b246a22b
Check for the unlock notify API in SQLite3
2010-05-02 08:23:18 +02:00
Julien BLACHE
f2cf59c26c
Raise SQLite3 version requirement to 3.5.0
...
Needed for per-process (!= per-thread) shared-cache support.
2010-05-02 08:22:41 +02:00
Julien BLACHE
dc18860dc5
Enable SQLite3 shared-cache mode
...
This requires SQLite 3.5.0+ for per-process (as opposed to per-thread)
shared-cache support.
It also enables the use of the unlock notify API.
2010-05-02 08:22:41 +02:00
Julien BLACHE
d2932896a3
Switch SQLite3 to SQLITE_CONFIG_MULTITHREAD mode
2010-05-02 08:22:41 +02:00
Julien BLACHE
857e52420e
Check whether SQLite3 was built with threadsafe operations support
...
Can't check at configure time when cross-compiling; this is checked
again at runtime during startup, when initializing SQLite3.
2010-05-02 08:22:32 +02:00
Julien BLACHE
0411720a58
Perform explicit sqlite3 init/deinit
2010-04-26 18:24:09 +02:00
Dustin King
4551d530f9
Lower logging level for files with no metadata
2010-04-10 11:23:11 +02:00
Dustin King
ce8fe19627
Add handlers for ID3v2 track and disc fields
2010-04-10 11:21:04 +02:00
Dustin King
61f5b6d833
Run two passes for gathering metadata
...
The extra md_map needs to be used before the generic md_map because
the extra md_map needs to be used before av_metadata_conv while the
generic md_map needs to be used after av_metadata_conv. This allows
handling of things like ID3v2 track fields which get mapped to the
generic track field by av_metadata_conv but actually contain both
track number and the total number of tracks on the disc.
Note: modified from Dustin's original patch.
2010-04-10 11:15:16 +02:00
Dustin King
b8b205e7f2
Add function pointer for metadata handler to struct metadata_map
2010-04-10 10:59:29 +02:00
Dustin King
b219b912f2
Split out VORBIS field names into a dedicated extra md_map
2010-04-10 10:55:52 +02:00
Julien BLACHE
f36261be65
Add album_artist to the generic md_map
...
The generic metadata field name is album_artist and not albumartist; that, or we
previously missed that field.
2010-04-10 10:55:52 +02:00
Dustin King
a5bdb9d59a
Identify TDRC as coming from ID3v2.4
2010-04-10 10:55:46 +02:00
Julien BLACHE
1df0258055
Demote "could not find requested meta field" message to E_WARN
2010-04-10 09:46:48 +02:00
Julien BLACHE
5475c18308
Remove FLAC-specific raw mode
...
Older versions of ffmpeg did not support raw FLAC streams properly and needed
to be fed the raw stream manually; looks like it's been fixed in ffmpeg 0.5.
2010-03-28 16:19:30 +02:00
Julien BLACHE
887d1bf5ca
Small clarification in transcode_cleanup()
2010-03-28 16:14:36 +02:00
Julien BLACHE
21e564e493
Add the DISCTOTAL tag for formats using VORBIS comments
2010-03-27 12:08:49 +01:00
Julien BLACHE
e87f46e95c
Add the TRACKTOTAL tag for format using VORBIS comments
2010-03-25 21:40:17 +01:00
Julien BLACHE
b7ec65963d
Constify data tables where possible
2010-03-25 21:40:17 +01:00
Julien BLACHE
c545e52374
Simplify streams handling
...
Keep pointers to the streams instead of the stream number.
2010-03-25 21:40:17 +01:00
Julien BLACHE
6677b3435d
Call av_metadata_conv() to convert metadata to ffmpeg's generic format
...
This is actually needed for everything to work properly, but it only really
started breaking with newer versions of ffmpeg where more demuxers have been
completely ported over to the metadata API.
2010-03-25 21:40:17 +01:00
Julien BLACHE
04e8f5cfd6
Split TV show tags out of the generic md_map
2010-03-25 21:39:41 +01:00
Julien BLACHE
27a095b606
Split ID3 tags out of the generic md_map
2010-03-25 21:38:19 +01:00
Julien BLACHE
52e38dd76a
Allow a secondary metadata map for metadata extraction
2010-03-25 21:38:19 +01:00
Julien BLACHE
4da80edc3f
Pick up metadata from the selected stream(s) in addition to the file itself
...
OGG has per-stream metadata; recent versions of ffmpeg report metadata
per-stream in this case.
2010-03-25 21:38:19 +01:00
Julien BLACHE
c2f64e4280
Split metadata extraction out of scan_metadata_ffmpeg()
2010-03-25 21:38:19 +01:00
Julien BLACHE
d71fa2b72e
Replace av_read_packet() (obsolete) by av_read_frame()
...
Fixes MP3 playback, probably others too.
2010-03-25 20:28:23 +01:00
Dustin King
e6d75534d7
Make database location a configuration item
2010-03-21 11:33:05 +01:00
Julien BLACHE
6c6a3a7935
Make a note to remove ID3v2 tag names ASAP
2010-03-21 11:27:55 +01:00
Dustin King
6424a1fe95
Add ID3v2.2 tag names
2010-03-21 11:21:43 +01:00