ltmmMediaEventCode Constants

typedef enum ltmmMediaEventCode
{
   ltmmEC_DVD_DOMAIN_CHANGE = 0x0101, 
   ltmmEC_DVD_TITLE_CHANGE, 
   ltmmEC_DVD_CHAPTER_START, 
   ltmmEC_DVD_AUDIO_STREAM_CHANGE, 
   ltmmEC_DVD_SUBPICTURE_STREAM_CHANGE, 
   ltmmEC_DVD_ANGLE_CHANGE, 
   ltmmEC_DVD_BUTTON_CHANGE, 
   ltmmEC_DVD_VALID_UOPS_CHANGE, 
   ltmmEC_DVD_STILL_ON, 
   ltmmEC_DVD_STILL_OFF, 
   ltmmEC_DVD_CURRENT_TIME, 
   ltmmEC_DVD_ERROR, 
   ltmmEC_DVD_WARNING, 
   ltmmEC_DVD_CHAPTER_AUTOSTOP, 
   ltmmEC_DVD_NO_FP_PGC, 
   ltmmEC_DVD_PLAYBACK_RATE_CHANGE, 
   ltmmEC_DVD_PARENTAL_LEVEL_CHANGE, 
   ltmmEC_DVD_PLAYBACK_STOPPED, 
   ltmmEC_DVD_ANGLES_AVAILABLE, 
   ltmmEC_DVD_PLAYPERIOD_AUTOSTOP, 
   ltmmEC_DVD_BUTTON_AUTO_ACTIVATED, 
   ltmmEC_DVD_CMD_START, 
   ltmmEC_DVD_CMD_END, 
   ltmmEC_DVD_DISC_EJECTED, 
   ltmmEC_DVD_DISC_INSERTED, 
   ltmmEC_DVD_CURRENT_HMSF_TIME, 
   ltmmEC_DVD_KARAOKE_MODE,
  ltmmEC_LOADSTATUS = 0x0043,
  ltmmEC_BUILT = 0x300,
  ltmmEC_UNBUILT,
  ltmmEC_OLE_EVENT = 0x18,

} ltmmMediaEventCode;

The ltmmMediaEventCode constants are used for media events reporting.

Constant

Description

ltmmEC_DVD_DOMAIN_CHANGE

[0x0101] The DVD domain is changed. The new DVD domain is provided in the event parameter Param1.

ltmmEC_DVD_TITLE_CHANGE

[0x0102] The DVD current title The name for a group of related video files (called "Chapters") on your DVD. For example, for a DVD called "My Summer Vacation," you might have the titles "Water Skiing," "New Friends," and "Hiking." For each of those titles, you might have one or more different video files. number is changed. The new title number is provided in the event parameter Param1.

ltmmEC_DVD_CHAPTER_START

[0x0103] The player has started playing a new chapter The name for each individual video file on a DVD. For example, under the title "Water Skiing", you might have the chapters "My first try," "My first wreck," and "My first jump.". The new chapter number is provided in the event parameter Param1.

ltmmEC_DVD_AUDIO_STREAM_CHANGE

[0x0104] The audio stream The portion of the file holding the audio data. The audio data might be compressed to save disk space. The data has to be decompressed using an audio decompressor oftware component which decompresses audio. It must be designed to work with ACM or DirectShow . Note that different compression methods require different decompressors. There is no universal decompressor capable of decoding all compressed streams. before you can play (hear) it. number is changed for the main title. The new stream number is provided in the event parameter Param1.

ltmmEC_DVD_SUBPICTURE_STREAM_CHANGE

[0x0105] The DVD sub-picture stream number is changed. The new sub-picture stream number is provided in the event parameter Param1.

ltmmEC_DVD_ANGLE_CHANGE

[0x0106] The number of available angles is changed or the current angle number is changed. The number of available angles is provided in the event parameter Param1, while the current angle number is provided in the event parameter Param2.

ltmmEC_DVD_BUTTON_CHANGE

[0x0107] The number of available buttons is changed or the currently selected button number is changed. The number of available buttons is provided in the event parameter Param1, while the selected button number is provided in the event parameter Param2.

ltmmEC_DVD_VALID_UOPS_CHANGE

[0x0108] The available set of IltmmDvdControl interface methods is changed. The event parameter Param1 contains a combination of zero or more flags from the ltmmVALID_UOP_FLAG Enumeration that describes which commands were disabled by the disk.

ltmmEC_DVD_STILL_ON

[0x0109] Beginning of a still (PGC, Cell, or VOBU). The event parameter Param1 contains a Boolean value to indicate whether buttons are available; Zero means buttons are available and one means no buttons are available. The event parameter Param2 contains the duration of the still in seconds.

ltmmEC_DVD_STILL_OFF

[0x010A] End of a still (PGC, Cell, or VOBU).

ltmmEC_DVD_CURRENT_TIME

[0x010B] The beginning of every video object unit, a video segment that is 0.4 to 1.0 seconds in length. The event parameter Param1 contains the current playback timecode SMPTE timecode, more properly known as SMPTE time and control code, is a series of digital frame address values, flags and additional data applied to a video or audio stream, and is defined in ANSI/SMPTE 12-1986. Its purpose is to provide a machine-readable address for video and audio. These are usually measured in seconds and they measure the time elapsed from the beginning of the file. It is a term describing the number you see on the VCR while you are playing a tape. in a binary coded decimal (BCD) hours, minutes, seconds, frames (HH:MM:SS:FF) format. The event parameter Param2 contains a Boolean value to indicate the timecode. Zero (0) indicates 25 frames per second, one (1) indicates 30 frames per second, while two (2) indicates that the playback time cannot be determined.

ltmmEC_DVD_ERROR

[0x010C] A DVD error condition. The event parameter Param1 contains a value indicating the error condition, one of the ltmmDVD_Error Constants. The event parameter Param2 contains a value whose HIWORD contains the decoder Also known as a decompressor, this is a module or algorithm to decompress data. region as a reversed set of bits and whose LOWORD contains the drive/system region as a reversed set of bits.

ltmmEC_DVD_WARNING

[0x010D] A DVD warning condition. The event parameter Param1 contains a value indicating the warning condition, one of the ltmmDVD_Warning Constants. The event parameter Param2 might contain an error code returned from GetLastError.

ltmmEC_DVD_CHAPTER_AUTOSTOP

[0x010E] Playback is stopped as a result of a call to the IltmmDvdControl::PlayChaptersAutoStop method.

ltmmEC_DVD_NO_FP_PGC

[0x010F] The DVD disc does not have an FP_PGC (First Play Program Chain) and that the DVD Navigator will not automatically load any PGC and start playback.

ltmmEC_DVD_PLAYBACK_RATE_CHANGE

[0x0110] A rate change in the playback has been initiated; the parameter Param1 indicates the new playback rate being used.

ltmmEC_DVD_PARENTAL_LEVEL_CHANGE

[0x0111] The parental level of the authored content is about to change. The event parameter Param1 contains a value representing the new parental level set in the player.

ltmmEC_DVD_PLAYBACK_STOPPED

[0x0112] Playback has been stopped. The DVD Navigator has completed playback of the title or chapter and did not find any other branching instruction for subsequent playback.

ltmmEC_DVD_ANGLES_AVAILABLE

[0x0113] Indicates whether an angle block is being played and angle changes can be performed. The event parameter Param1 contains a Boolean value that indicates if an angle block is being played back, Zero (0) indicates that playback is not in an angle block and angles are not available, and One (1) indicates that an angle block is being played back and angle changes can be performed.

ltmmEC_DVD_PLAYPERIOD_AUTOSTOP

[0x0114] The Navigator has finished playing the segment specified in a call to IltmmDVDControl::PlayPeriodInTitleAutoStop.

ltmmEC_DVD_BUTTON_AUTO_ACTIVATED

[0x0115] A menu button has been automatically activated per instructions on the disc. This occurs when a menu times out and the disc has specified a button to be automatically activated. The event parameter Param1 contains a value indicating the button that was activated.

ltmmEC_DVD_CMD_START

[0x0116] A command has begun. The event parameter Param1 contains the command ID.

ltmmEC_DVD_CMD_END

[0x0117] A command has completed. The event parameter Param1 contains the command ID.

ltmmEC_DVD_DISC_EJECTED

[0x0118] A disc was ejected.

ltmmEC_DVD_DISC_INSERTED

[0x0119] A disc was inserted.

ltmmEC_DVD_CURRENT_HMSF_TIME

[0x011A] The beginning of every video object unit, a video segment that is 0.4 to 1.0 seconds in length. The current time is reported in DVD_HMSF_TIMECODE format, relative to the start of the title. The event parameter Param1 contains a ULONG value that contains the DVD_HMSF_TIMECODE structure. Assign lParam1 to a ULONG variable and then cast that variable to a DVD_HMSF_TIMECODE to access its values. The event parameter Param2 contains a combination of ltmmDVD_TIMECODE_FLAGS Constants.

ltmmEC_DVD_KARAOKE_MODE

[0x011B] The Navigator has either begun playing or finished playing karaoke data. The event parameter Param1 contains a Boolean value; TRUE means that a karaoke track is being played and FALSE means that no karaoke data is being played.

ltmmEC_LOADSTATUS = 0x0043

[0x0043] This event is sent by certain filters to provide the progress of a load operation. In particular, the LEAD MPEG-2 Transport Demultiplexer sends this when it is added to a graph. You can intercept this event notification to instruct the MPEG-2 Transport Demultiplexer which streams are considered important. You can mark certain streams as unimportant in order to speed up graph building. See the comments section below for more details.

ltmmEC_BUILT = 0x300

 [0x0300] This event is sent when a graph has been built.

ltmmEC_UNBUILT

[0x0301] This event is sent when a graph has been torn down.

ltmmEC_OLE_EVENT

[0x0018] A filter is passing an event string to the application. This is useful for detecting Windows Media Script events that were added with the IltmmWMScript interface

Comments

For more detailed information, refer to the Microsoft documentation for Event Notification Codes and DVD Event Notification Codes.

The LEAD MPEG-2 Transport Demultiplexer sends the ltmmEC_LOADSTATUS and sets lParam1 to ltmmAM_LOADSTATUS_PROGRAM_PACKET_RECEIVED (0x100) to signal that it has been added to the graph. This event is sent while the graph is being built and you have the option to instruct the demultiplexer to not wait until it receives data from streams that you don't consider important. For example, if the speed with which the graph is built is more important to you than playing the audio stream, you can instruct the demultiplexer that the audio stream is not important and that you want to start playing the graph as soon as the video stream has been identified. This can speed up playback in situations in which certain streams have packets that occur at rare intervala. By default, the demultiplexer will wait until it identifies all important streams so if the audio stream is signalled as present but the audio packets are never received, the graph might wait a long time for audio packets that will never come. If you receive ltmmEC_LOADSTATUS but lParam1 is not set to ltmmAM_LOADSTATUS_PROGRAM_PACKET_RECEIVED, then the event is not sent by the LEAD MPEG-2 Transport Demultiplexer.

See the Programming with the MPEG-2 Transport Demultiplexer topic in the filters help file for more information and for an example.