summaryrefslogtreecommitdiffstats
path: root/stream
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-11-13 21:18:03 +0100
committerwm4 <wm4@nowhere>2013-11-13 21:21:00 +0100
commit2b39c5d87ca520f492884e0f1dd4bd2cdc6c647d (patch)
tree68f16595e2e8590e60de7d7c2529379168c50807 /stream
parent417fa2ffecd42cf0cbd43fb16aff6456d6eca5ad (diff)
downloadmpv-2b39c5d87ca520f492884e0f1dd4bd2cdc6c647d.tar.bz2
mpv-2b39c5d87ca520f492884e0f1dd4bd2cdc6c647d.tar.xz
tvi_v4l2: remove VBI stuff
This used to be needed for teletext support. Teletext commit has been removed (see commit ebaaa41f), and it appears this code is inactive. It was just forgotten with the removal. Get rid of it completely. Untested. (Like all changes to the TV code.)
Diffstat (limited to 'stream')
-rw-r--r--stream/tvi_v4l2.c100
1 files changed, 0 insertions, 100 deletions
diff --git a/stream/tvi_v4l2.c b/stream/tvi_v4l2.c
index 8fad385eb6..53cb895d41 100644
--- a/stream/tvi_v4l2.c
+++ b/stream/tvi_v4l2.c
@@ -102,12 +102,6 @@ typedef struct priv {
/* video */
char *video_dev;
int video_fd;
- char *vbi_dev;
- int vbi_fd;
- int vbi_bufsize;
- int vbi_shutdown;
- pthread_t vbi_grabber_thread;
- void *priv_vbi;
int mp_format;
struct v4l2_capability capability;
struct v4l2_input input;
@@ -612,82 +606,6 @@ static int get_control(priv_t *priv, struct v4l2_control *control, int val_signe
return TVI_CONTROL_TRUE;
}
-static int vbi_get_props(priv_t* priv,tt_stream_props* ptsp)
-{
- struct v4l2_format fmt;
- int res;
- if(!priv || !ptsp)
- return TVI_CONTROL_FALSE;
-
- memset(&fmt,0,sizeof(struct v4l2_format));
- fmt.type=V4L2_BUF_TYPE_VBI_CAPTURE;
- if((res=ioctl(priv->vbi_fd,VIDIOC_G_FMT,&fmt))<0){
- mp_msg(MSGT_TV,MSGL_ERR,"vbi_get_props: Query format failed: %x\n",res);
- return TVI_CONTROL_FALSE;
- }
-
- ptsp->interlaced=(fmt.fmt.vbi.flags& V4L2_VBI_INTERLACED?1:0);
-
- ptsp->offset=fmt.fmt.vbi.offset;
- ptsp->sampling_rate=fmt.fmt.vbi.sampling_rate;
- ptsp->samples_per_line=fmt.fmt.vbi.samples_per_line,
-
- ptsp->count[0]=fmt.fmt.vbi.count[0];
- ptsp->count[1]=fmt.fmt.vbi.count[1];
- ptsp->bufsize = ptsp->samples_per_line * (ptsp->count[0] + ptsp->count[1]);
-
- mp_msg(MSGT_TV,MSGL_V,"vbi_get_props: sampling_rate=%d,offset:%d,samples_per_line: %d\n interlaced:%s, count=[%d,%d]\n",
- ptsp->sampling_rate,
- ptsp->offset,
- ptsp->samples_per_line,
- ptsp->interlaced?"Yes":"No",
- ptsp->count[0],
- ptsp->count[1]);
-
- return TVI_CONTROL_TRUE;
-}
-
-static void *vbi_grabber(void *data)
-{
- priv_t *priv = (priv_t *) data;
- int bytes,seq,prev_seq;
- unsigned char* buf;
- tt_stream_props tsp;
-
- if(!priv->priv_vbi){
- mp_msg(MSGT_TV,MSGL_WARN,"vbi: vbi not initialized. stopping thread.\n");
- return NULL;
- }
-
- if(vbi_get_props(priv,&tsp)!=TVI_CONTROL_TRUE)
- return NULL;
-
- buf=malloc(tsp.bufsize);
- seq=0;
- prev_seq=0;
- mp_msg(MSGT_TV,MSGL_V,"vbi: vbi capture thread started.\n");
-
- while (!priv->vbi_shutdown){
- bytes=read(priv->vbi_fd,buf,tsp.bufsize);
- if(bytes<0 && errno==EINTR)
- continue;
- if (bytes!=tsp.bufsize){
- mp_msg(MSGT_TV,MSGL_WARN,"vbi: expecting bytes: %d, got: %d\n",tsp.bufsize,bytes);
- break;
- }
- seq=*(int*)(buf+bytes-4);
- if(seq<=1) continue;
- if (prev_seq && seq!=prev_seq+1){
- prev_seq=0;
- seq=0;
- }
- prev_seq=seq;
- mp_msg(MSGT_TV,MSGL_DBG3,"grabber: seq:%d\n",seq);
- }
- free(buf);
- return NULL;
-}
-
static int do_control(priv_t *priv, int cmd, void *arg)
{
struct v4l2_control control;
@@ -1043,19 +961,6 @@ static int uninit(priv_t *priv)
{
int i, frames, dropped = 0;
- priv->vbi_shutdown=1;
- if(priv->vbi_grabber_thread)
- pthread_join(priv->vbi_grabber_thread, NULL);
-
- priv->priv_vbi=NULL;
-
- if(priv->vbi_fd){
- close(priv->vbi_fd);
- priv->vbi_fd=0;
- }
-
- free(priv->vbi_dev);
- priv->vbi_dev = NULL;
priv->shutdown = 1;
if(priv->video_grabber_thread)
pthread_join(priv->video_grabber_thread, NULL);
@@ -1482,11 +1387,6 @@ static int start(priv_t *priv)
}
}
- /* start vbi thread */
- if(priv->priv_vbi){
- priv->vbi_shutdown = 0;
- pthread_create(&priv->vbi_grabber_thread, NULL, vbi_grabber, priv);
- }
/* start audio thread */
priv->shutdown = 0;
priv->audio_skew_measure_time = 0;