Changeset 6712 for trunk/src/avifil32/api.c
- Timestamp:
- Sep 15, 2001, 11:47:44 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/avifil32/api.c
r6644 r6712 1 /* $Id: api.c,v 1.2 2001-09-05 12:00:53 bird Exp $ 2 * 1 /* 3 2 * Copyright 1999 Marcus Meissner 4 3 * Copyright 2001 Hidenori TAKESHIMA <hidenori@a2.ctktv.ne.jp> … … 23 22 24 23 /*********************************************************************** 25 * 26 * 24 * AVIFileInit (AVIFILE.100) 25 * AVIFileInit (AVIFIL32.@) 27 26 */ 28 27 void WINAPI AVIFileInit(void) 29 28 { 30 31 32 33 34 35 36 37 38 39 } 40 41 /*********************************************************************** 42 * 43 * 29 TRACE("()\n"); 30 if ( AVIFILE_data.dwAVIFileRef == 0 ) 31 { 32 if ( FAILED(CoInitialize(NULL)) ) 33 AVIFILE_data.fInitCOM = FALSE; 34 else 35 AVIFILE_data.fInitCOM = TRUE; 36 } 37 AVIFILE_data.dwAVIFileRef ++; 38 } 39 40 /*********************************************************************** 41 * AVIFileExit (AVIFILE.101) 42 * AVIFileExit (AVIFIL32.@) 44 43 */ 45 44 void WINAPI AVIFileExit(void) 46 45 { 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 } 64 65 /*********************************************************************** 66 * 46 TRACE("()\n"); 47 if ( AVIFILE_data.dwAVIFileRef == 0 ) 48 { 49 ERR( "unexpected AVIFileExit()\n" ); 50 return; 51 } 52 53 AVIFILE_data.dwAVIFileRef --; 54 if ( AVIFILE_data.dwAVIFileRef == 0 ) 55 { 56 if ( AVIFILE_data.fInitCOM ) 57 { 58 CoUninitialize(); 59 AVIFILE_data.fInitCOM = FALSE; 60 } 61 } 62 } 63 64 /*********************************************************************** 65 * AVIFileAddRef (AVIFIL32.@) 67 66 */ 68 67 ULONG WINAPI AVIFileAddRef(PAVIFILE pfile) 69 68 { 70 71 } 72 73 /*********************************************************************** 74 * 75 * 69 return IAVIFile_AddRef( pfile ); 70 } 71 72 /*********************************************************************** 73 * AVIFileRelease (AVIFILE.141) 74 * AVIFileRelease (AVIFIL32.@) 76 75 */ 77 76 ULONG WINAPI AVIFileRelease(PAVIFILE pfile) 78 77 { 79 80 } 81 82 /*********************************************************************** 83 * 84 * 78 return IAVIFile_Release( pfile ); 79 } 80 81 /*********************************************************************** 82 * AVIFileOpen (AVIFILE.102) 83 * AVIFileOpenA (AVIFIL32.@) 85 84 */ 86 85 HRESULT WINAPI AVIFileOpenA( 87 88 { 89 WCHAR*pwsz;90 HRESULThr;91 92 93 94 95 96 97 98 99 } 100 101 /*********************************************************************** 102 * 86 PAVIFILE* ppfile,LPCSTR szFile,UINT uMode,LPCLSID lpHandler ) 87 { 88 WCHAR* pwsz; 89 HRESULT hr; 90 91 TRACE("(%p,%p,%u,%p)\n",ppfile,szFile,uMode,lpHandler); 92 pwsz = AVIFILE_strdupAtoW( szFile ); 93 if ( pwsz == NULL ) 94 return AVIERR_MEMORY; 95 hr = AVIFileOpenW(ppfile,pwsz,uMode,lpHandler); 96 HeapFree( AVIFILE_data.hHeap, 0, pwsz ); 97 return hr; 98 } 99 100 /*********************************************************************** 101 * AVIFileOpenW (AVIFIL32.@) 103 102 */ 104 103 HRESULT WINAPI AVIFileOpenW( 105 106 { 107 HRESULThr;108 IClassFactory*pcf;109 CLSIDclsRIFF;110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 } 152 153 /*********************************************************************** 154 * 104 PAVIFILE* ppfile,LPCWSTR szFile,UINT uMode,LPCLSID lpHandler ) 105 { 106 HRESULT hr; 107 IClassFactory* pcf; 108 CLSID clsRIFF; 109 110 TRACE("(%p,%p,%u,%p)\n",ppfile,szFile,uMode,lpHandler); 111 *ppfile = (PAVIFILE)NULL; 112 113 if ( lpHandler == NULL ) 114 { 115 /* FIXME - check RIFF type and get a handler from registry 116 * if IAVIFile::Open is worked... 117 */ 118 memcpy( &clsRIFF, &CLSID_AVIFile, sizeof(CLSID) ); 119 lpHandler = &clsRIFF; 120 } 121 122 /* 123 * FIXME - MS says IAVIFile::Open will be called, 124 * but no such method in vfw.h... why???? 125 */ 126 if ( !IsEqualGUID( lpHandler, &CLSID_AVIFile ) ) 127 return REGDB_E_CLASSNOTREG; 128 129 hr = AVIFILE_DllGetClassObject(&CLSID_AVIFile, 130 &IID_IClassFactory,(void**)&pcf); 131 if ( hr != S_OK ) 132 return hr; 133 134 hr = IClassFactory_CreateInstance( pcf, NULL, &IID_IAVIFile, 135 (void**)ppfile ); 136 IClassFactory_Release( pcf ); 137 138 if ( hr == S_OK ) 139 { 140 /* FIXME??? */ 141 hr = AVIFILE_IAVIFile_Open( *ppfile, szFile, uMode ); 142 if ( hr != S_OK ) 143 { 144 IAVIFile_Release( (*ppfile) ); 145 *ppfile = NULL; 146 } 147 } 148 149 return hr; 150 } 151 152 /*********************************************************************** 153 * AVIFileInfoW (AVIFIL32.@) 155 154 */ 156 155 HRESULT WINAPI AVIFileInfoW(PAVIFILE pfile,AVIFILEINFOW* pfi,LONG lSize) 157 156 { 158 159 } 160 161 /*********************************************************************** 162 * 163 * 157 return IAVIFile_Info( pfile, pfi, lSize ); 158 } 159 160 /*********************************************************************** 161 * AVIFileInfo (AVIFIL32.@) 162 * AVIFileInfoA (AVIFIL32.@) 164 163 */ 165 164 HRESULT WINAPI AVIFileInfoA(PAVIFILE pfile,AVIFILEINFOA* pfi,LONG lSize) 166 165 { 167 AVIFILEINFOWfiw;168 HRESULThr;169 170 171 172 173 174 175 176 177 178 179 180 181 } 182 183 /*********************************************************************** 184 * 185 * 166 AVIFILEINFOW fiw; 167 HRESULT hr; 168 169 if ( lSize < sizeof(AVIFILEINFOA) ) 170 return AVIERR_BADSIZE; 171 hr = AVIFileInfoW( pfile, &fiw, sizeof(AVIFILEINFOW) ); 172 if ( hr != S_OK ) 173 return hr; 174 memcpy( pfi,&fiw,sizeof(AVIFILEINFOA) ); 175 AVIFILE_strncpyWtoA( pfi->szFileType, fiw.szFileType, 176 sizeof(pfi->szFileType) ); 177 pfi->szFileType[sizeof(pfi->szFileType)-1] = 0; 178 179 return S_OK; 180 } 181 182 /*********************************************************************** 183 * AVIFileGetStream (AVIFILE.143) 184 * AVIFileGetStream (AVIFIL32.@) 186 185 */ 187 186 HRESULT WINAPI AVIFileGetStream(PAVIFILE pfile,PAVISTREAM* pas,DWORD fccType,LONG lParam) 188 187 { 189 190 } 191 192 /*********************************************************************** 193 * 188 return IAVIFile_GetStream(pfile,pas,fccType,lParam); 189 } 190 191 /*********************************************************************** 192 * AVIFileCreateStreamW (AVIFIL32.@) 194 193 */ 195 194 HRESULT WINAPI AVIFileCreateStreamW(PAVIFILE pfile,PAVISTREAM* ppas,AVISTREAMINFOW* pasi) 196 195 { 197 198 } 199 200 /*********************************************************************** 201 * 196 return IAVIFile_CreateStream(pfile,ppas,pasi); 197 } 198 199 /*********************************************************************** 200 * AVIFileCreateStreamA (AVIFIL32.@) 202 201 */ 203 202 HRESULT WINAPI AVIFileCreateStreamA(PAVIFILE pfile,PAVISTREAM* ppas,AVISTREAMINFOA* pasi) 204 203 { 205 AVISTREAMINFOWsiw;206 HRESULThr;207 208 209 210 211 212 213 214 215 216 } 217 218 /*********************************************************************** 219 * 204 AVISTREAMINFOW siw; 205 HRESULT hr; 206 207 memcpy( &siw,pasi,sizeof(AVISTREAMINFOA) ); 208 AVIFILE_strncpyAtoW( siw.szName, pasi->szName, 209 sizeof(siw.szName)/sizeof(siw.szName[0]) ); 210 siw.szName[sizeof(siw.szName)/sizeof(siw.szName[0])-1] = 0; 211 212 hr = AVIFileCreateStreamW(pfile,ppas,&siw); 213 214 return hr; 215 } 216 217 /*********************************************************************** 218 * AVIFileWriteData (AVIFIL32.@) 220 219 */ 221 220 HRESULT WINAPI AVIFileWriteData( 222 223 { 224 225 } 226 227 /*********************************************************************** 228 * 221 PAVIFILE pfile,DWORD dwChunkId,LPVOID lpvData,LONG cbData ) 222 { 223 return IAVIFile_WriteData( pfile,dwChunkId,lpvData,cbData ); 224 } 225 226 /*********************************************************************** 227 * AVIFileReadData (AVIFIL32.@) 229 228 */ 230 229 HRESULT WINAPI AVIFileReadData( 231 232 { 233 234 } 235 236 /*********************************************************************** 237 * 230 PAVIFILE pfile,DWORD dwChunkId,LPVOID lpvData,LPLONG pcbData ) 231 { 232 return IAVIFile_ReadData( pfile,dwChunkId,lpvData,pcbData ); 233 } 234 235 /*********************************************************************** 236 * AVIFileEndRecord (AVIFIL32.@) 238 237 */ 239 238 HRESULT WINAPI AVIFileEndRecord( PAVIFILE pfile ) 240 239 { 241 242 } 243 244 /*********************************************************************** 245 * 240 return IAVIFile_EndRecord( pfile ); 241 } 242 243 /*********************************************************************** 244 * AVIStreamAddRef (AVIFIL32.@) 246 245 */ 247 246 ULONG WINAPI AVIStreamAddRef(PAVISTREAM pas) 248 247 { 249 250 } 251 252 /*********************************************************************** 253 * 248 return IAVIStream_Release(pas); 249 } 250 251 /*********************************************************************** 252 * AVIStreamRelease (AVIFIL32.@) 254 253 */ 255 254 ULONG WINAPI AVIStreamRelease(PAVISTREAM pas) 256 255 { 257 258 } 259 260 /*********************************************************************** 261 * 256 return IAVIStream_Release(pas); 257 } 258 259 /*********************************************************************** 260 * AVIStreamInfoW (AVIFIL32.@) 262 261 */ 263 262 HRESULT WINAPI AVIStreamInfoW(PAVISTREAM pas,AVISTREAMINFOW* psi,LONG lSize) 264 263 { 265 266 } 267 268 /*********************************************************************** 269 * 270 * 264 return IAVIStream_Info(pas,psi,lSize); 265 } 266 267 /*********************************************************************** 268 * AVIStreamInfo (AVIFIL32.@) 269 * AVIStreamInfoA (AVIFIL32.@) 271 270 */ 272 271 HRESULT WINAPI AVIStreamInfoA(PAVISTREAM pas,AVISTREAMINFOA* psi,LONG lSize) 273 272 { 274 AVISTREAMINFOWsiw;275 HRESULThr;276 277 278 279 280 281 282 283 284 285 286 287 } 288 289 /*********************************************************************** 290 * 273 AVISTREAMINFOW siw; 274 HRESULT hr; 275 276 if (lSize < sizeof(AVISTREAMINFOA)) 277 return AVIERR_BADSIZE; 278 hr = AVIStreamInfoW(pas,&siw,sizeof(AVISTREAMINFOW)); 279 if ( hr != S_OK ) 280 return hr; 281 memcpy( psi,&siw,sizeof(AVIFILEINFOA) ); 282 AVIFILE_strncpyWtoA( psi->szName, siw.szName, sizeof(psi->szName) ); 283 psi->szName[sizeof(psi->szName)-1] = 0; 284 285 return hr; 286 } 287 288 /*********************************************************************** 289 * AVIStreamFindSample (AVIFIL32.@) 291 290 */ 292 291 LONG WINAPI AVIStreamFindSample(PAVISTREAM pas,LONG lPos,LONG lFlags) 293 292 { 294 295 } 296 297 /*********************************************************************** 298 * 293 return IAVIStream_FindSample(pas,lPos,lFlags); 294 } 295 296 /*********************************************************************** 297 * AVIStreamReadFormat (AVIFIL32.@) 299 298 */ 300 299 HRESULT WINAPI AVIStreamReadFormat(PAVISTREAM pas,LONG pos,LPVOID format,LONG *formatsize) { 301 302 } 303 304 /*********************************************************************** 305 * 300 return IAVIStream_ReadFormat(pas,pos,format,formatsize); 301 } 302 303 /*********************************************************************** 304 * AVIStreamSetFormat (AVIFIL32.@) 306 305 */ 307 306 HRESULT WINAPI AVIStreamSetFormat(PAVISTREAM pas,LONG pos,LPVOID format,LONG formatsize) { 308 309 } 310 311 /*********************************************************************** 312 * 307 return IAVIStream_SetFormat(pas,pos,format,formatsize); 308 } 309 310 /*********************************************************************** 311 * AVIStreamReadData (AVIFIL32.@) 313 312 */ 314 313 HRESULT WINAPI AVIStreamReadData(PAVISTREAM pas,DWORD fcc,LPVOID lp,LONG *lpread) { 315 316 } 317 318 /*********************************************************************** 319 * 314 return IAVIStream_ReadData(pas,fcc,lp,lpread); 315 } 316 317 /*********************************************************************** 318 * AVIStreamWriteData (AVIFIL32.@) 320 319 */ 321 320 HRESULT WINAPI AVIStreamWriteData(PAVISTREAM pas,DWORD fcc,LPVOID lp,LONG size) { 322 323 } 324 325 /*********************************************************************** 326 * 321 return IAVIStream_WriteData(pas,fcc,lp,size); 322 } 323 324 /*********************************************************************** 325 * AVIStreamRead (AVIFIL32.@) 327 326 */ 328 327 HRESULT WINAPI AVIStreamRead(PAVISTREAM pas,LONG start,LONG samples,LPVOID buffer,LONG buffersize,LONG *bytesread,LONG *samplesread) 329 328 { 330 331 } 332 333 /*********************************************************************** 334 * 329 return IAVIStream_Read(pas,start,samples,buffer,buffersize,bytesread,samplesread); 330 } 331 332 /*********************************************************************** 333 * AVIStreamWrite (AVIFIL32.@) 335 334 */ 336 335 HRESULT WINAPI AVIStreamWrite(PAVISTREAM pas,LONG start,LONG samples,LPVOID buffer,LONG buffersize,DWORD flags,LONG *sampwritten,LONG *byteswritten) { 337 338 } 339 340 341 /*********************************************************************** 342 * 336 return IAVIStream_Write(pas,start,samples,buffer,buffersize,flags,sampwritten,byteswritten); 337 } 338 339 340 /*********************************************************************** 341 * AVIStreamStart (AVIFIL32.@) 343 342 */ 344 343 LONG WINAPI AVIStreamStart(PAVISTREAM pas) 345 344 { 346 AVISTREAMINFOWsi;347 HRESULThr;348 349 350 351 352 353 } 354 355 /*********************************************************************** 356 * 345 AVISTREAMINFOW si; 346 HRESULT hr; 347 348 hr = IAVIStream_Info(pas,&si,sizeof(si)); 349 if (hr != S_OK) 350 return -1; 351 return (LONG)si.dwStart; 352 } 353 354 /*********************************************************************** 355 * AVIStreamLength (AVIFIL32.@) 357 356 */ 358 357 LONG WINAPI AVIStreamLength(PAVISTREAM pas) 359 358 { 360 AVISTREAMINFOWsi;361 HRESULThr;362 363 364 365 366 367 } 368 369 /*********************************************************************** 370 * 359 AVISTREAMINFOW si; 360 HRESULT hr; 361 362 hr = IAVIStream_Info(pas,&si,sizeof(si)); 363 if (hr != S_OK) 364 return -1; 365 return (LONG)si.dwLength; 366 } 367 368 /*********************************************************************** 369 * AVIStreamTimeToSample (AVIFIL32.@) 371 370 */ 372 371 LONG WINAPI AVIStreamTimeToSample(PAVISTREAM pas,LONG lTime) 373 372 { 374 AVISTREAMINFOWsi;375 HRESULThr;376 377 378 379 380 381 382 383 384 } 385 386 /*********************************************************************** 387 * 373 AVISTREAMINFOW si; 374 HRESULT hr; 375 376 hr = IAVIStream_Info(pas,&si,sizeof(si)); 377 if (hr != S_OK) 378 return -1; 379 380 /* I am too lazy... */ 381 FIXME("(%p,%ld)",pas,lTime); 382 return (LONG)-1L; 383 } 384 385 /*********************************************************************** 386 * AVIStreamSampleToTime (AVIFIL32.@) 388 387 */ 389 388 LONG WINAPI AVIStreamSampleToTime(PAVISTREAM pas,LONG lSample) 390 389 { 391 AVISTREAMINFOWsi;392 HRESULThr;393 394 395 396 397 398 399 400 401 } 402 403 /*********************************************************************** 404 * 390 AVISTREAMINFOW si; 391 HRESULT hr; 392 393 hr = IAVIStream_Info(pas,&si,sizeof(si)); 394 if (hr != S_OK) 395 return -1; 396 397 /* I am too lazy... */ 398 FIXME("(%p,%ld)",pas,lSample); 399 return (LONG)-1L; 400 } 401 402 /*********************************************************************** 403 * AVIStreamBeginStreaming (AVIFIL32.@) 405 404 */ 406 405 HRESULT WINAPI AVIStreamBeginStreaming(PAVISTREAM pas,LONG lStart,LONG lEnd,LONG lRate) 407 406 { 408 409 410 } 411 412 /*********************************************************************** 413 * 407 FIXME("(%p)->(%ld,%ld,%ld),stub!\n",pas,lStart,lEnd,lRate); 408 return E_FAIL; 409 } 410 411 /*********************************************************************** 412 * AVIStreamEndStreaming (AVIFIL32.@) 414 413 */ 415 414 HRESULT WINAPI AVIStreamEndStreaming(PAVISTREAM pas) 416 415 { 417 418 419 } 420 421 /*********************************************************************** 422 * 416 FIXME("(%p)->(),stub!\n",pas); 417 return E_FAIL; 418 } 419 420 /*********************************************************************** 421 * AVIStreamGetFrameOpen (AVIFIL32.@) 423 422 */ 424 423 PGETFRAME WINAPI AVIStreamGetFrameOpen(PAVISTREAM pas,LPBITMAPINFOHEADER pbi) 425 424 { 426 IGetFrame*pgf;427 HRESULThr;428 AVISTREAMINFOWsi;429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 } 448 449 /*********************************************************************** 450 * 425 IGetFrame* pgf; 426 HRESULT hr; 427 AVISTREAMINFOW si; 428 429 FIXME("(%p,%p)\n",pas,pbi); 430 431 hr = IAVIStream_Info(pas,&si,sizeof(si)); 432 if (hr != S_OK) 433 return NULL; 434 435 hr = AVIFILE_CreateIGetFrame((void**)&pgf,pas,pbi); 436 if ( hr != S_OK ) 437 return NULL; 438 hr = IGetFrame_Begin( pgf, si.dwStart, si.dwLength, 1000 ); 439 if ( hr != S_OK ) 440 { 441 IGetFrame_Release( pgf ); 442 return NULL; 443 } 444 445 return pgf; 446 } 447 448 /*********************************************************************** 449 * AVIStreamGetFrame (AVIFIL32.@) 451 450 */ 452 451 LPVOID WINAPI AVIStreamGetFrame(PGETFRAME pgf, LONG lPos) 453 452 { 454 455 } 456 457 /*********************************************************************** 458 * 453 return IGetFrame_GetFrame(pgf,lPos); 454 } 455 456 /*********************************************************************** 457 * AVIStreamGetFrameClose (AVIFIL32.@) 459 458 */ 460 459 HRESULT WINAPI AVIStreamGetFrameClose(PGETFRAME pgf) 461 460 { 462 463 } 464 465 /*********************************************************************** 466 * 461 return IGetFrame_End(pgf); 462 } 463 464 /*********************************************************************** 465 * AVIStreamOpenFromFileA (AVIFIL32.@) 467 466 */ 468 467 HRESULT WINAPI AVIStreamOpenFromFileA(PAVISTREAM* ppas, LPCSTR szFile, DWORD fccType, LONG lParam, UINT uMode, CLSID* lpHandler) 469 468 { 470 WCHAR*pwsz;471 HRESULThr;472 473 474 475 476 477 478 479 } 480 481 /*********************************************************************** 482 * 469 WCHAR* pwsz; 470 HRESULT hr; 471 472 pwsz = AVIFILE_strdupAtoW( szFile ); 473 if ( pwsz == NULL ) 474 return AVIERR_MEMORY; 475 hr = AVIStreamOpenFromFileW(ppas,pwsz,fccType,lParam,uMode,lpHandler); 476 HeapFree( AVIFILE_data.hHeap, 0, pwsz ); 477 return hr; 478 } 479 480 /*********************************************************************** 481 * AVIStreamOpenFromFileW (AVIFIL32.@) 483 482 */ 484 483 HRESULT WINAPI AVIStreamOpenFromFileW(PAVISTREAM* ppas, LPCWSTR szFile, DWORD fccType, LONG lParam, UINT uMode, CLSID* lpHandler) 485 484 { 486 HRESULThr;487 PAVIFILEpaf;488 AVIFILEINFOWfi;489 490 491 492 493 494 495 496 497 498 499 500 501 } 502 503 /*********************************************************************** 504 * 485 HRESULT hr; 486 PAVIFILE paf; 487 AVIFILEINFOW fi; 488 489 *ppas = NULL; 490 hr = AVIFileOpenW(&paf,szFile,uMode,lpHandler); 491 if ( hr != S_OK ) 492 return hr; 493 hr = AVIFileInfoW(paf,&fi,sizeof(AVIFILEINFOW)); 494 if ( hr == S_OK ) 495 hr = AVIFileGetStream(paf,ppas,fccType,lParam); 496 497 IAVIFile_Release(paf); 498 499 return hr; 500 } 501 502 /*********************************************************************** 503 * AVIStreamCreate (AVIFIL32.@) 505 504 */ 506 505 HRESULT WINAPI AVIStreamCreate(PAVISTREAM* ppas, LONG lParam1, LONG lParam2, CLSID* lpHandler) 507 506 { 508 HRESULThr;509 IClassFactory*pcf;510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 } 544 545 /*********************************************************************** 546 * 507 HRESULT hr; 508 IClassFactory* pcf; 509 510 *ppas = NULL; 511 512 if ( lpHandler == NULL ) 513 { 514 hr = AVIFILE_DllGetClassObject(&CLSID_AVIFile, 515 &IID_IClassFactory,(void**)&pcf); 516 } 517 else 518 { 519 if ( !AVIFILE_data.fInitCOM ) 520 return E_UNEXPECTED; 521 hr = CoGetClassObject(lpHandler,CLSCTX_INPROC_SERVER, 522 NULL,&IID_IClassFactory,(void**)&pcf); 523 } 524 if ( hr != S_OK ) 525 return hr; 526 527 hr = IClassFactory_CreateInstance( pcf, NULL, &IID_IAVIStream, 528 (void**)ppas ); 529 IClassFactory_Release( pcf ); 530 531 if ( hr == S_OK ) 532 { 533 hr = IAVIStream_Create((*ppas),lParam1,lParam2); 534 if ( hr != S_OK ) 535 { 536 IAVIStream_Release((*ppas)); 537 *ppas = NULL; 538 } 539 } 540 541 return hr; 542 } 543 544 /*********************************************************************** 545 * AVIMakeCompressedStream (AVIFIL32.@) 547 546 */ 548 547 HRESULT WINAPI AVIMakeCompressedStream(PAVISTREAM *ppsCompressed,PAVISTREAM ppsSource,AVICOMPRESSOPTIONS *aco,CLSID *pclsidHandler) 549 548 { 550 551 552 } 553 549 FIXME("(%p,%p,%p,%p)\n",ppsCompressed,ppsSource,aco,pclsidHandler); 550 return E_FAIL; 551 } 552
Note:
See TracChangeset
for help on using the changeset viewer.