[MPlayer-cvslog] r25114 - trunk/stream/tvi_dshow.c
voroshil
subversion at mplayerhq.hu
Mon Nov 19 20:49:18 CET 2007
Author: voroshil
Date: Mon Nov 19 20:49:17 2007
New Revision: 25114
Log:
Move pointer to SampleGrabber filter into chain structure.
Modified:
trunk/stream/tvi_dshow.c
Modified: trunk/stream/tvi_dshow.c
==============================================================================
--- trunk/stream/tvi_dshow.c (original)
+++ trunk/stream/tvi_dshow.c Mon Nov 19 20:49:17 2007
@@ -150,6 +150,7 @@ typedef struct {
IAMStreamConfig *pStreamConfig; ///< for configuring stream
grabber_ringbuffer_t *rbuf; ///< sample frabber data
+ CSampleGrabberCB* pCSGCB; ///< callback object
AM_MEDIA_TYPE *pmt; ///< stream properties.
int nFormatUsed; ///< index of used format
@@ -186,7 +187,6 @@ typedef struct {
IAMVideoProcAmp *pVideoProcAmp; ///< for adjusting hue,saturation,etc
IAMCrossbar *pCrossbar; ///< for selecting input (Tuner,Composite,S-Video,...)
DWORD dwRegister; ///< allow graphedit to connect to our graph
- CSampleGrabberCB* pCSGCB; ///< callback object
void *priv_vbi; ///< private VBI data structure
tt_stream_props tsp; ///< data for VBI initialization
@@ -1355,8 +1355,8 @@ static HRESULT build_sub_graph(priv_t *
}
/* creating ringbuffer for video samples */
- priv->pCSGCB = CSampleGrabberCB_Create(chain->rbuf);
- if(!priv->pCSGCB){
+ chain->pCSGCB = CSampleGrabberCB_Create(chain->rbuf);
+ if(!chain->pCSGCB){
mp_msg(MSGT_TV,MSGL_DBG2, "tvi_dshow: CSampleGrabberCB_Create(pbuf) call failed. Error:0x%x\n", (unsigned int)E_OUTOFMEMORY);
break;
}
@@ -1368,7 +1368,7 @@ static HRESULT build_sub_graph(priv_t *
break;
}
// hr = OLE_CALL_ARGS(pSG, SetCallback, (ISampleGrabberCB *) pCSGCB, 1); //we want to receive copy of sample's data
- hr = OLE_CALL_ARGS(pSG, SetCallback, (ISampleGrabberCB *) priv->pCSGCB, 0); //we want to receive sample
+ hr = OLE_CALL_ARGS(pSG, SetCallback, (ISampleGrabberCB *) chain->pCSGCB, 0); //we want to receive sample
if(FAILED(hr)){
mp_msg(MSGT_TV,MSGL_DBG2,"tvi_dshow: SetCallback(pSG) call failed. Error:0x%x\n", (unsigned int)hr);
@@ -2950,6 +2950,8 @@ static void destroy_chain(chain_t *chain
OLE_RELEASE_SAFE(chain->pStreamConfig);
OLE_RELEASE_SAFE(chain->pCaptureFilter);
+ OLE_RELEASE_SAFE(chain->pCSGCB);
+
if (chain->pmt)
DeleteMediaType(chain->pmt);
@@ -3011,8 +3013,6 @@ static int uninit(priv_t * priv)
OLE_RELEASE_SAFE(priv->pVideoProcAmp);
OLE_RELEASE_SAFE(priv->pGraph);
OLE_RELEASE_SAFE(priv->pBuilder);
- OLE_RELEASE_SAFE(priv->pCSGCB);
-
if(priv->freq_table){
priv->freq_table_len=-1;
free(priv->freq_table);
More information about the MPlayer-cvslog
mailing list