Mercurial > mplayer.hg
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; |