Mercurial > mplayer.hg
comparison loader/dshow/cmediasample.c @ 8292:9533c26c0806
avifile sync (mostly cosmetics)
author | arpi |
---|---|
date | Tue, 26 Nov 2002 21:00:20 +0000 |
parents | 174e2a58b4cd |
children | 6454a2ba2e33 |
comparison
equal
deleted
inserted
replaced
8291:abe95dde3223 | 8292:9533c26c0806 |
---|---|
1 #include "cmediasample.h" | 1 #include "cmediasample.h" |
2 #include "wine/winerror.h" | 2 #include "wine/winerror.h" |
3 #include <stdio.h> | 3 #include <stdio.h> |
4 #include <string.h> | 4 #include <string.h> |
5 #include <stdlib.h> | 5 #include <stdlib.h> |
6 | |
7 /* | |
8 * currently hack to make some extra room for DS Acel codec which | |
9 * seems to overwrite allocated memory - FIXME better later | |
10 * check the buffer allocation | |
11 */ | |
12 static const int SAFETY_ACEL = 1024; | |
6 | 13 |
7 static long STDCALL CMediaSample_QueryInterface(IUnknown* This, | 14 static long STDCALL CMediaSample_QueryInterface(IUnknown* This, |
8 /* [in] */ const GUID* iid, | 15 /* [in] */ const GUID* iid, |
9 /* [iid_is][out] */ void **ppv) | 16 /* [iid_is][out] */ void **ppv) |
10 { | 17 { |
76 | 83 |
77 static HRESULT STDCALL CMediaSample_GetTime(IMediaSample * This, | 84 static HRESULT STDCALL CMediaSample_GetTime(IMediaSample * This, |
78 /* [out] */ REFERENCE_TIME *pTimeStart, | 85 /* [out] */ REFERENCE_TIME *pTimeStart, |
79 /* [out] */ REFERENCE_TIME *pTimeEnd) | 86 /* [out] */ REFERENCE_TIME *pTimeEnd) |
80 { | 87 { |
81 Debug printf("CMediaSample_GetTime(%p) called (UNIMPLIMENTED)\n", This); | 88 Debug printf("CMediaSample_GetTime(%p) called (UNIMPLEMENTED)\n", This); |
82 return E_NOTIMPL; | 89 return E_NOTIMPL; |
83 } | 90 } |
84 | 91 |
85 static HRESULT STDCALL CMediaSample_SetTime(IMediaSample * This, | 92 static HRESULT STDCALL CMediaSample_SetTime(IMediaSample * This, |
86 /* [in] */ REFERENCE_TIME *pTimeStart, | 93 /* [in] */ REFERENCE_TIME *pTimeStart, |
87 /* [in] */ REFERENCE_TIME *pTimeEnd) | 94 /* [in] */ REFERENCE_TIME *pTimeEnd) |
88 { | 95 { |
89 Debug printf("CMediaSample_SetTime(%p) called (UNIMPLIMENTED)\n", This); | 96 Debug printf("CMediaSample_SetTime(%p) called (UNIMPLEMENTED)\n", This); |
90 return E_NOTIMPL; | 97 return E_NOTIMPL; |
91 } | 98 } |
92 | 99 |
93 static HRESULT STDCALL CMediaSample_IsSyncPoint(IMediaSample * This) | 100 static HRESULT STDCALL CMediaSample_IsSyncPoint(IMediaSample * This) |
94 { | 101 { |
133 static HRESULT STDCALL CMediaSample_SetActualDataLength(IMediaSample* This, | 140 static HRESULT STDCALL CMediaSample_SetActualDataLength(IMediaSample* This, |
134 long __MIDL_0010) | 141 long __MIDL_0010) |
135 { | 142 { |
136 CMediaSample* cms = (CMediaSample*)This; | 143 CMediaSample* cms = (CMediaSample*)This; |
137 Debug printf("CMediaSample_SetActualDataLength(%p, %ld) called\n", This, __MIDL_0010); | 144 Debug printf("CMediaSample_SetActualDataLength(%p, %ld) called\n", This, __MIDL_0010); |
145 | |
138 if (__MIDL_0010 > cms->size) | 146 if (__MIDL_0010 > cms->size) |
139 { | 147 { |
140 char* c = cms->own_block; | 148 char* c = cms->own_block; |
141 Debug printf(" CMediaSample - buffer overflow %ld %d %p %p\n", | 149 Debug printf("CMediaSample - buffer overflow %ld %d %p %p\n", |
142 __MIDL_0010, ((CMediaSample*)This)->size, cms->own_block, cms->block); | 150 __MIDL_0010, ((CMediaSample*)This)->size, cms->own_block, cms->block); |
143 cms->own_block = realloc(cms->own_block, __MIDL_0010); | 151 cms->own_block = (char*) realloc(cms->own_block, (size_t) __MIDL_0010 + SAFETY_ACEL); |
144 if (c == cms->block) | 152 if (c == cms->block) |
145 cms->block = cms->own_block; | 153 cms->block = cms->own_block; |
146 cms->size = __MIDL_0010; | 154 cms->size = __MIDL_0010; |
147 } | 155 } |
148 cms->actual_size = __MIDL_0010; | 156 cms->actual_size = __MIDL_0010; |
264 // using different trick for now - in DS_Audio modify sample size | 272 // using different trick for now - in DS_Audio modify sample size |
265 //if (_size < 0x1000) | 273 //if (_size < 0x1000) |
266 // _size = (_size + 0xfff) & ~0xfff; | 274 // _size = (_size + 0xfff) & ~0xfff; |
267 | 275 |
268 This->vt = (IMediaSample_vt*) malloc(sizeof(IMediaSample_vt)); | 276 This->vt = (IMediaSample_vt*) malloc(sizeof(IMediaSample_vt)); |
269 This->own_block = (char*) malloc(_size); | 277 This->own_block = (char*) malloc((size_t)_size + SAFETY_ACEL); |
270 This->media_type.pbFormat = 0; | 278 This->media_type.pbFormat = 0; |
271 | 279 |
272 if (!This->vt || !This->own_block) | 280 if (!This->vt || !This->own_block) |
273 { | 281 { |
274 CMediaSample_Destroy(This); | 282 CMediaSample_Destroy(This); |