409{
411
414
415 TRACE(
"(%p,%ld,%ld,%p,%ld,%p,%p)\n", iface,
start,
samples,
buffer,
416 buffersize, bytesread, samplesread);
417
418
419 if (bytesread !=
NULL)
420 *bytesread = 0;
421 if (samplesread !=
NULL)
422 *samplesread = 0;
423
424
427
430 }
431
432
433 if (
This->cbInFormat ==
This->cbOutFormat &&
436 bytesread, samplesread);
437 }
438
439
441 samples = buffersize /
This->lpOutFormat->nBlockAlign;
442
443 if (
samples *
This->lpOutFormat->nBlockAlign > buffersize)
444 samples = buffersize /
This->lpOutFormat->nBlockAlign;
445
446
448 if (bytesread ==
NULL && samplesread ==
NULL)
450
451 if (bytesread !=
NULL)
452 *bytesread =
samples *
This->lpOutFormat->nBlockAlign;
453 if (samplesread !=
NULL)
455
457 }
458
459
461
462
464
465
466 if (
This->acmStreamHdr.pbDst !=
NULL) {
469 This->acmStreamHdr.dwDstUser = 0;
470 }
471
472
473 if (
This->acmStreamHdr.pbSrc ==
NULL ||
474 This->acmStreamHdr.dwSrcUser <
size) {
476 if (
This->acmStreamHdr.pbSrc ==
NULL)
478 This->acmStreamHdr.dwSrcUser =
size;
479 }
480
481 This->acmStreamHdr.cbStruct =
sizeof(
This->acmStreamHdr);
482 This->acmStreamHdr.cbSrcLengthUsed = 0;
483 This->acmStreamHdr.cbDstLengthUsed = 0;
484 This->acmStreamHdr.cbSrcLength =
size;
485
486
488 This->acmStreamHdr.cbSrcLength,
492
493
495 This->acmStreamHdr.cbDstLength = buffersize;
499 This->acmStreamHdr.cbDstLength = 0;
501 }
502 }
503
504
505
508
510 This->acmStreamHdr.cbDstLength = 0;
511
512
513 if (bytesread !=
NULL)
514 *bytesread =
This->acmStreamHdr.cbDstLengthUsed;
515 if (samplesread !=
NULL)
516 *samplesread =
517 This->acmStreamHdr.cbDstLengthUsed /
This->lpOutFormat->nBlockAlign;
518
520}
MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare)
MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
#define ACMSTREAMHEADER_STATUSF_PREPARED
#define IAVIStream_Read(p, a, b, c, d, e, f)
#define AVIERR_COMPRESSOR