MCPcopy Create free account
hub / github.com/Nevcairiel/LAVFilters / Set

Method Set

decoder/LAVVideo/VideoInputPin.cpp:69–106  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67// IKsPropertySet
68
69STDMETHODIMP CVideoInputPin::Set(REFGUID PropSet, ULONG Id, LPVOID pInstanceData, ULONG InstanceLength,
70 LPVOID pPropertyData, ULONG DataLength)
71{
72 if (PropSet != AM_KSPROPSETID_TSRateChange)
73 {
74 return __super::Set(PropSet, Id, pInstanceData, InstanceLength, pPropertyData, DataLength);
75 }
76
77 switch (Id)
78 {
79 case AM_RATE_SimpleRateChange: {
80 AM_SimpleRateChange *p = (AM_SimpleRateChange *)pPropertyData;
81 if (!m_CorrectTS)
82 {
83 return E_PROP_ID_UNSUPPORTED;
84 }
85 CAutoLock cAutoLock(&m_csRateLock);
86 m_ratechange = *p;
87 }
88 break;
89 case AM_RATE_UseRateVersion: {
90 WORD *p = (WORD *)pPropertyData;
91 if (*p > 0x0101)
92 {
93 return E_PROP_ID_UNSUPPORTED;
94 }
95 }
96 break;
97 case AM_RATE_CorrectTS: {
98 LONG *p = (LONG *)pPropertyData;
99 m_CorrectTS = *p;
100 }
101 break;
102 default: return E_PROP_ID_UNSUPPORTED;
103 }
104
105 return S_OK;
106}
107
108STDMETHODIMP CVideoInputPin::Get(REFGUID PropSet, ULONG Id, LPVOID pInstanceData, ULONG InstanceLength,
109 LPVOID pPropertyData, ULONG DataLength, ULONG *pBytesReturned)

Callers 6

CLAVSplitterMethod · 0.45
ThreadProcMethod · 0.45
DeliverEndFlushMethod · 0.45
DeliverBeginFlushMethod · 0.45
DeliverEndFlushMethod · 0.45
ThreadProcMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected