comparison loader/dshow/cmediasample.c @ 9964:6454a2ba2e33

CoTaskMemAlloc/Free vs malloc/free cleanup
author alex
date Mon, 21 Apr 2003 20:12:43 +0000
parents 9533c26c0806
children f5537cc95b02
comparison
equal deleted inserted replaced
9963:305cc11b27e5 9964:6454a2ba2e33
45 45
46 Debug printf("CMediaSample_Destroy(%p) called (ref:%d)\n", This, This->refcount); 46 Debug printf("CMediaSample_Destroy(%p) called (ref:%d)\n", This, This->refcount);
47 free(This->vt); 47 free(This->vt);
48 free(This->own_block); 48 free(This->own_block);
49 if (This->media_type.pbFormat) 49 if (This->media_type.pbFormat)
50 CoTaskMemFree(This->media_type.pbFormat); 50 free(This->media_type.pbFormat);
51 free(This); 51 free(This);
52 } 52 }
53 53
54 static long STDCALL CMediaSample_Release(IUnknown* This) 54 static long STDCALL CMediaSample_Release(IUnknown* This)
55 { 55 {
169 *ppMediaType=0; 169 *ppMediaType=0;
170 return 1; 170 return 1;
171 } 171 }
172 172
173 t = &((CMediaSample*)This)->media_type; 173 t = &((CMediaSample*)This)->media_type;
174 // if(t.pbFormat)CoTaskMemFree(t.pbFormat); 174 // if(t.pbFormat)free(t.pbFormat);
175 (*ppMediaType) = (AM_MEDIA_TYPE*)CoTaskMemAlloc(sizeof(AM_MEDIA_TYPE)); 175 (*ppMediaType) = (AM_MEDIA_TYPE*)malloc(sizeof(AM_MEDIA_TYPE));
176 **ppMediaType = *t; 176 **ppMediaType = *t;
177 (*ppMediaType)->pbFormat = (char*)CoTaskMemAlloc(t->cbFormat); 177 (*ppMediaType)->pbFormat = (char*)malloc(t->cbFormat);
178 memcpy((*ppMediaType)->pbFormat, t->pbFormat, t->cbFormat); 178 memcpy((*ppMediaType)->pbFormat, t->pbFormat, t->cbFormat);
179 // *ppMediaType=0; //media type was not changed 179 // *ppMediaType=0; //media type was not changed
180 return 0; 180 return 0;
181 } 181 }
182 182
187 Debug printf("CMediaSample_SetMediaType(%p) called\n", This); 187 Debug printf("CMediaSample_SetMediaType(%p) called\n", This);
188 if (!pMediaType) 188 if (!pMediaType)
189 return E_INVALIDARG; 189 return E_INVALIDARG;
190 t = &((CMediaSample*)This)->media_type; 190 t = &((CMediaSample*)This)->media_type;
191 if (t->pbFormat) 191 if (t->pbFormat)
192 CoTaskMemFree(t->pbFormat); 192 free(t->pbFormat);
193 t = pMediaType; 193 t = pMediaType;
194 if (t->cbFormat) 194 if (t->cbFormat)
195 { 195 {
196 t->pbFormat = (char*)CoTaskMemAlloc(t->cbFormat); 196 t->pbFormat = (char*)malloc(t->cbFormat);
197 memcpy(t->pbFormat, pMediaType->pbFormat, t->cbFormat); 197 memcpy(t->pbFormat, pMediaType->pbFormat, t->cbFormat);
198 } 198 }
199 else 199 else
200 t->pbFormat = 0; 200 t->pbFormat = 0;
201 ((CMediaSample*) This)->type_valid=1; 201 ((CMediaSample*) This)->type_valid=1;