summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cfg-mplayer.h1
-rw-r--r--mplayer.c6
2 files changed, 5 insertions, 2 deletions
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index 6bfada00db..4c1fa83904 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -412,6 +412,7 @@ m_option_t mplayer_opts[]={
{"softsleep", &softsleep, CONF_TYPE_FLAG, 0, 0, 1, NULL},
#ifdef HAVE_RTC
{"nortc", &nortc, CONF_TYPE_FLAG, 0, 0, 1, NULL},
+ {"rtc", &rtc_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
#endif
{"slave", &slave_mode, CONF_TYPE_FLAG,CONF_GLOBAL , 0, 1, NULL},
diff --git a/mplayer.c b/mplayer.c
index 5a9984bbd9..42adcd4921 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -343,6 +343,7 @@ static char* menu_root = "main";
#ifdef HAVE_RTC
static int nortc;
+static char* rtc_device;
#endif
#ifdef USE_EDL
@@ -1093,8 +1094,9 @@ if(!codecs_file || !parse_codec_cfg(codecs_file)){
if(!nortc)
{
// seteuid(0); /* Can't hurt to try to get root here */
- if ((rtc_fd = open("/dev/rtc", O_RDONLY)) < 0)
- mp_msg(MSGT_CPLAYER, MSGL_WARN, "Failed to open /dev/rtc: %s (/dev/rtc should be readable by the user.)\n", strerror(errno));
+ if ((rtc_fd = open(rtc_device ? rtc_device : "/dev/rtc", O_RDONLY)) < 0)
+ mp_msg(MSGT_CPLAYER, MSGL_WARN, "Failed to open %s: %s (it should be readable by the user.)\n",
+ rtc_device ? rtc_device : "/dev/rtc", strerror(errno));
else {
unsigned long irqp = 1024; /* 512 seemed OK. 128 is jerky. */