summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Fonseca <jfonseca@vmware.com>2016-05-13 07:32:55 -0700
committerJose Fonseca <jfonseca@vmware.com>2016-05-13 07:35:43 -0700
commit6195d6b89b57d038c6505e47d71a533821f7abf2 (patch)
tree004ef5cd76d85c6703310c6c89950dfb5581d5db
parentf6757272f76575b71954ecc55db810f58febcf13 (diff)
d3d9retrace: Handle IDirectXVideoDecoder mappings.
-rw-r--r--retrace/d3d9retrace.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/retrace/d3d9retrace.py b/retrace/d3d9retrace.py
index 0b3c3079..67492041 100644
--- a/retrace/d3d9retrace.py
+++ b/retrace/d3d9retrace.py
@@ -260,6 +260,19 @@ class D3DRetracer(Retracer):
print ' _maps[_mappingKey] = 0;'
print ' }'
+ if interface.name == 'IDirectXVideoDecoder':
+ if method.name == 'GetBuffer':
+ print ' if (*ppBuffer && *pBufferSize) {'
+ print ' _maps[MappingKey(_this, BufferType)] = *ppBuffer;'
+ print ' }'
+ if method.name == 'ReleaseBuffer':
+ print ' MappingKey _mappingKey(_this, BufferType);'
+ print ' void *_pBuffer = _maps[_mappingKey];'
+ print ' if (_pBuffer) {'
+ print ' retrace::delRegionByPointer(_pBuffer);'
+ print ' _maps[_mappingKey] = 0;'
+ print ' }'
+
def main():
print r'#include <string.h>'