chme
c77acbddf2
[artwork] Ignore artwork requests for items with a non persistent id
2018-05-10 07:23:33 +02:00
ejurgensen
4802823f3c
Revert "[spotify/artwork] Load artwork for spotify through the wep api" and "[spotify] Thread safety for the webapi access"
...
Wait with this until it becomes necessary or we can achieve same performance as libspotify
This reverts commit 997b4da4ad
and 2da993cc7b
2017-12-27 18:51:11 +01:00
chme
997b4da4ad
[spotify/artwork] Load artwork for spotify through the wep api
2017-12-25 19:52:40 +01:00
ejurgensen
b64d282f32
[artwork] Fix for issue #427 , some embedded file artwork not showing
...
Artwork in embedded files not showing up in non-legacy mode if the artwork does
not require rescaling. The bug is that we are by mistake sending a chunk of the
embedded file, not the artwork in it.
2017-10-27 19:51:37 +02:00
ejurgensen
88a565ea2c
[db] Replace sqlite3_xxx() calls outside db.c/cache.c so they are abstracted
2017-10-17 23:11:31 +02:00
ejurgensen
441ad006a6
[artwork/transcode] Also let transcode.c handle rescaling of non-file Spotify artwork
2017-08-06 22:31:43 +02:00
ejurgensen
e7f888645f
[artwork/transcode] Adjust transcode.c so it can take care of artwork
...
rescaling, meaning we can do without parallel ffmpeg interfaces.
This also moves artwork rescaling from libswscale to libavfilter, which
seems to fix a problem with PNG rescaling.
2017-08-06 22:31:43 +02:00
ejurgensen
ef13abe2cf
[artwork] Fix for issue #345 and #367 : Broken PNG rescaling
2017-03-15 22:12:37 +01:00
sshambar
c54c909ae4
Added support for libav/ffmpeg dual installs ( #346 )
...
* [config] Added support for libav/ffmpeg dual installs
Reordered CPPFLAGS/LIBS so that library flags (includes etc) appear
ahead of prefix/global directives and the correct headers/libraries
are checked (if symbols are defined in alternative libraries).
Updated libav checks to use header declaration checks
rather than link checks (so differences between
libav/ffmpeg can be correctly found), and updated code references
to use new defines. Added support the alternate pkg-config
package names for libav. Updated ffmpeg vs libav check
to check MICRO version number (>=100 for ffmpeg). Simplified
resulting configure script by using a function to merge
CPPFLAGS variables.
* [config] Use FORKED_OPTS prefix for libevent_pthreads option
* [config] Add --with-libav option to select libav even if ffmpeg present
2017-02-19 15:21: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
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
785ff21045
Merge pull request #328 from sshambar/fixconfig
...
Updated configure/makefiles related to Issue #327
2017-01-12 22:41:47 +01:00
ejurgensen
966a81cc77
[db] Fixup - itemcount not required for finding a playlist
2017-01-06 20:03:02 +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
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
22a1e16c12
[artwork] Move timebase back, it must be set for the AVCodecContext for libav (and older versions of ffmpeg?)
2016-01-07 23:42:27 +01:00
ejurgensen
1b24a86169
[artwork] Tidy up artwork.c and handle remaining ffmpeg deprecated warning
2016-01-07 22:48:04 +01:00
ejurgensen
d56576094a
[artwork] Do like libav says: "Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead."
2016-01-06 23:02:43 +01:00
ejurgensen
1f1d79025d
[artwork] Keep a raw Spotify source image in case rescaling is not required
2016-01-06 22:39:32 +01:00
ejurgensen
0d55e055c0
[ffmpeg] Update most deprecated functions
2016-01-05 23:22:01 +01:00
ejurgensen
7caf8cc66a
[artwork] Add ability to rescale Spotify (should improve caching so we don't save too large images)
2016-01-05 21:44:44 +01:00
ejurgensen
9a0a390a73
[artwork] Get rid of legacy libav/ffmpeg support in artwork.c
2016-01-03 12:24:21 +01:00
ejurgensen
c3d9f65f8b
[artwork] Adjust existing code to new structure
2016-01-03 12:24:20 +01:00
ejurgensen
238ee3c122
[artwork] Refactor artwork to make it easier to add new backends (WIP)
2016-01-03 12:24:20 +01:00
ejurgensen
55104015e0
Full removal of libevent 1 legacy code. Also drop pipe() in FreeBSD, since pipe2 is available now.
2015-10-19 21:15:29 +02:00
ejurgensen
294d7a270f
Protect against possible segfault if the artwork pixel format is unknown
...
- thank you groinwood for reporting this bug
2015-08-24 21:27:55 +02:00
ejurgensen
b6703ab7cd
Don't retrieve ICY StreamUrls without jpg/png extension (don't want to risk initiating a major, useless download)
2015-06-20 23:11:18 +02:00
chme
659f9c09bb
Use enum values for data_kind and media_kind
2015-04-23 11:34:44 +02:00
ejurgensen
5fa908cd9c
Add an artwork "stash" in cache.c so we avoid making redundant http artwork requests
2015-04-18 22:55:00 +02:00
ejurgensen
2d8a6a7102
Drop support for libavformat versions < 53 (issue #128 )
2015-04-12 20:05:14 +02:00
ejurgensen
e72447954a
Some cleaning up of ICY artwork retrieval
2015-04-09 22:22:42 +02:00
ejurgensen
94f94b03fe
Swap artwork arguments so destination evbuffer comes first
2015-04-09 21:23:20 +02:00
ejurgensen
50ef710549
Fix memleak in artwork.c
2015-04-02 00:40:10 +02:00
ejurgensen
19ba8fba67
Drop async mode from http client, not needed and probably not working
2015-03-31 23:27:18 +02:00
ejurgensen
96200eb808
Use own libevent http client for downloading artwork, ffmpeg seems a
...
bit too slow
2015-03-31 00:08:29 +02:00
ejurgensen
e5c8128c9d
Minor improvements for rescale_needed()
2015-03-30 23:10:33 +02:00
ejurgensen
0b67ae3974
Some fixup for libav 0.8
2015-03-29 01:02:14 +01:00
ejurgensen
cde8441493
Don't cache internet artwork
2015-03-17 22:04:07 +01:00
ejurgensen
46e4214b39
Adjust log severity
2015-03-16 21:40:50 +01:00
ejurgensen
6221e24f1b
Support for live ICY metadata for streams (incl. artwork)
2015-03-14 21:42:53 +01:00
ejurgensen
103ce0887a
Misc artwork fixup
2015-01-04 19:38:13 +01:00
ejurgensen
73bbe831e6
artwork.c overhaul and avoid "Error reading artwork" message when there is no artwork
...
- try to align return values in artwork.c
2015-01-04 15:12:46 +01:00
ejurgensen
0d7ec13ede
Merge branch 'ownartwork' of @couteau and various modifications (see pr #75 )
2015-01-03 00:31:48 +01:00
ejurgensen
2879458e98
Fix for issue #62 (slow internet streams), credit @chme
2015-01-02 23:24:44 +01:00
Stuart C. Naifeh
f3e21956c4
Add configuration option to disable individual artwork
2014-12-30 10:38:03 -05:00
Stuart C. Naifeh
431ecdb197
Cache individual artwork
2014-12-27 11:40:52 -05:00
Stuart C. Naifeh
9e9ffe6809
Update cache api, version, and logic to support caching of individual as
...
well as group artwork
2014-12-27 10:48:12 -05:00
Stuart C. Naifeh
2171a1f2b3
Re-add support for individual artwork
2014-12-27 09:44:16 -05:00
ejurgensen
9b7a22ab0a
Avoid threading issue in both ffmpeg and libav that prevents decoding embedded png's
2014-12-09 22:31:41 +01:00
chme
2e5d234ac5
[artwork] do not add cache entry if reading artwork failed
2014-12-07 07:39:27 +01:00
chme
7578bb1205
Artwork caching (pull request #61 ), and also:
...
- introduced new section in config file for sqlite pragma settings,
added config for artwork cache
- added setting of pragma synchronous, cache size and journal mode to
daap cache
2014-11-10 22:53:08 +01:00
ejurgensen
4857f21644
Merge branch 'freebsd': New timing mechanism (issue #46 )
...
- also some libevent 2 adjustments
2014-09-30 21:39:02 +02:00
ejurgensen
376f0ed1c0
Minor fix
2014-09-30 18:55:32 +02:00
ejurgensen
495aebec40
Fix bug where it would hang because it looked for artwork in named pipes
...
- also some refactoring of the artwork code to diminish redundancy
2014-09-29 23:40:38 +02:00
ejurgensen
513e38dcda
Proper update to libevent 2 (artwork, avio_evbuffer, dmap_common, transcode)
2014-09-28 22:44:45 +02:00
ejurgensen
c7aaf6eff3
Forgot a spotify enabled condition
2014-04-05 22:30:35 +02:00
ejurgensen
c47287a556
Support for Spotify artwork
2014-04-04 23:14:43 +02:00
ejurgensen
687f349927
Let configure check libevent version and include according to version
2014-03-13 23:33:35 +01:00
ejurgensen
7ed6cc98c3
Add support for Spotify (squashed commit), and:
...
- Try to not return items which a client can't play
- Remove inotify subscription to IN_MODIFY and IN_CREATE
- Fix crash on unknown codec type in transcode.c
- Probably added some new bugs...
2014-03-11 23:20:29 +01:00
ejurgensen
7997377deb
Adjust for libav 10 API
...
With libav 10 the API is (again...) changed, adjust for that and
add the appropriate version conditions
2014-02-17 23:05:24 +01:00
ejurgensen
3f33f33310
Add preprocessor macro FFMPEG_INCOMPATIBLE_API and use it, so
...
we use avcodec_find_best_pix_fmt_of_list for ffmpeg. Also rearrange
ffmpeg/libav libraries according to ffmpeg FAQ.
2014-01-12 22:34:57 +01:00
ejurgensen
60f43c94c9
Change embedded artwork libav preprocessor conditions
2014-01-11 23:37:04 +01:00
ejurgensen
2d4de9dd75
Add misc.h include to artwork and correct safe_atoi32 call
2014-01-11 23:34:03 +01:00
ejurgensen
eac404fa3a
Add artwork field to db (upgrade to v15). Set field when embedded
...
artwork found by the filescanner. Reenable support for embedded
artwork in group requests.
2014-01-11 23:05:29 +01:00
ejurgensen
77893f5521
Disable support for embedded artwork (groups) for now - it's too slow
2014-01-11 00:35:35 +01:00
ejurgensen
c7c7f835b7
Another libav preprocessor condition
2014-01-09 23:13:40 +01:00
ejurgensen
da59d0c578
Support for embedded artwork (groups) and misc cleaning up
2014-01-09 22:58:11 +01:00
ejurgensen
416b89f51a
Use avcodec_find_best_pix_fmt2 (avcodec_find_best_pix_fmt deprecated in libav9)
2014-01-09 21:39:05 +01:00
ejurgensen
95b67668b4
Forgot libav preprocessor condition
2014-01-09 21:11:01 +01:00
ejurgensen
a6b586a0ce
Support for embedded artwork (items only)
2014-01-09 21:07:27 +01:00
ejurgensen
02a73e3638
Artwork support for iTunes 11 (credit @torta) and related improvements
2013-12-25 23:06:41 +01:00
ejurgensen
0fd65b285d
Fix some ffmpeg/libav compiler conditions
2013-11-25 19:43:17 +01:00
ejurgensen
afa35ac55c
Don't assume max_h==max_w (a target aspect ratio of 1) when sending artwork
...
- Remote 4 will send max_w=128 and max_h=160 for artwork in the Album tab
2013-11-06 23:52:19 +01:00
ejurgensen
b23571d88b
Plug memory leak in artwork.c
2013-10-20 14:03:00 +02:00
ejurgensen
743da81ba8
Replace avcodec_encode_video with evcodec_encode_video2
2013-09-08 12:55:31 +02:00
ejurgensen
3471b6c147
Cleaning up deprecated ffmpeg/libav
2013-09-07 23:39:22 +02:00
ejurgensen
95fc525beb
Add support for artist group request (experimental)
...
The purpose of this is mainly to support Hyperfine Remote for Android
2013-08-29 22:00:37 +02:00
ejurgensen
48b7cd9a05
Adds looking for artwork named [directory name].{png,jpg}
2013-07-14 20:54:23 +02:00
ejurgensen
0b571765d3
Artwork file names made configurable
2013-07-13 12:31:01 +02:00
ejurgensen
0f3cf27f57
Also look for artwork in folder.jpg
2013-07-05 12:21:14 +02:00
Julien BLACHE
bb8f9de8ec
libav 0.7: use avformat_write_header() instead of av_write_header()
2011-09-10 12:48:14 +02:00
Julien BLACHE
dbe22c2c02
libav 0.7: use avformat_open_input() instead of av_open_input_file()
2011-09-10 12:48:14 +02:00
Julien BLACHE
a453e0e4ac
libav 0.7: Use AVIO with libavformat >= 53
2011-06-02 22:16:53 +02:00
Julien BLACHE
6797e65861
libav 0.7: Silence const vs. non-const warning
2011-06-02 22:16:53 +02:00
Julien BLACHE
b203f1ea1f
libav 0.7: Replace CODEC_TYPE_* with AVMEDIA_TYPE_*
2011-06-02 22:09:42 +02:00
Julien BLACHE
f86915f15e
Fix typo, goto before ret assignment
2011-04-24 18:40:32 +02:00
Julien BLACHE
075bb99742
Introduce artwork_get_item_filename()
2011-04-09 10:11:34 +02:00
Julien BLACHE
c7209ab699
Add support for JPEG as a valid artwork output format
...
Reduce CPU usage by avoiding unneeded JPEG -> PNG conversions; it appears
all the clients we care about support JPEG as well as PNG.
2011-03-30 21:50:29 +02:00
Julien BLACHE
f1ab254b47
Silence non-const vs. const warning with FFmpeg 0.6
2011-02-23 19:01:59 +01:00
Julien BLACHE
cbc3605425
Use avcodec_decode_video2() when available (FFmpeg 0.6)
2011-02-23 19:01:46 +01:00
Julien BLACHE
396edc9ad8
Use av_guess_format() when available (FFmpeg 0.6)
2011-02-23 19:00:59 +01:00
Peter
4f164b939c
Add support for JPEG artwork and cover.{png,jpg} album artwork
2010-10-24 18:44:53 +02:00
Julien BLACHE
ee10bcf968
Rework target size determination
...
Move the code out of artwork_rescale() and into artwork_get(). Properly
implement "PNG prefers even row count" to avoid artifacts.
2010-10-24 17:38:12 +02:00
Julien BLACHE
0eca9b4313
Add artwork handling routines
...
External artwork only, until ffmpeg supports embedded artwork.
2010-03-07 15:45:47 +01:00