409{
411
414
415 TRACE(
"(%p,%d,%d,%p,%d,%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) {
475 if (
This->acmStreamHdr.pbSrc ==
NULL)
477 else
479 if (
This->acmStreamHdr.pbSrc ==
NULL)
481 This->acmStreamHdr.dwSrcUser =
size;
482 }
483
484 This->acmStreamHdr.cbStruct =
sizeof(
This->acmStreamHdr);
485 This->acmStreamHdr.cbSrcLengthUsed = 0;
486 This->acmStreamHdr.cbDstLengthUsed = 0;
487 This->acmStreamHdr.cbSrcLength =
size;
488
489
491 This->acmStreamHdr.cbSrcLength,
495
496
498 This->acmStreamHdr.cbDstLength = buffersize;
502 This->acmStreamHdr.cbDstLength = 0;
504 }
505 }
506
507
508
511
513 This->acmStreamHdr.cbDstLength = 0;
514
515
516 if (bytesread !=
NULL)
517 *bytesread =
This->acmStreamHdr.cbDstLengthUsed;
518 if (samplesread !=
NULL)
519 *samplesread =
520 This->acmStreamHdr.cbDstLengthUsed /
This->lpOutFormat->nBlockAlign;
521
523}
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
#define HeapFree(x, y, z)
MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwPrepare)
MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash, DWORD fdwConvert)
#define ACMSTREAMHEADER_STATUSF_PREPARED
#define IAVIStream_Read(p, a, b, c, d, e, f)
#define AVIERR_COMPRESSOR