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);