Search
Module:
Directory

   Desktop Functions:

   Smart Device Functions:


Show Recent Changes
Subscribe (RSS)
Misc. Pages
Comments
FAQ
Helpful Tools
Playground
Suggested Reading
Website TODO List
Download Visual Studio Add-In

AVIStreamRead (avifil32)
 
.
Summary
The AVIStreamReadFormat function reads the stream format data.
Summary
TODO - a short description

C# Signature:

[DllImport("avifil32.dll")]
static extern int AVIStreamReadFormat(IntPtr pavi, int lPos, out WAVEFORMATEX lpFormat, out int lpcbFormat);

static extern int AVIStreamRead(IntPtr pavi, int lStart, int lSamples, IntPtr lpBuffer, int cbBuffer, out int plBytes, out int plSamples);

VB Signature:

  'Read the format for a Video stream
    <DllImport("avifil32.dll", entrypoint:="AVIStreamReadFormat")> _
      Public Shared Function AVIStreamReadFormat(ByVal aviStream As IntPtr,
                         ByVal lPos As Int32,
                         ByRef lpFormat As BITMAPINFOHEADER,
                         ByRef cbFormat As Int32) As Integer
    End Function

    'Read the format for a audio stream
    <DllImport("avifil32.dll")> _
    Public Shared Function AVIStreamReadFormat(ByVal aviStream As IntPtr,
                           ByVal lPos As Int32,
                           ByRef lpFormat As PCMWAVEFORMAT,
                           ByRef cbFormat As Int32) As Integer
    Public Shared Function AVIStreamRead(ByVal pavi As IntPtr,
                     ByVal lStart As Int32,
                     ByVal lSamples As Int32,
                     ByVal lpBuffer As IntPtr,
                     ByVal cbBuffer As Int32,
                     ByVal plBytes As Int32,
                     ByVal plSamples As Int32) As Int32
    End Function

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

VB Structure:

    Public Structure BITMAPINFOHEADER
    Public biSize As Int32
    Public biWidth As Int32
    Public biHeight As Int32
    Public biPlanes As Int16
    Public biBitCount As Int16
    Public biCompression As Int32
    Public biSizeImage As Int32
    Public biXPelsPerMeter As Int32
    Public biYPelsPerMeter As Int32
    Public biClrUsed As Int32
    Public biClrImportant As Int32
    End Structure

Sample Code:

Please add some!

   Public Structure PCMWAVEFORMAT
    Public wFormatTag As Short
    Public nChannels As Short
    Public nSamplesPerSec As Integer
    Public nAvgBytesPerSec As Integer
    Public nBlockAlign As Short
    Public wBitsPerSample As Short
    Public cbSize As Short
    End Structure

VB BITMAPINFOHEADER Warning

    Public Shared Function AVIStreamReadFormat2(ByVal aviStream As IntPtr, ByVal lPos As Int32, ByRef lpFormat As BITMAPINFOHEADER, ByRef cbFormat As Int32) As Integer
    Dim hr As Integer = AVIStreamReadFormat(aviStream, lPos, lpFormat, cbFormat)

    If lpFormat.biBitCount > 24 Then
        lpFormat.biBitCount = 32
    ElseIf lpFormat.biBitCount > 16 Then
        lpFormat.biBitCount = 24
    ElseIf lpFormat.biBitCount > 8 Then
        lpFormat.biBitCount = 16
    ElseIf lpFormat.biBitCount > 4 Then
        lpFormat.biBitCount = 8
    ElseIf lpFormat.biBitCount > 0 Then
        lpFormat.biBitCount = 4
    End If

    Return hr
    End Function

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Documentation
Documentation

Please edit this page!

Do you have...

  • helpful tips or sample code to share for using this API in managed code?
  • corrections to the existing content?
  • variations of the signature you want to share?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).

 
Access PInvoke.net directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version
Revisions