LEADTOOLS Multimedia (Leadtools.Multimedia assembly)
LEAD Technologies, Inc

MediaEventCode Enumeration

ExampleExample 





The MediaEventCode enumeration values are used for media event reporting.
Syntax
'Declaration
 
Public Enum MediaEventCode 
   Inherits System.Enum
   Implements System.IComparableSystem.IConvertibleSystem.IFormattable 
'Usage
 
Dim instance As MediaEventCode
public enum MediaEventCode : System.IComparableSystem.IConvertibleSystem.IFormattable  
Leadtools.Multimedia.MediaEventCode = function() { };
Leadtools.Multimedia.MediaEventCode.prototype = {
LeadtoolsMemberMarker(replace me) };
public enum class MediaEventCode : public System.Enum, System.IComparableSystem.IConvertibleSystem.IFormattable  
Members
MemberDescription
EC_ACTIVATEIndicates that a video renderer has lost or gained activation.
EC_BANDWIDTHCHANGEIndicates that the bandwidth of the streaming data has changed.
EC_BUFFERING_DATAIndicates that the filtergraph is buffering data.
EC_BUILTThis event is sent when a graph has been built.
EC_CLOCK_CHANGEDIndicates that the clock has changed.
EC_CLOCK_UNSETIndicates to the filter graph to unset the current graph clock.
EC_CODECAPI_EVENTIndicates that the Codec API event was encountered.
EC_COMPLETEIndicates the completed playback of a stream within the graph.
EC_CONTENTPROPERTY_CHANGEDIndicates that a streaming media filter received a change in stream description information.
EC_DEVICE_LOSTIndicates that a device has been lost, see IAMDeviceRemoval interface for more information.
EC_DISPLAY_CHANGEDIndicates that a video renderer has detected a display change.
EC_DVD_ANGLE_CHANGEThe number of available angles is changed or the current angle number is changed.
EC_DVD_ANGLES_AVAILABLEIndicates whether an angle block is being played and angle changes can be performed.
EC_DVD_AUDIO_STREAM_CHANGEThe audio stream The portion of the file holding the audio data.
EC_DVD_BUTTON_AUTO_ACTIVATEDA menu button has been automatically activated per instructions on the disc.
EC_DVD_BUTTON_CHANGEThe number of available buttons is changed or the currently selected button number is changed.
EC_DVD_CHAPTER_AUTOSTOPPlayback is stopped as a result of a call to the DVDControl.
EC_DVD_CHAPTER_STARTThe player has started playing a new chapter The name for each individual video file on a DVD.
EC_DVD_CMD_ENDA command has completed.
EC_DVD_CMD_STARTA command has begun.
EC_DVD_CURRENT_HMSF_TIMEThe beginning of every video object unit, a video segment that is 0.
EC_DVD_CURRENT_TIMEThe beginning of every video object unit, a video segment that is 0.
EC_DVD_DISC_EJECTEDA disc was ejected.
EC_DVD_DISC_INSERTEDA disc was inserted.
EC_DVD_DOMAIN_CHANGEThe DVD domain is changed.
EC_DVD_ERRORA DVD error condition.
EC_DVD_KARAOKE_MODEThe Navigator has either begun playing or finished playing karaoke data.
EC_DVD_NO_FP_PGCThe 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_CHANGEThe parental level of the authored content is about to change.
EC_DVD_PLAYBACK_RATE_CHANGEA rate change in the playback has been initiated; the parameter Param1 indicates the new playback rate being used.
EC_DVD_PLAYBACK_STOPPEDPlayback has been stopped. See DVDPlaybackStopped enumeration for possible stop reason codes passed in param1 of the MediaEventArgs object.
EC_DVD_PLAYPERIOD_AUTOSTOPThe Navigator has finished playing the segment specified in a call to DVDControl.
EC_DVD_STILL_OFFEnd of a still (PGC, Cell, or VOBU).
EC_DVD_STILL_ONBeginning of a still (PGC, Cell, or VOBU).
EC_DVD_SUBPICTURE_STREAM_CHANGEThe DVD sub-picture stream number has changed.
EC_DVD_TITLE_CHANGEThe DVD current title has changed.
EC_DVD_VALID_UOPS_CHANGEThe available set of DVDControl interface methods has changed.
EC_DVD_WARNINGA DVD warning condition.
EC_END_OF_SEGMENTIndicates that a segment end has been reached.
EC_EOS_SOONIndicates that the source filter is about to deliver an EOS downstream.
EC_ERROR_STILLPLAYINGIndicates that an asynchronous run command was sent to the graph when the graph was already running.
EC_ERRORABORTOperation aborted because of error.
EC_ERRORABORTEXIndicates that an operation aborted because of error.
EC_EXTDEVICE_MODE_CHANGEIndicates that a filter supporting the IAMExtDevice interface has detected a device mode change.
EC_FILE_CLOSEDIndicates that a file was involuntarily closed, i.e. by a network server shutdown.
EC_FULLSCREEN_LOSTIndicates that full screen mode was toggled off.
EC_GRAPH_CHANGEDIndicates that the filter graph has changed.
EC_LENGTH_CHANGEDIndicates that the length of the "file" has changed.
EC_LOADSTATUSThis 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_HITIndicates that the specified "marker #" has just been passed.
EC_NEED_RESTARTIndicates that a renderer has regained a resource and the graph will be restarted.
EC_NOTIFY_WINDOWIndicates that the window handle is being passed to a filter.
EC_OLE_EVENTIndicates 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_FILEIndicates that a file is being opened.
EC_PALETTE_CHANGEDIndicates that the video palette has changed.
EC_PAUSEDIndicates that the previous pause request has completed.
EC_PLEASE_REOPENIndicates that changes have been made that require a graph to be re-rendered.
EC_PREPROCESS_COMPLETEIndicates 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_LATENCYIndicates the current latency (processing time) for the related filter.
EC_QUALITY_CHANGEIndicates that playback quality degradation has occurred.
EC_REPAINTIndicates that a repaint is required.
EC_SAMPLE_LATENCYIndicates that the filter is the specified amount of time behind or ahead in processing incoming samples.
EC_SAMPLE_NEEDEDIndicates that a sample is needed on the specified input pin.
EC_SCRUB_TIMEIndicates the timestamp for the sample frame displayed after an EC_STEP_COMPLETE notification.
EC_SEGMENT_STARTEDIndicates that a segment start has been reached.
EC_SHUTTING_DOWNNotifies IMediaEventSink filters that the filter graph is preparing to shutdown.
EC_SKIP_FRAMESIndicates to the filter graph to skip some frames and notify.
EC_STARVATIONIndicates that a filter in the graph has detected starvation (not enough data to properly render).
EC_STATE_CHANGEIndicates state changes in the filter graph.
EC_STATUSIndicates that a filter is sending status message strings.
EC_STEP_COMPLETEIndicates that a step request has completed or was cancelled.
EC_STREAM_CONTROL_STARTEDIndicates that an earlier call to IAMStreamControl.StartAt has now taken effect.
EC_STREAM_CONTROL_STOPPEDIndicates that an earlier call to IAMStreamControl.StopAt has now taken effect.
EC_STREAM_ERROR_STILLPLAYINGIndicates that a stream error occurred, but playback has continued.
EC_STREAM_ERROR_STOPPEDIndicates that a stream error occurs that stopped playback.
EC_TIMEIndicates that the requested reference time occurred. (currently unused)
EC_TIMECODE_AVAILABLEIndicates that a filter has timecodes available.
EC_UNBUILTThis event is sent when a graph has been torn down.
EC_USERABORTIndicates that the user has requested that playback be terminated.
EC_VIDEO_SIZE_CHANGEDIndicates that the video size has changed.
EC_VIDEOFRAMEREADYIndicates that the first video frame is about to be drawn.
EC_VMR_RECONNECTION_FAILEDIndicates that an upstream decoder tried to perform a dynamic format change and the VMR was unable to accept the new format.
EC_VMR_RENDERDEVICE_SETIndicates the type of rendering mechanism the VMR is using to display video.
EC_VMR_SURFACE_FLIPPEDIndicates that the VMR's allocator-presenter has called the DDraw flip api on the surface being presented.
EC_WINDOW_DESTROYEDIndicates that a video window for a video renderer has been destroyed.
EC_WMT_EVENTIndicates that a Windows Media event has occurred.
EC_WMT_INDEX_EVENTIndicates that Windows Media indexing event has occurred.
Remarks

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.

Example
Copy CodeCopy Code  
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";
}
Inheritance Hierarchy

System.Object
   System.ValueType
      System.Enum
         Leadtools.Multimedia.MediaEventCode

Requirements

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

See Also

Reference

Leadtools.Multimedia Namespace

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Multimedia requires a Multimedia or Multimedia Suite license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features