aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-02 20:26:20 +0000
committerGravatar arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-01-02 20:26:20 +0000
commitbfb6b8c076d46c4bcdad727995ffd162d4b9ec9a (patch)
tree16c66d5bba60476401f4f4ccc4490d437464ddeb
parentdc67a6b6cd225de75ef975e46a4429e0c8aed2c5 (diff)
SetValue fixed, iv_State=START enabled (silly xine developers disabled for unknown reason)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3958 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--loader/dshow/DS_VideoDecoder.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/loader/dshow/DS_VideoDecoder.c b/loader/dshow/DS_VideoDecoder.c
index d21834f1e9..4c4ed436c9 100644
--- a/loader/dshow/DS_VideoDecoder.c
+++ b/loader/dshow/DS_VideoDecoder.c
@@ -272,7 +272,7 @@ void DS_VideoDecoder_StartInternal(DS_VideoDecoder *this)
this->m_pDS_Filter->m_pAll->vt->SetProperties(this->m_pDS_Filter->m_pAll, &props, &props1);
this->m_pDS_Filter->m_pAll->vt->Commit(this->m_pDS_Filter->m_pAll);
- //this->iv.m_State = START;
+ this->iv.m_State = START;
}
void DS_VideoDecoder_StopInternal(DS_VideoDecoder *this)
@@ -719,13 +719,12 @@ int DS_VideoDecoder_GetValue(DS_VideoDecoder *this, const char* name, int* value
int DS_VideoDecoder_SetValue(DS_VideoDecoder *this, const char* name, int value)
{
-/*
- if (m_bIsDivX4)
- {
- IDivxFilterInterface* pIDivx;
- if (m_pDS_Filter->m_pFilter->vt->QueryInterface((IUnknown*)m_pDS_Filter->m_pFilter, &IID_IDivxFilterInterface, (void**)&pIDivx))
+ if (this->m_bIsDivX4) {
+ IDivxFilterInterface* pIDivx=NULL;
+ printf("DS_SetValue for DIVX4, name=%s value=%d\n",name,value);
+ if (this->m_pDS_Filter->m_pFilter->vt->QueryInterface((IUnknown*)this->m_pDS_Filter->m_pFilter, &IID_IDivxFilterInterface, (void**)&pIDivx))
{
- Debug printf("No such interface\n");
+ printf("No such interface\n");
return -1;
}
if (strcmp(name, "Postprocessing") == 0)
@@ -737,14 +736,15 @@ int DS_VideoDecoder_SetValue(DS_VideoDecoder *this, const char* name, int value)
else if (strcmp(name, "Saturation") == 0)
pIDivx->vt->put_Saturation(pIDivx, value);
else if (strcmp(name, "MaxAuto") == 0)
- m_iMaxAuto = value;
+ this->m_iMaxAuto = value;
pIDivx->vt->Release((IUnknown*)pIDivx);
//printf("Set %s %d\n", name, value);
return 0;
}
- else if (m_bIsDivX)
- {
- if (m_State != START)
+
+ if (this->m_bIsDivX) {
+ IHidden* hidden;
+ if (this->iv.m_State != START)
return VFW_E_NOT_RUNNING;
//cout << "set value " << name << " " << value << endl;
@@ -759,10 +759,11 @@ int DS_VideoDecoder_SetValue(DS_VideoDecoder *this, const char* name, int value)
// get4=set3 73
// get5=set4 19
// get6=set5 23
- IHidden* hidden = (IHidden*)((int)m_pDS_Filter->m_pFilter + 0xb8);
+ hidden = (IHidden*)((int)this->m_pDS_Filter->m_pFilter + 0xb8);
+ printf("DS_SetValue for DIVX, name=%s value=%d\n",name,value);
if (strcmp(name, "Quality") == 0)
{
- m_iLastQuality = value;
+ this->m_iLastQuality = value;
return hidden->vt->SetSmth(hidden, value, 0);
}
if (strcmp(name, "Brightness") == 0)
@@ -775,11 +776,12 @@ int DS_VideoDecoder_SetValue(DS_VideoDecoder *this, const char* name, int value)
return hidden->vt->SetSmth5(hidden, value, 0);
if (strcmp(name, "MaxAuto") == 0)
{
- m_iMaxAuto = value;
- return 0;
+ this->m_iMaxAuto = value;
}
+ return 0;
}
- else if (strcmp((const char*)record.dll, "ir50_32.dll") == 0)
+#if 0
+ if (strcmp((const char*)record.dll, "ir50_32.dll") == 0)
{
IHidden2* hidden = 0;
if (m_pDS_Filter->m_pFilter->vt->QueryInterface((IUnknown*)m_pDS_Filter->m_pFilter, &IID_Iv50Hidden, (void**)&hidden))
@@ -819,7 +821,8 @@ int DS_VideoDecoder_SetValue(DS_VideoDecoder *this, const char* name, int value)
return result;
}
-*/
+#endif
+ printf("DS_SetValue for ????, name=%s value=%d\n",name,value);
return 0;
}
/*