|
a/upmpd/upmpd.cxx |
|
b/upmpd/upmpd.cxx |
|
... |
|
... |
990 |
if (it == sc.args.end() || it->second.empty()) {
|
990 |
if (it == sc.args.end() || it->second.empty()) {
|
991 |
return UPNP_E_INVALID_PARAM;
|
991 |
return UPNP_E_INVALID_PARAM;
|
992 |
}
|
992 |
}
|
993 |
string target(it->second);
|
993 |
string target(it->second);
|
994 |
|
994 |
|
995 |
const MpdStatus &mpds = m_mpdcli->getStatus();
|
|
|
996 |
|
|
|
997 |
//LOGDEB("UpMpd::seek: unit " << unit << " target " << target <<
|
995 |
//LOGDEB("UpMpd::seek: unit " << unit << " target " << target <<
|
998 |
// " current posisition " << mpds.songelapsedms / 1000 <<
|
996 |
// " current posisition " << mpds.songelapsedms / 1000 <<
|
999 |
// " seconds" << endl);
|
997 |
// " seconds" << endl);
|
1000 |
|
998 |
|
1001 |
int abs_seconds;
|
999 |
int abs_seconds;
|
1002 |
// Note that ABS_TIME and REL_TIME don't mean what you'd think
|
1000 |
// Note that ABS_TIME and REL_TIME don't mean what you'd think
|
1003 |
// they mean. REL_TIME means relative to the current track,
|
1001 |
// they mean. REL_TIME means relative to the current track,
|
1004 |
// ABS_TIME to the whole media (ie for a multitrack tape). So
|
1002 |
// ABS_TIME to the whole media (ie for a multitrack tape). So
|
1005 |
// we only support REL_TIME, as absolute position in the current song
|
1003 |
// take both ABS and REL as absolute position in the current song
|
1006 |
if (!unit.compare("REL_TIME")) {
|
1004 |
if (!unit.compare("REL_TIME") || !unit.compare("ABS_TIME")) {
|
1007 |
abs_seconds = upnpdurationtos(target);
|
1005 |
abs_seconds = upnpdurationtos(target);
|
1008 |
} else {
|
1006 |
} else {
|
1009 |
return UPNP_E_INVALID_PARAM;
|
1007 |
return UPNP_E_INVALID_PARAM;
|
1010 |
}
|
1008 |
}
|
1011 |
LOGDEB("UpMpd::seek: seeking to " << abs_seconds << " seconds (" <<
|
1009 |
LOGDEB("UpMpd::seek: seeking to " << abs_seconds << " seconds (" <<
|