with GNATCOM.Dispinterface;

package MSHTML.IHTMLMediaElement_Object is

   type IHTMLMediaElement_Type is
     new GNATCOM.Dispinterface.Dispinterface_Type with null record;

   function Get_error
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_src
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_src
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_currentSrc
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_networkState
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_preload
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_preload
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_buffered
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure load
     (This : IHTMLMediaElement_Type);

   function canPlayType
     (This  : IHTMLMediaElement_Type;
      utype : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function Get_seeking
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_currentTime
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_currentTime
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_initialTime
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_duration
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_paused
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_defaultPlaybackRate
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_defaultPlaybackRate
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_playbackRate
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_playbackRate
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_played
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_seekable
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   function Get_ended
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_autoplay
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_autoplay
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_loop
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_loop
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure play
     (This : IHTMLMediaElement_Type);

   procedure pause
     (This : IHTMLMediaElement_Type);

   procedure Put_controls
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_controls
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_volume
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_volume
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_muted
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_muted
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_autobuffer
     (This : IHTMLMediaElement_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_autobuffer
     (This : IHTMLMediaElement_Type)
     return GNATCOM.Types.VARIANT;

end MSHTML.IHTMLMediaElement_Object;

