Mercurial > mplayer.hg
diff gui/win32/interface.c @ 34405:35fd66684548
Use cdparanoia compatibility names for CD function calls.
Allow using cdparanoia (in the Wine port, for example).
author | ib |
---|---|
date | Tue, 03 Jan 2012 16:16:04 +0000 |
parents | 19b68f388735 |
children | 2364585f3f1e |
line wrap: on
line diff
--- a/gui/win32/interface.c Tue Jan 03 15:51:26 2012 +0000 +++ b/gui/win32/interface.c Tue Jan 03 16:16:04 2012 +0000 @@ -21,6 +21,14 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "config.h" + +#if defined(CONFIG_LIBCDIO) +#include <cdio/cdda.h> +#elif defined(CONFIG_CDDA) +#include <cdda_interface.h> +#endif + #include <windows.h> #if defined(__CYGWIN__) || defined(__WINE__) @@ -62,9 +70,6 @@ #include "mpcommon.h" #include "gui.h" #include "dialogs.h" -#ifdef CONFIG_LIBCDIO -#include <cdio/cdio.h> -#endif #define SAME_STREAMTYPE (STREAMTYPE_DUMMY - 1) @@ -227,17 +232,34 @@ break; } #endif -#ifdef CONFIG_LIBCDIO +#ifdef CONFIG_CDDA case evPlayCD: { int i; char track[10]; char trackname[10]; - CdIo_t *p_cdio = cdio_open(NULL, DRIVER_UNKNOWN); - track_t i_tracks; +#ifdef CONFIG_LIBCDIO + cdrom_drive_t *cd; +#else + cdrom_drive *cd; +#endif + int i_tracks; - if(p_cdio == NULL) printf("Couldn't find a driver.\n"); - i_tracks = cdio_get_num_tracks(p_cdio); + cd = cdda_identify(cdrom_device, 0, NULL); + if (cd) + { + if (cdda_open(cd) != 0) + { + cdda_close(cd); + cd = NULL; + } + } + if(!cd) + { + printf("Couldn't find a driver.\n"); + break; + } + i_tracks = cdda_tracks(cd); mygui->playlist->clear_playlist(mygui->playlist); for(i=0;i<i_tracks;i++) @@ -246,7 +268,7 @@ sprintf(trackname, "Track %d", i+1); mygui->playlist->add_track(mygui->playlist, track, NULL, trackname, 0); } - cdio_destroy(p_cdio); + cdda_close(cd); mygui->startplay(mygui); break; }