Leadtools.Multimedia Namespace : MediaEventCode Enumeration |
public enum MediaEventCode : System.Enum, System.IComparable, System.IConvertible, System.IFormattable
'Declaration Public Enum MediaEventCode Inherits System.Enum Implements System.IComparable, System.IConvertible, System.IFormattable
'Usage Dim instance As MediaEventCode
public enum MediaEventCode : System.IComparable, System.IConvertible, System.IFormattable
Leadtools.Multimedia.MediaEventCode = function() { }; Leadtools.Multimedia.MediaEventCode.prototype = {
LeadtoolsMemberMarker(replace me) };
public enum class MediaEventCode : public System.Enum, System.IComparable, System.IConvertible, System.IFormattable
Member | Description |
---|---|
EC_ACTIVATE | Indicates that a video renderer has lost or gained activation. |
EC_BANDWIDTHCHANGE | Indicates that the bandwidth of the streaming data has changed. |
EC_BUFFERING_DATA | Indicates that the filtergraph is buffering data. |
EC_BUILT | This event is sent when a graph has been built. |
EC_CLOCK_CHANGED | Indicates that the clock has changed. |
EC_CLOCK_UNSET | Indicates to the filter graph to unset the current graph clock. |
EC_CODECAPI_EVENT | Indicates that the Codec API event was encountered. |
EC_COMPLETE | Indicates the completed playback of a stream within the graph. |
EC_CONTENTPROPERTY_CHANGED | Indicates that a streaming media filter received a change in stream description information. |
EC_DEVICE_LOST | Indicates that a device has been lost, see IAMDeviceRemoval interface for more information. |
EC_DISPLAY_CHANGED | Indicates that a video renderer has detected a display change. |
EC_DVD_ANGLE_CHANGE | The number of available angles is changed or the current angle number is changed. |
EC_DVD_ANGLES_AVAILABLE | Indicates whether an angle block is being played and angle changes can be performed. |
EC_DVD_AUDIO_STREAM_CHANGE | The audio stream The portion of the file holding the audio data. |
EC_DVD_BUTTON_AUTO_ACTIVATED | A menu button has been automatically activated per instructions on the disc. |
EC_DVD_BUTTON_CHANGE | The number of available buttons is changed or the currently selected button number is changed. |
EC_DVD_CHAPTER_AUTOSTOP | Playback is stopped as a result of a call to the DVDControl. |
EC_DVD_CHAPTER_START | The player has started playing a new chapter The name for each individual video file on a DVD. |
EC_DVD_CMD_END | A command has completed. |
EC_DVD_CMD_START | A command has begun. |
EC_DVD_CURRENT_HMSF_TIME | The beginning of every video object unit, a video segment that is 0. |
EC_DVD_CURRENT_TIME | The beginning of every video object unit, a video segment that is 0. |
EC_DVD_DISC_EJECTED | A disc was ejected. |
EC_DVD_DISC_INSERTED | A disc was inserted. |
EC_DVD_DOMAIN_CHANGE | The DVD domain is changed. |
EC_DVD_ERROR | A DVD error condition. |
EC_DVD_KARAOKE_MODE | The Navigator has either begun playing or finished playing karaoke data. |
EC_DVD_NO_FP_PGC | The DVD disc does not have an FP_PGC (First Play Program Chain) and the DVD Navigator will not automatically load any PGC and start playback. |
EC_DVD_PARENTAL_LEVEL_CHANGE | The parental level of the authored content is about to change. |
EC_DVD_PLAYBACK_RATE_CHANGE | A rate change in the playback has been initiated; the parameter Param1 indicates the new playback rate being used. |
EC_DVD_PLAYBACK_STOPPED | Playback has been stopped. See DVDPlaybackStopped enumeration for possible stop reason codes passed in param1 of the MediaEventArgs object. |
EC_DVD_PLAYPERIOD_AUTOSTOP | The Navigator has finished playing the segment specified in a call to DVDControl. |
EC_DVD_STILL_OFF | End of a still (PGC, Cell, or VOBU). |
EC_DVD_STILL_ON | Beginning of a still (PGC, Cell, or VOBU). |
EC_DVD_SUBPICTURE_STREAM_CHANGE | The DVD sub-picture stream number has changed. |
EC_DVD_TITLE_CHANGE | The DVD current title has changed. |
EC_DVD_VALID_UOPS_CHANGE | The available set of DVDControl interface methods has changed. |
EC_DVD_WARNING | A DVD warning condition. |
EC_END_OF_SEGMENT | Indicates that a segment end has been reached. |
EC_EOS_SOON | Indicates that the source filter is about to deliver an EOS downstream. |
EC_ERROR_STILLPLAYING | Indicates that an asynchronous run command was sent to the graph when the graph was already running. |
EC_ERRORABORT | Operation aborted because of error. |
EC_ERRORABORTEX | Indicates that an operation aborted because of error. |
EC_EXTDEVICE_MODE_CHANGE | Indicates that a filter supporting the IAMExtDevice interface has detected a device mode change. |
EC_FILE_CLOSED | Indicates that a file was involuntarily closed, i.e. by a network server shutdown. |
EC_FULLSCREEN_LOST | Indicates that full screen mode was toggled off. |
EC_GRAPH_CHANGED | Indicates that the filter graph has changed. |
EC_LENGTH_CHANGED | Indicates that the length of the "file" has changed. |
EC_LOADSTATUS | This event is sent by certain filters to indicate the progress of a load operation. In particular, the LEAD MPEG-2 Transport Demultiplexer sends this when it is added to a graph. Intercept this event notification to instruct the MPEG-2 Transport Demultiplexer which streams to consider to be important. You can mark certain streams as unimportant in order to speed up graph building. See the comments section below for more details. |
EC_MARKER_HIT | Indicates that the specified "marker #" has just been passed. |
EC_NEED_RESTART | Indicates that a renderer has regained a resource and the graph will be restarted. |
EC_NOTIFY_WINDOW | Indicates that the window handle is being passed to a filter. |
EC_OLE_EVENT | Indicates that the filter is sending a text string to the application. This is useful for detecting Windows Media Script events that were added with the WMScript object. For Windows Media Script events, param1 is a BSTR containing the command name while param2 is a BSTR containing the command string. |
EC_OPENING_FILE | Indicates that a file is being opened. |
EC_PALETTE_CHANGED | Indicates that the video palette has changed. |
EC_PAUSED | Indicates that the previous pause request has completed. |
EC_PLEASE_REOPEN | Indicates that changes have been made that require a graph to be re-rendered. |
EC_PREPROCESS_COMPLETE | Indicates that a WM ASF writer filter (WMSDK V9 version) has signaled the completion of a pre-process run when running in multipass encoding mode. |
EC_PROCESSING_LATENCY | Indicates the current latency (processing time) for the related filter. |
EC_QUALITY_CHANGE | Indicates that playback quality degradation has occurred. |
EC_REPAINT | Indicates that a repaint is required. |
EC_SAMPLE_LATENCY | Indicates that the filter is the specified amount of time behind or ahead in processing incoming samples. |
EC_SAMPLE_NEEDED | Indicates that a sample is needed on the specified input pin. |
EC_SCRUB_TIME | Indicates the timestamp for the sample frame displayed after an EC_STEP_COMPLETE notification. |
EC_SEGMENT_STARTED | Indicates that a segment start has been reached. |
EC_SHUTTING_DOWN | Notifies IMediaEventSink filters that the filter graph is preparing to shutdown. |
EC_SKIP_FRAMES | Indicates to the filter graph to skip some frames and notify. |
EC_STARVATION | Indicates that a filter in the graph has detected starvation (not enough data to properly render). |
EC_STATE_CHANGE | Indicates state changes in the filter graph. |
EC_STATUS | Indicates that a filter is sending status message strings. |
EC_STEP_COMPLETE | Indicates that a step request has completed or was cancelled. |
EC_STREAM_CONTROL_STARTED | Indicates that an earlier call to IAMStreamControl.StartAt has now taken effect. |
EC_STREAM_CONTROL_STOPPED | Indicates that an earlier call to IAMStreamControl.StopAt has now taken effect. |
EC_STREAM_ERROR_STILLPLAYING | Indicates that a stream error occurred, but playback has continued. |
EC_STREAM_ERROR_STOPPED | Indicates that a stream error occurs that stopped playback. |
EC_TIME | Indicates that the requested reference time occurred. (currently unused) |
EC_TIMECODE_AVAILABLE | Indicates that a filter has timecodes available. |
EC_UNBUILT | This event is sent when a graph has been torn down. |
EC_USERABORT | Indicates that the user has requested that playback be terminated. |
EC_VIDEO_SIZE_CHANGED | Indicates that the video size has changed. |
EC_VIDEOFRAMEREADY | Indicates that the first video frame is about to be drawn. |
EC_VMR_RECONNECTION_FAILED | Indicates that an upstream decoder tried to perform a dynamic format change and the VMR was unable to accept the new format. |
EC_VMR_RENDERDEVICE_SET | Indicates the type of rendering mechanism the VMR is using to display video. |
EC_VMR_SURFACE_FLIPPED | Indicates that the VMR's allocator-presenter has called the DDraw flip api on the surface being presented. |
EC_WINDOW_DESTROYED | Indicates that a video window for a video renderer has been destroyed. |
EC_WMT_EVENT | Indicates that a Windows Media event has occurred. |
EC_WMT_INDEX_EVENT | Indicates that Windows Media indexing event has occurred. |
For more information, refer to the Microsoft documentation for the Event Notification and DVD Event Notification Codes.
The LEAD MPEG-2 Transport Demultiplexer sends the EC_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 the playback in situations in which certain streams have packets that occur at rare intervals. By default, the demultiplexer will wait until it identifies all important streams so if the audio stream is signaled 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 EC_LOADSTATUS but lParam1 is not set to AM_LOADSTATUS_PROGRAM_PACKET_RECEIVED, then the event was not sent by the LEAD MPEG-2 Transport Demultiplexer.
Public _result As Boolean = False Public _form As PlayCtrlForm = New PlayCtrlForm() Public Sub SourceStreamExample() ' reference the play control Dim playctrl As PlayCtrl = _form.PlayCtrl ' input and output file names Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "PlayCtrl_Source.avi") Try ' turn off auto start playctrl.AutoStart = False ' subscribe to the complete event to check our result AddHandler playctrl.MediaEvent, AddressOf PlayCtrl_MediaEvent ' set the source stream playctrl.SourceStream = New StreamReader(inFile).BaseStream ' set the allowed streams playctrl.AllowedStreams = StreamFormatType.AudioVideoCC ' play it! playctrl.Run() Catch e1 As Exception _result = False End Try ' we'll loop on the state and pump messages for this example. ' but you should not need to if running from a Windows Forms application. Do While playctrl.State = PlayState.Running Application.DoEvents() Loop End Sub Private Sub PlayCtrl_MediaEvent(ByVal sender As Object, ByVal e As MediaEventArgs) ' set the result If e.eventCode = MediaEventCode.EC_COMPLETE Then _result = True End If End Sub Public NotInheritable Class LEAD_VARS Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 175\Media"; End Class
public bool _result = false; public PlayCtrlForm _form = new PlayCtrlForm(); public void SourceStreamExample() { // reference the play control PlayCtrl playctrl = _form.PlayCtrl; // input and output file names string inFile = Path.Combine(LEAD_VARS.MediaDir,"PlayCtrl_Source.avi"); try { // turn off auto start playctrl.AutoStart = false; // subscribe to the complete event to check our result playctrl.MediaEvent += new MediaEventHandler(PlayCtrl_MediaEvent); // set the source stream playctrl.SourceStream = new StreamReader(inFile).BaseStream; // set the allowed streams playctrl.AllowedStreams = StreamFormatType.AudioVideoCC; // play it! playctrl.Run(); } catch (Exception) { _result = false; } // we'll loop on the state and pump messages for this example. // but you should not need to if running from a Windows Forms application. while (playctrl.State == PlayState.Running) Application.DoEvents(); } void PlayCtrl_MediaEvent(object sender, MediaEventArgs e) { // set the result if (e.eventCode == MediaEventCode.EC_COMPLETE) _result = true; } static class LEAD_VARS { public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 175\Media"; }
Public _result As Boolean = False Public _form As New PlayCtrlForm() Public Sub HandleScriptExample() Dim playctrl As PlayCtrl = _form.PlayCtrl Dim inFile As String = Path.Combine(LEAD_VARS.MediaDir, "WriteScriptStream_Dest.wmv") Try AddHandler playctrl.MediaEvent, AddressOf PlayCtrl_MediaEvent playctrl.SourceFile = inFile Catch generatedExceptionName As Exception Exit Sub End Try ' we'll loop on the state and pump messages for this example. ' but you should not need to if running from a Windows Forms application. While playctrl.State = PlayState.Running Application.DoEvents() End While End Sub Public Sub PlayCtrl_MediaEvent(ByVal sender As Object, ByVal e As MediaEventArgs) If (e.eventCode = MediaEventCode.EC_OLE_EVENT) Then Dim nameString As String = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(New IntPtr(e.param1)) Dim commandString As String = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(New IntPtr(e.param2)) Console.WriteLine("EC_OLE_EVENT: name={0}, command={1}", nameString, commandString) _result = True End If End Sub Public NotInheritable Class LEAD_VARS Public Const MediaDir As String = "C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 175\Media"; End Class
public bool _result = false; public PlayCtrlForm _form = new PlayCtrlForm(); public void HandleScriptExample() { PlayCtrl playctrl = _form.PlayCtrl; string inFile = Path.Combine(LEAD_VARS.MediaDir,"WriteScriptStream_Dest.wmv"); try { playctrl.MediaEvent += new MediaEventHandler(PlayCtrl_MediaEvent); playctrl.SourceFile = inFile; } catch (Exception) { return; } // we'll loop on the state and pump messages for this example. // but you should not need to if running from a Windows Forms application. while (playctrl.State == PlayState.Running) Application.DoEvents(); } public void PlayCtrl_MediaEvent(object sender, MediaEventArgs e) { if (e.eventCode == MediaEventCode.EC_OLE_EVENT) { string nameString = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(new IntPtr(e.param1)); string commandString = System.Runtime.InteropServices.Marshal.PtrToStringBSTR(new IntPtr(e.param2)); Console.WriteLine("EC_OLE_EVENT: name={0}, command={1}", nameString, commandString); _result = true; } } static class LEAD_VARS { public const string MediaDir = @"C:\Program Files (x86)\LEAD Technologies\LEADTOOLS 175\Media"; }
System.Object
System.ValueType
System.Enum
Leadtools.Multimedia.MediaEventCode
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2