moved actual tuning code from check_status() to tune_it()

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21833 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
nicodvb 2007-01-06 11:43:44 +00:00
parent 01ace0891b
commit 5aa2b2b489
1 changed files with 12 additions and 18 deletions

View File

@ -346,12 +346,6 @@ static int check_status(int fd_frontend,struct dvb_frontend_parameters* feparams
int ok=0, locks=0;
time_t tm1, tm2;
if (ioctl(fd_frontend,FE_SET_FRONTEND,feparams) < 0)
{
mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR tuning channel\n");
return -1;
}
pfd[0].fd = fd_frontend;
pfd[0].events = POLLPRI;
@ -443,21 +437,9 @@ static int check_status(int fd_frontend,FrontendParameters* feparams,int tuner_t
struct pollfd pfd[1];
while(1)
{
if(ioctl(fd_frontend, FE_GET_EVENT, &event) == -1)
break;
}
i = 0; res = -1;
while ((i < 3) && (res < 0))
{
if (ioctl(fd_frontend,FE_SET_FRONTEND,feparams) < 0)
{
mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR tuning channel\n");
return -1;
}
pfd[0].fd = fd_frontend;
pfd[0].events = POLLIN | POLLPRI;
@ -652,6 +634,7 @@ static int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int
#else
FrontendParameters feparams;
FrontendInfo fe_info;
FrontendEvent event;
struct secStatus sec_state;
#endif
@ -785,7 +768,18 @@ static int tune_it(int fd_frontend, int fd_sec, unsigned int freq, unsigned int
#ifndef HAVE_DVB_HEAD
if (fd_sec) SecGetStatus(fd_sec, &sec_state);
while(1)
{
if(ioctl(fd_frontend, FE_GET_EVENT, &event) == -1)
break;
}
#endif
if(ioctl(fd_frontend,FE_SET_FRONTEND,&feparams) < 0)
{
mp_msg(MSGT_DEMUX, MSGL_ERR, "ERROR tuning channel\n");
return -1;
}
return(check_status(fd_frontend,&feparams,fe_info.type, (hi_lo ? LOF2 : LOF1), timeout));
}