From edcfbef90da5f3a6abf60559042d61d0f3d765d7 Mon Sep 17 00:00:00 2001 From: Qball Cow Date: Thu, 8 Sep 2005 21:08:02 +0000 Subject: 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 --- configure.ac | 5 +++-- src/inputPlugins/aac_plugin.c | 3 +++ src/inputPlugins/audiofile_plugin.c | 3 +++ src/inputPlugins/flac_plugin.c | 18 +++++++++++++++++- src/inputPlugins/mod_plugin.c | 12 +++++++++--- src/inputPlugins/mp3_plugin.c | 3 +++ src/inputPlugins/mp4_plugin.c | 5 ++++- src/inputPlugins/mpc_plugin.c | 10 ++++++++-- src/inputPlugins/ogg_plugin.c | 6 +++++- src/ls.c | 26 ++++++++++++++++++++++---- src/song.c | 7 ++++++- src/tag.c | 1 + 12 files changed, 84 insertions(+), 15 deletions(-) diff --git a/configure.ac b/configure.ac index 767e00044..6c65fe6f4 100644 --- a/configure.ac +++ b/configure.ac @@ -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(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(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-libraries,[ --with-tremor-libraries=DIR Directory where Tremor library is installed (optional)], tremor_libraries="$withval", tremor_libraries="") diff --git a/src/inputPlugins/aac_plugin.c b/src/inputPlugins/aac_plugin.c index 149290648..e368f3089 100644 --- a/src/inputPlugins/aac_plugin.c +++ b/src/inputPlugins/aac_plugin.c @@ -405,6 +405,9 @@ MpdTag * aacTagDup(char * file) { if((ret = id3Dup(file))==NULL) ret = newMpdTag(); ret->time = time; } + else { + DEBUG("aacTagDup: Failed to get total song time from: %s\n", file); + } return ret; } diff --git a/src/inputPlugins/audiofile_plugin.c b/src/inputPlugins/audiofile_plugin.c index 0c205888d..adc279b60 100644 --- a/src/inputPlugins/audiofile_plugin.c +++ b/src/inputPlugins/audiofile_plugin.c @@ -148,6 +148,9 @@ MpdTag * audiofileTagDup(char * file) { if(!ret) ret = newMpdTag(); ret->time = time; } + else { + DEBUG("audiofileTagDup: Failed to get total song time from: %s\n", file); + } return ret; } diff --git a/src/inputPlugins/flac_plugin.c b/src/inputPlugins/flac_plugin.c index 801b72797..6be7f43b3 100644 --- a/src/inputPlugins/flac_plugin.c +++ b/src/inputPlugins/flac_plugin.c @@ -533,6 +533,19 @@ MpdTag * flacMetadataDup(char * file, int * vorbisCommentFound) { it = FLAC__metadata_simple_iterator_new(); 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); return ret; } @@ -564,7 +577,10 @@ MpdTag * flacTagDup(char * file) { int foundVorbisComment = 0; ret = flacMetadataDup(file, &foundVorbisComment); - if(!ret) return NULL; + if(!ret) { + DEBUG("flacTagDup: Failed to grab information from: %s\n", file); + return NULL; + } if(!foundVorbisComment) { MpdTag * temp = id3Dup(file); if(temp) { diff --git a/src/inputPlugins/mod_plugin.c b/src/inputPlugins/mod_plugin.c index 74524fed9..547f4af4a 100644 --- a/src/inputPlugins/mod_plugin.c +++ b/src/inputPlugins/mod_plugin.c @@ -212,10 +212,17 @@ MpdTag * modTagDup(char * file) { MODULE * moduleHandle; 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); ret = newMpdTag(); @@ -224,7 +231,6 @@ MpdTag * modTagDup(char * file) { title = strdup(Player_LoadTitle(file)); if(title) addItemToMpdTag(ret, TAG_ITEM_TITLE, title); -fail: MikMod_Exit(); return ret; diff --git a/src/inputPlugins/mp3_plugin.c b/src/inputPlugins/mp3_plugin.c index 33087e134..8799e1c87 100644 --- a/src/inputPlugins/mp3_plugin.c +++ b/src/inputPlugins/mp3_plugin.c @@ -756,6 +756,9 @@ MpdTag * mp3_tagDup(char * file) { if(!ret) ret = newMpdTag(); ret->time = time; } + else { + DEBUG("mp3_tagDup: Failed to get total song time from: %s\n", file); + } return ret; } diff --git a/src/inputPlugins/mp4_plugin.c b/src/inputPlugins/mp4_plugin.c index a66f7d43d..a1af848c5 100644 --- a/src/inputPlugins/mp4_plugin.c +++ b/src/inputPlugins/mp4_plugin.c @@ -326,7 +326,10 @@ MpdTag * mp4DataDup(char * file, int * mp4MetadataFound) { *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->read = mp4_inputStreamReadCallback; diff --git a/src/inputPlugins/mpc_plugin.c b/src/inputPlugins/mpc_plugin.c index af332dbf4..335c5c368 100644 --- a/src/inputPlugins/mpc_plugin.c +++ b/src/inputPlugins/mpc_plugin.c @@ -294,7 +294,10 @@ static float mpcGetTime(char * file) { 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) { closeInputStream(&inStream); @@ -312,7 +315,10 @@ static MpdTag * mpcTagDup(char * file) { MpdTag * ret = NULL; 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); if(!ret) ret = id3Dup(file); diff --git a/src/inputPlugins/ogg_plugin.c b/src/inputPlugins/ogg_plugin.c index f74e3e56a..abadca388 100644 --- a/src/inputPlugins/ogg_plugin.c +++ b/src/inputPlugins/ogg_plugin.c @@ -366,7 +366,11 @@ MpdTag * oggTagDup(char * file) { OggVorbis_File vf; 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) { fclose(fp); return NULL; diff --git a/src/ls.c b/src/ls.c index 1220d370c..9cdf4bb66 100644 --- a/src/ls.c +++ b/src/ls.c @@ -30,6 +30,8 @@ #include #include #include +#include +extern int errno; char * dupAndStripPlaylistSuffix(char * file) { 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; 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; @@ -257,15 +266,24 @@ InputPlugin * hasMusicSuffix(char * utf8file) { InputPlugin * ret = NULL; 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; } InputPlugin * isMusic(char * utf8file, time_t * 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; } diff --git a/src/song.c b/src/song.c index 91714f01c..d8c265879 100644 --- a/src/song.c +++ b/src/song.c @@ -49,7 +49,10 @@ Song * newNullSong() { Song * newSong(char * url, int type, Directory * parentDir) { 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(); @@ -104,6 +107,8 @@ Song * addSongToList(SongList * list, char * url, char * utf8path, case SONG_TYPE_URL: song = newSong(url, songType, parentDirectory); break; + default: + DEBUG("addSongToList: Trying to add an invalid song type\n"); } if(song==NULL) return NULL; diff --git a/src/tag.c b/src/tag.c index 2d74c5c81..d04b52abc 100644 --- a/src/tag.c +++ b/src/tag.c @@ -185,6 +185,7 @@ MpdTag * id3Dup(char * file) { id3_file = id3_file_open(file, ID3_FILE_MODE_READONLY); if(!id3_file) { + DEBUG("id3Dup: Failed to open file: '%s', %s\n",file, strerror(errno)); return NULL; } -- cgit v1.2.3