comparison loader/dmo/dmo.c @ 24405:3758413ca0c6

Fix for: dshow/DS_Filter.c: In function 'DS_Filter_CopySample': dshow/DS_Filter.c:103: warning: dereferencing type-punned pointer will break strict-aliasing rules dshow/DS_Filter.c:185: warning: dereferencing type-punned pointer will break strict-aliasing rules dshow/DS_Filter.c:191: warning: dereferencing type-punned pointer will break strict-aliasing rules dshow/DS_Filter.c:198: warning: dereferencing type-punned pointer will break strict-aliasing rules dshow/DS_Filter.c:220: warning: dereferencing type-punned pointer will break strict-aliasing rules dshow/DS_Filter.c:245: warning: dereferencing type-punned pointer will break strict-aliasing rules dmo/dmo.c: In function 'DMO_FilterCreate': dmo/dmo.c:73: warning: dereferencing type-punned pointer will break strict-aliasing rules dmo/dmo.c:79: warning: dereferencing type-punned pointer will break strict-aliasing rules dmo/dmo.c:86: warning: dereferencing type-punned pointer will break strict-aliasing rules dmo/dmo.c:90: warning: dereferencing type-punned pointer will break strict-aliasing rules dmo/dmo.c:93: warning: dereferencing type-punned pointer will break strict-aliasing rules
author voroshil
date Mon, 10 Sep 2007 18:27:45 +0000
parents 2aa275c46a1a
children b70f5ac9c001
comparison
equal deleted inserted replaced
24404:67e6bb7dcac4 24405:3758413ca0c6
68 { 68 {
69 em = "illegal or corrupt DMO DLL"; 69 em = "illegal or corrupt DMO DLL";
70 break; 70 break;
71 } 71 }
72 //trapbug(); 72 //trapbug();
73 hr = func(id, &IID_IClassFactory, (void**)&factory); 73 hr = func(id, &IID_IClassFactory, (void*)&factory);
74 if (hr || !factory) 74 if (hr || !factory)
75 { 75 {
76 em = "no such class object"; 76 em = "no such class object";
77 break; 77 break;
78 } 78 }
79 hr = factory->vt->CreateInstance(factory, 0, &IID_IUnknown, (void**)&object); 79 hr = factory->vt->CreateInstance(factory, 0, &IID_IUnknown, (void*)&object);
80 factory->vt->Release((IUnknown*)factory); 80 factory->vt->Release((IUnknown*)factory);
81 if (hr || !object) 81 if (hr || !object)
82 { 82 {
83 em = "class factory failure"; 83 em = "class factory failure";
84 break; 84 break;
85 } 85 }
86 hr = object->vt->QueryInterface(object, &IID_IMediaObject, (void**)&This->m_pMedia); 86 hr = object->vt->QueryInterface(object, &IID_IMediaObject, (void*)&This->m_pMedia);
87 if (hr == 0) 87 if (hr == 0)
88 { 88 {
89 /* query for some extra available interface */ 89 /* query for some extra available interface */
90 HRESULT r = object->vt->QueryInterface(object, &IID_IMediaObjectInPlace, (void**)&This->m_pInPlace); 90 HRESULT r = object->vt->QueryInterface(object, &IID_IMediaObjectInPlace, (void*)&This->m_pInPlace);
91 if (r == 0 && This->m_pInPlace) 91 if (r == 0 && This->m_pInPlace)
92 printf("DMO dll supports InPlace - PLEASE REPORT to developer\n"); 92 printf("DMO dll supports InPlace - PLEASE REPORT to developer\n");
93 r = object->vt->QueryInterface(object, &IID_IDMOVideoOutputOptimizations, (void**)&This->m_pOptim); 93 r = object->vt->QueryInterface(object, &IID_IDMOVideoOutputOptimizations, (void*)&This->m_pOptim);
94 if (r == 0 && This->m_pOptim) 94 if (r == 0 && This->m_pOptim)
95 { 95 {
96 unsigned long flags; 96 unsigned long flags;
97 r = This->m_pOptim->vt->QueryOperationModePreferences(This->m_pOptim, 0, &flags); 97 r = This->m_pOptim->vt->QueryOperationModePreferences(This->m_pOptim, 0, &flags);
98 printf("DMO dll supports VO Optimizations %ld %lx\n", r, flags); 98 printf("DMO dll supports VO Optimizations %ld %lx\n", r, flags);