' ########################################################################################
' Microsoft Windows
' File: MciAvi.inc
' Contents: Multimedia Systems Media Control Interface
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_MciAvi_PBI)
#DEFINE PBX_MciAvi_PBI
%EQUATE `MCIAVI_INC = 1
#INCLUDE ONCE "Core/Windows.inc"
'/*
'** These three flags apply to the 'play' command:
'**	play <alias> window		Play in normal window
'**	play <alias> fullscreen		Play in 320x240 full-screen mode
'**	play <alias> fullscreen by 2	Play fullscreen, zoomed by 2
'*/
%EQUATE `MCI_MCIAVI_PLAY_WINDOW = &H01000000
%EQUATE `MCI_MCIAVI_PLAY_FULLSCREEN = &H02000000
%EQUATE `MCI_MCIAVI_PLAY_FULLBY2 = &H04000000
'/*
'** Debugging constants for AVI diagnostics
'*/
'/*
'** Returns number of frames not drawn during last play. If this number
'** is more than a small fraction of the number of frames that should have
'** been displayed, things aren't looking good.
'*/
%EQUATE `MCI_AVI_STATUS_FRAMES_SKIPPED = &H00008001
'/*
'** Returns a number representing how well the last AVI play worked.
'** A result of 1000 indicates that the AVI sequence took the amount
'** of time to play that it should have; a result of 2000, for instance,
'** would indicate that a 5-second AVI sequence took 10 seconds to play,
'** implying that the audio and video were badly broken up.
'*/
%EQUATE `MCI_AVI_STATUS_LAST_PLAY_SPEED = &H00008002
'/*
'** Returns the number of times that the audio definitely broke up.
'** (We count one for every time we're about to write some audio data
'** to the driver, and we notice that it's already played all of the
'** data we have.
'*/
%EQUATE `MCI_AVI_STATUS_AUDIO_BREAKS = &H00008003
%EQUATE `MCI_AVI_SETVIDEO_DRAW_PROCEDURE = &H00008000
%EQUATE `MCI_AVI_SETVIDEO_PALETTE_COLOR = &H00008100
'/*
'** This constant specifies that the "halftone" palette should be
'** used, rather than the default palette.
'*/
%EQUATE `MCI_AVI_SETVIDEO_PALETTE_HALFTONE = &H0000FFFF
'/*
'**	Custom error return values
'*/
%EQUATE `MCIERR_AVI_OLDAVIFORMAT = %MCIERR_CUSTOM_DRIVER_BASE + 100
%EQUATE `MCIERR_AVI_NOTINTERLEAVED = %MCIERR_CUSTOM_DRIVER_BASE + 101
%EQUATE `MCIERR_AVI_NODISPDIB = %MCIERR_CUSTOM_DRIVER_BASE + 102
%EQUATE `MCIERR_AVI_CANTPLAYFULLSCREEN = %MCIERR_CUSTOM_DRIVER_BASE + 103
%EQUATE `MCIERR_AVI_TOOBIGFORVGA = %MCIERR_CUSTOM_DRIVER_BASE + 104
%EQUATE `MCIERR_AVI_NOCOMPRESSOR = %MCIERR_CUSTOM_DRIVER_BASE + 105
%EQUATE `MCIERR_AVI_DISPLAYERROR = %MCIERR_CUSTOM_DRIVER_BASE + 106
%EQUATE `MCIERR_AVI_AUDIOERROR = %MCIERR_CUSTOM_DRIVER_BASE + 107
%EQUATE `MCIERR_AVI_BADPALETTE = %MCIERR_CUSTOM_DRIVER_BASE + 108
#ENDIF
