* Be more flexible when it comes to album art resolutions. This is really just a recommendation and not an absolute requirement for DLNA compliance.
This commit is contained in:
		
							
								
								
									
										19
									
								
								metadata.c
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								metadata.c
									
									
									
									
									
								
							@@ -100,17 +100,18 @@ get_fourcc(const char *s)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sqlite_int64
 | 
			
		||||
GetFolderMetadata(const char * name, const char * artist, const char * genre, const char * album_art)
 | 
			
		||||
GetFolderMetadata(const char * name, const char * artist, const char * genre, const char * album_art, const char * art_dlna_pn)
 | 
			
		||||
{
 | 
			
		||||
	char * sql;
 | 
			
		||||
	int ret;
 | 
			
		||||
 | 
			
		||||
	sql = sqlite3_mprintf(	"INSERT into DETAILS"
 | 
			
		||||
				" (TITLE, CREATOR, ARTIST, GENRE, ALBUM_ART) "
 | 
			
		||||
				" (TITLE, CREATOR, ARTIST, GENRE, ALBUM_ART, ART_DLNA_PN) "
 | 
			
		||||
				"VALUES"
 | 
			
		||||
				" ('%q', %Q, %Q, %Q, %lld);",
 | 
			
		||||
				" ('%q', %Q, %Q, %Q, %lld, %Q);",
 | 
			
		||||
				name, artist, artist, genre,
 | 
			
		||||
				album_art ? strtoll(album_art, NULL, 10) : 0);
 | 
			
		||||
				album_art ? strtoll(album_art, NULL, 10) : 0,
 | 
			
		||||
				art_dlna_pn);
 | 
			
		||||
 | 
			
		||||
	if( sql_exec(db, sql) != SQLITE_OK )
 | 
			
		||||
		ret = 0;
 | 
			
		||||
@@ -136,6 +137,8 @@ GetAudioMetadata(const char * path, char * name)
 | 
			
		||||
	char *zErrMsg = NULL;
 | 
			
		||||
	char *title, *artist, *album, *genre, *comment;
 | 
			
		||||
	int free_flags = 0;
 | 
			
		||||
	sqlite_int64 album_art;
 | 
			
		||||
	char art_dlna_pn[9];
 | 
			
		||||
 | 
			
		||||
	if ( stat(path, &file) == 0 )
 | 
			
		||||
		size = file.st_size;
 | 
			
		||||
@@ -248,11 +251,13 @@ GetAudioMetadata(const char * path, char * name)
 | 
			
		||||
		strcpy(mime, "audio/mp4");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	album_art = find_album_art(path, art_dlna_pn);
 | 
			
		||||
 | 
			
		||||
	sql = sqlite3_mprintf(	"INSERT into DETAILS"
 | 
			
		||||
				" (PATH, SIZE, DURATION, CHANNELS, BITRATE, SAMPLERATE, DATE,"
 | 
			
		||||
				"  TITLE, CREATOR, ARTIST, ALBUM, GENRE, COMMENT, TRACK, DLNA_PN, MIME, ALBUM_ART) "
 | 
			
		||||
				"  TITLE, CREATOR, ARTIST, ALBUM, GENRE, COMMENT, TRACK, DLNA_PN, MIME, ALBUM_ART, ART_DLNA_PN) "
 | 
			
		||||
				"VALUES"
 | 
			
		||||
				" (%Q, %llu, '%s', %d, %d, %d, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %d, '%s', '%s', %lld);",
 | 
			
		||||
				" (%Q, %llu, '%s', %d, %d, %d, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %d, '%s', '%s', %lld, %Q);",
 | 
			
		||||
				path, size, duration, taglib_audioproperties_channels(properties),
 | 
			
		||||
				taglib_audioproperties_bitrate(properties)*1024,
 | 
			
		||||
				taglib_audioproperties_samplerate(properties),
 | 
			
		||||
@@ -264,7 +269,7 @@ GetAudioMetadata(const char * path, char * name)
 | 
			
		||||
				comment,
 | 
			
		||||
				taglib_tag_track(tag),
 | 
			
		||||
				dlna_pn, mime,
 | 
			
		||||
				find_album_art(path) );
 | 
			
		||||
				album_art, album_art?art_dlna_pn:NULL );
 | 
			
		||||
	taglib_tag_free_strings();
 | 
			
		||||
	taglib_file_free(audio_file);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user