Patch to make the configure flag for mpd-mad and mpd-libid3tag more logic (from ticho)

git-svn-id: https://svn.musicpd.org/mpd/trunk@3477 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Qball Cow 2005-09-08 21:08:02 +00:00
parent bc666a9fc6
commit edcfbef90d
12 changed files with 84 additions and 15 deletions

View File

@ -47,8 +47,9 @@ AC_ARG_ENABLE(audiofile,[ --disable-audiofile disable audiofile support, disabl
AC_ARG_ENABLE(mod,[ --enable-mod enable MOD support],enable_mod=yes,) AC_ARG_ENABLE(mod,[ --enable-mod enable MOD support],enable_mod=yes,)
AC_ARG_ENABLE(mpc,[ --disable-mpc disable musepack (MPC) support],,enable_mpc=yes) AC_ARG_ENABLE(mpc,[ --disable-mpc disable musepack (MPC) support],,enable_mpc=yes)
AC_ARG_ENABLE(id3,[ --disable-id3 disable id3 support],,enable_id3=yes) AC_ARG_ENABLE(id3,[ --disable-id3 disable id3 support],,enable_id3=yes)
AC_ARG_ENABLE(mpd_mad,[ --enable-mpd-mad use mpd libmad],use_mpd_mad=yes,)
AC_ARG_ENABLE(mpd_id3tag,[ --enable-mpd-id3tag use mpd libid3tag],use_mpd_id3tag=yes,) AC_ARG_ENABLE(mpd_mad,[ --enable-mpd-mad use mpd libmad],[use_mpd_mad=$enableval],[use_mpd_mad=no])
AC_ARG_ENABLE(mpd_id3tag,[ --enable-mpd-id3tag use mpd libid3tag],[use_mpd_id3tag=$enableval],[use_mpd_id3tag=no])
AC_ARG_WITH(tremor,[[ --with-tremor[=PFX] Use Tremor(vorbisidec) integer Ogg-Vorbis decoder (with optional prefix)]], use_tremor=yes; test x$withval != xyes && tremor_prefix="$withval",) AC_ARG_WITH(tremor,[[ --with-tremor[=PFX] Use Tremor(vorbisidec) integer Ogg-Vorbis decoder (with optional prefix)]], use_tremor=yes; test x$withval != xyes && tremor_prefix="$withval",)
AC_ARG_WITH(tremor-libraries,[ --with-tremor-libraries=DIR Directory where Tremor library is installed (optional)], tremor_libraries="$withval", tremor_libraries="") AC_ARG_WITH(tremor-libraries,[ --with-tremor-libraries=DIR Directory where Tremor library is installed (optional)], tremor_libraries="$withval", tremor_libraries="")

View File

@ -405,6 +405,9 @@ MpdTag * aacTagDup(char * file) {
if((ret = id3Dup(file))==NULL) ret = newMpdTag(); if((ret = id3Dup(file))==NULL) ret = newMpdTag();
ret->time = time; ret->time = time;
} }
else {
DEBUG("aacTagDup: Failed to get total song time from: %s\n", file);
}
return ret; return ret;
} }

View File

@ -148,6 +148,9 @@ MpdTag * audiofileTagDup(char * file) {
if(!ret) ret = newMpdTag(); if(!ret) ret = newMpdTag();
ret->time = time; ret->time = time;
} }
else {
DEBUG("audiofileTagDup: Failed to get total song time from: %s\n", file);
}
return ret; return ret;
} }

View File

@ -533,6 +533,19 @@ MpdTag * flacMetadataDup(char * file, int * vorbisCommentFound) {
it = FLAC__metadata_simple_iterator_new(); it = FLAC__metadata_simple_iterator_new();
if(!FLAC__metadata_simple_iterator_init(it, file ,1,0)) { if(!FLAC__metadata_simple_iterator_init(it, file ,1,0)) {
switch(FLAC__metadata_simple_iterator_status(it)) {
case FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT:
DEBUG("flacMetadataDup: Reading '%s' metadata gave the following error: Illegal Input\n",file);
break;
case FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE:
DEBUG("flacMetadataDup: Reading '%s' metadata gave the following error: Error Opening File\n",file);
break;
case FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE:
DEBUG("flacMetadataDup: Reading '%s' metadata gave the following error: Not A Flac File\n",file);
break;
default:
DEBUG("flacMetadataDup: Reading '%s' metadata failed\n",file);
}
FLAC__metadata_simple_iterator_delete(it); FLAC__metadata_simple_iterator_delete(it);
return ret; return ret;
} }
@ -564,7 +577,10 @@ MpdTag * flacTagDup(char * file) {
int foundVorbisComment = 0; int foundVorbisComment = 0;
ret = flacMetadataDup(file, &foundVorbisComment); ret = flacMetadataDup(file, &foundVorbisComment);
if(!ret) return NULL; if(!ret) {
DEBUG("flacTagDup: Failed to grab information from: %s\n", file);
return NULL;
}
if(!foundVorbisComment) { if(!foundVorbisComment) {
MpdTag * temp = id3Dup(file); MpdTag * temp = id3Dup(file);
if(temp) { if(temp) {

View File

@ -212,10 +212,17 @@ MpdTag * modTagDup(char * file) {
MODULE * moduleHandle; MODULE * moduleHandle;
char * title; char * title;
if(mod_initMikMod() < 0) return NULL; if(mod_initMikMod() < 0) {
DEBUG("modTagDup: Failed to initialize MikMod\n");
return NULL;
}
if(!(moduleHandle = Player_Load(file, 128, 0))) goto fail; if(!(moduleHandle = Player_Load(file, 128, 0))) {
DEBUG("modTagDup: Failed to open file: %s\n",file);
MikMod_Exit();
return NULL;
}
Player_Free(moduleHandle); Player_Free(moduleHandle);
ret = newMpdTag(); ret = newMpdTag();
@ -224,7 +231,6 @@ MpdTag * modTagDup(char * file) {
title = strdup(Player_LoadTitle(file)); title = strdup(Player_LoadTitle(file));
if(title) addItemToMpdTag(ret, TAG_ITEM_TITLE, title); if(title) addItemToMpdTag(ret, TAG_ITEM_TITLE, title);
fail:
MikMod_Exit(); MikMod_Exit();
return ret; return ret;

View File

@ -756,6 +756,9 @@ MpdTag * mp3_tagDup(char * file) {
if(!ret) ret = newMpdTag(); if(!ret) ret = newMpdTag();
ret->time = time; ret->time = time;
} }
else {
DEBUG("mp3_tagDup: Failed to get total song time from: %s\n", file);
}
return ret; return ret;
} }

View File

@ -326,7 +326,10 @@ MpdTag * mp4DataDup(char * file, int * mp4MetadataFound) {
*mp4MetadataFound = 0; *mp4MetadataFound = 0;
if(openInputStream(&inStream, file) < 0) return NULL; if(openInputStream(&inStream, file) < 0) {
DEBUG("mp4DataDup: Failed to open file: %s\n", file);
return NULL;
}
cb = malloc(sizeof(mp4ff_callback_t)); cb = malloc(sizeof(mp4ff_callback_t));
cb->read = mp4_inputStreamReadCallback; cb->read = mp4_inputStreamReadCallback;

View File

@ -294,7 +294,10 @@ static float mpcGetTime(char * file) {
mpc_streaminfo_init(&info); mpc_streaminfo_init(&info);
if(openInputStream(&inStream, file) < 0) return -1; if(openInputStream(&inStream, file) < 0) {
DEBUG("mpcGetTime: Failed to open file: %s\n", file);
return -1;
}
if(mpc_streaminfo_read(&info, &reader) != ERROR_CODE_OK) { if(mpc_streaminfo_read(&info, &reader) != ERROR_CODE_OK) {
closeInputStream(&inStream); closeInputStream(&inStream);
@ -312,7 +315,10 @@ static MpdTag * mpcTagDup(char * file) {
MpdTag * ret = NULL; MpdTag * ret = NULL;
float time = mpcGetTime(file); float time = mpcGetTime(file);
if(time < 0) return NULL; if(time < 0) {
DEBUG("mpcTagDup: Failed to get Songlength of file: %s\n",file);
return NULL;
}
ret = apeDup(file); ret = apeDup(file);
if(!ret) ret = id3Dup(file); if(!ret) ret = id3Dup(file);

View File

@ -366,7 +366,11 @@ MpdTag * oggTagDup(char * file) {
OggVorbis_File vf; OggVorbis_File vf;
fp = fopen(file,"r"); fp = fopen(file,"r");
if(!fp) return NULL; if(!fp)
{
DEBUG("oggTagDup: Failed to open file: '%s', %s\n", file, strerror(errno));
return NULL;
}
if(ov_open(fp,&vf,NULL,0)<0) { if(ov_open(fp,&vf,NULL,0)<0) {
fclose(fp); fclose(fp);
return NULL; return NULL;

View File

@ -30,6 +30,8 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#include <errno.h>
extern int errno;
char * dupAndStripPlaylistSuffix(char * file) { char * dupAndStripPlaylistSuffix(char * file) {
size_t size = strlen(file)-strlen(PLAYLIST_FILE_SUFFIX)-1; size_t size = strlen(file)-strlen(PLAYLIST_FILE_SUFFIX)-1;
@ -210,7 +212,14 @@ int isFile(char * utf8file, time_t * mtime) {
if(mtime) *mtime = st.st_mtime; if(mtime) *mtime = st.st_mtime;
return 1; return 1;
} }
else return 0; else
{
DEBUG("isFile: %s is not a regular file\n",utf8file);
return 0;
}
}
else {
DEBUG("isFile: failed to stat: %s: %s\n", utf8file, strerror(errno));
} }
return 0; return 0;
@ -257,15 +266,24 @@ InputPlugin * hasMusicSuffix(char * utf8file) {
InputPlugin * ret = NULL; InputPlugin * ret = NULL;
char * s = getSuffix(utf8file); char * s = getSuffix(utf8file);
if(s) ret = getInputPluginFromSuffix(s); if(s) {
ret = getInputPluginFromSuffix(s);
}
else {
DEBUG("hasMusicSuffix: The file: %s has no valid suffix\n",utf8file);
}
return ret; return ret;
} }
InputPlugin * isMusic(char * utf8file, time_t * mtime) { InputPlugin * isMusic(char * utf8file, time_t * mtime) {
if(isFile(utf8file,mtime)) { if(isFile(utf8file,mtime)) {
return hasMusicSuffix(utf8file); InputPlugin *plugin = hasMusicSuffix(utf8file);
if (plugin == NULL) {
DEBUG("isMusic: %s is not a supported music file\n");
}
return plugin;
} }
DEBUG("isMusic: %s is not a valid file\n",utf8file);
return NULL; return NULL;
} }

View File

@ -49,7 +49,10 @@ Song * newNullSong() {
Song * newSong(char * url, int type, Directory * parentDir) { Song * newSong(char * url, int type, Directory * parentDir) {
Song * song = NULL; Song * song = NULL;
if(strchr(url, '\n')) return NULL; if(strchr(url, '\n')) {
DEBUG("newSong: '%s' is not a valid uri\n");
return NULL;
}
song = newNullSong(); song = newNullSong();
@ -104,6 +107,8 @@ Song * addSongToList(SongList * list, char * url, char * utf8path,
case SONG_TYPE_URL: case SONG_TYPE_URL:
song = newSong(url, songType, parentDirectory); song = newSong(url, songType, parentDirectory);
break; break;
default:
DEBUG("addSongToList: Trying to add an invalid song type\n");
} }
if(song==NULL) return NULL; if(song==NULL) return NULL;

View File

@ -185,6 +185,7 @@ MpdTag * id3Dup(char * file) {
id3_file = id3_file_open(file, ID3_FILE_MODE_READONLY); id3_file = id3_file_open(file, ID3_FILE_MODE_READONLY);
if(!id3_file) { if(!id3_file) {
DEBUG("id3Dup: Failed to open file: '%s', %s\n",file, strerror(errno));
return NULL; return NULL;
} }