summaryrefslogtreecommitdiffstats
path: root/stream/tvi_dshow.c
diff options
context:
space:
mode:
Diffstat (limited to 'stream/tvi_dshow.c')
-rw-r--r--stream/tvi_dshow.c39
1 files changed, 9 insertions, 30 deletions
diff --git a/stream/tvi_dshow.c b/stream/tvi_dshow.c
index 3e17d9cb99..2781c76032 100644
--- a/stream/tvi_dshow.c
+++ b/stream/tvi_dshow.c
@@ -76,7 +76,6 @@
#include <stdio.h>
#include "libmpcodecs/img_format.h"
-#include "libmpcodecs/dec_teletext.h"
#include "libaf/af_format.h"
#include "osdep/timer.h"
@@ -201,6 +200,15 @@ typedef struct priv {
tv_param_t* tv_param; ///< TV parameters
} priv_t;
+typedef struct tt_stream_props_s{
+ int sampling_rate;
+ int samples_per_line;
+ int offset;
+ int count[2]; ///< number of lines in first and second fields
+ int interlaced; ///< vbi data are interlaced
+ int bufsize; ///< required buffer size
+} tt_stream_props;
+
#include "tvi_def.h"
/**
@@ -2344,7 +2352,6 @@ static void vbi_grabber(priv_t* priv)
buf=calloc(1,rb->blocksize);
for(i=0; i<23 && rb->count; i++){
memcpy(buf,rb->ringbuffer[rb->head],rb->blocksize);
- teletext_control(priv->priv_vbi,TV_VBI_CONTROL_DECODE_PAGE,&buf);
rb->head = (rb->head + 1) % rb->buffersize;
rb->count--;
}
@@ -2588,20 +2595,6 @@ static HRESULT build_vbi_chain(priv_t *priv)
if(priv->chains[2]->rbuf)
return S_OK;
- if(priv->tv_param->teletext.device)
- {
- priv->chains[2]->rbuf=calloc(1,sizeof(grabber_ringbuffer_t));
- if(!priv->chains[2]->rbuf)
- return E_OUTOFMEMORY;
-
- init_ringbuffer(priv->chains[2]->rbuf,24,priv->tsp.bufsize);
-
- hr=build_sub_graph(priv, priv->chains[2],&PIN_CATEGORY_VBI);
- if(FAILED(hr)){
- mp_tmsg(MSGT_TV, MSGL_ERR, "tvi_dshow: Unable to build VBI chain of capture graph. Error:0x%x\n",(unsigned int)hr);
- return 0;
- }
- }
return S_OK;
}
@@ -3012,7 +3005,6 @@ static int uninit(priv_t * priv)
if (priv->dwRegister) {
RemoveFromRot(priv->dwRegister);
}
- teletext_control(priv->priv_vbi,TV_VBI_CONTROL_STOP,(void*)1);
//stop audio grabber thread
if (priv->state && priv->pMediaControl) {
@@ -3517,19 +3509,6 @@ static int control(priv_t * priv, int cmd, void *arg)
case TVI_CONTROL_IMMEDIATE:
priv->immediate_mode = 1;
return TVI_CONTROL_TRUE;
- case TVI_CONTROL_VBI_INIT:
- {
- void* ptr;
- ptr=&(priv->tsp);
- if(teletext_control(NULL,TV_VBI_CONTROL_START,&ptr)==VBI_CONTROL_TRUE)
- priv->priv_vbi=ptr;
- else
- priv->priv_vbi=NULL;
- return TVI_CONTROL_TRUE;
- }
- case TVI_CONTROL_GET_VBI_PTR:
- *(void **)arg=priv->priv_vbi;
- return TVI_CONTROL_TRUE;
}
return TVI_CONTROL_UNKNOWN;
}