mirror of
https://github.com/mpv-player/mpv
synced 2024-12-28 10:02:17 +00:00
ability to pass channel name (not only number) to radio_set_channel
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19799 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
9eea286729
commit
e409a93e36
@ -1821,6 +1821,7 @@ static char help_text[]=
|
||||
#define MSGTR_RADIO_WrongFreqForChannel "[radio] Wrong frequency for channel %s\n"
|
||||
#define MSGTR_RADIO_WrongChannelNumberFloat "[radio] Wrong channel number: %.2f\n"
|
||||
#define MSGTR_RADIO_WrongChannelNumberInt "[radio] Wrong channel number: %d\n"
|
||||
#define MSGTR_RADIO_WrongChannelName "[radio] Wrong channel name: %s\n"
|
||||
#define MSGTR_RADIO_FreqParameterDetected "[radio] Radio frequency parameter detected.\n"
|
||||
#define MSGTR_RADIO_DoneParsingChannels "[radio] Done parsing channels.\n"
|
||||
#define MSGTR_RADIO_GetTunerFailed "[radio] Warning: ioctl get tuner failed: %s. Setting frac to %d.\n"
|
||||
|
@ -1180,6 +1180,7 @@ static char help_text[]=
|
||||
#define MSGTR_RADIO_WrongFreqForChannel "[radio] Неверная частота для станции %s\n"
|
||||
#define MSGTR_RADIO_WrongChannelNumberFloat "[radio] Неверный номер станции: %.2f\n"
|
||||
#define MSGTR_RADIO_WrongChannelNumberInt "[radio] Неверный номер станции: %d\n"
|
||||
#define MSGTR_RADIO_WrongChannelName "[radio] Неверное название станции: %s\n"
|
||||
#define MSGTR_RADIO_FreqParameterDetected "[radio] В параметрах обнаружена частота.\n"
|
||||
#define MSGTR_RADIO_DoneParsingChannels "[radio] Разбор имен радиостанций завершен.\n"
|
||||
#define MSGTR_RADIO_GetTunerFailed "[radio] Предупреждение: сбой вызова ioctl get tuner : %s. frac установлен в %d.\n"
|
||||
|
@ -862,10 +862,24 @@ int radio_set_channel(struct stream_st *stream, char *channel) {
|
||||
radio_priv_t* priv=(radio_priv_t*)stream->priv;
|
||||
int i, channel_int;
|
||||
radio_channels_t* tmp;
|
||||
char* endptr;
|
||||
|
||||
if (*channel=='\0')
|
||||
mp_msg(MSGT_RADIO,MSGL_ERR,MSGTR_RADIO_WrongChannelName,channel);
|
||||
|
||||
if (priv->radio_channel_list) {
|
||||
channel_int = atoi(channel);
|
||||
channel_int = strtol(channel,&endptr,10);
|
||||
tmp = priv->radio_channel_list;
|
||||
if (*endptr!='\0'){
|
||||
//channel is not a number, so it contains channel name
|
||||
for ( ; tmp; tmp=tmp->next)
|
||||
if (!strncmp(channel,tmp->name,sizeof(tmp->name)-1))
|
||||
break;
|
||||
if (!tmp){
|
||||
mp_msg(MSGT_RADIO,MSGL_ERR,MSGTR_RADIO_WrongChannelName,channel);
|
||||
return 0;
|
||||
}
|
||||
}else{
|
||||
for (i = 1; i < channel_int; i++)
|
||||
if (tmp->next)
|
||||
tmp = tmp->next;
|
||||
@ -875,6 +889,7 @@ int radio_set_channel(struct stream_st *stream, char *channel) {
|
||||
mp_msg(MSGT_RADIO,MSGL_ERR,MSGTR_RADIO_WrongChannelNumberInt,channel_int);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
priv->radio_channel_current=tmp;
|
||||
mp_msg(MSGT_RADIO, MSGL_V, MSGTR_RADIO_SelectedChannel, priv->radio_channel_current->index,
|
||||
priv->radio_channel_current->name, priv->radio_channel_current->freq);
|
||||
|
Loading…
Reference in New Issue
Block a user