From: Jean-Paul Saman Date: Fri, 12 Mar 2010 12:19:48 +0000 (+0100) Subject: activex: sync libvlc_MediaPlayer events between activex and mozilla X-Git-Tag: 1.1.0-pre1~357 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=7113bb575f592f4f749e36eeeffd0111dd70a1e7;p=vlc activex: sync libvlc_MediaPlayer events between activex and mozilla --- diff --git a/projects/activex/axvlc.idl b/projects/activex/axvlc.idl index 78defb74f9..de7562ddf2 100644 --- a/projects/activex/axvlc.idl +++ b/projects/activex/axvlc.idl @@ -169,26 +169,21 @@ library AXVLC const int DISPID_StopEvent = 102; /* async events from libvlc */ - const int DISPID_NothingSpecialEvent = 200; - const int DISPID_OpeningEvent = 201; - const int DISPID_BufferingEvent = 202; - const int DISPID_PlayingEvent = 203; - const int DISPID_PausedEvent = 204; - const int DISPID_ForwardEvent = 205; - const int DISPID_BackwardEvent = 206; - const int DISPID_EncounteredErrorEvent = 207; - const int DISPID_EndReachedEvent = 208; - const int DISPID_StoppedEvent = 209; - - const int DISPID_TimeChangedEvent = 210; - const int DISPID_PositionChangedEvent = 211; - const int DISPID_SeekableChangedEvent = 212; - const int DISPID_PausableChangedEvent = 213; - - const int DISPID_MouseButtonEvent = 214; - const int DISPID_MouseMovedEvent = 215; - const int DISPID_MouseClickedEvent = 216; - const int DISPID_MouseObjectEvent = 217; + const int DISPID_MediaPlayerNothingSpecialEvent = 200; + const int DISPID_MediaPlayerOpeningEvent = 201; + const int DISPID_MediaPlayerBufferingEvent = 202; + const int DISPID_MediaPlayerPlayingEvent = 203; + const int DISPID_MediaPlayerPausedEvent = 204; + const int DISPID_MediaPlayerForwardEvent = 205; + const int DISPID_MediaPlayerBackwardEvent = 206; + const int DISPID_MediaPlayerEncounteredErrorEvent = 207; + const int DISPID_MediaPlayerEndReachedEvent = 208; + const int DISPID_MediaPlayerStoppedEvent = 209; + + const int DISPID_MediaPlayerTimeChangedEvent = 210; + const int DISPID_MediaPlayerPositionChangedEvent = 211; + const int DISPID_MediaPlayerSeekableChangedEvent = 212; + const int DISPID_MediaPlayerPausableChangedEvent = 213; [ uuid(DF48072F-5EF8-434e-9B40-E2F3AE759B5F), @@ -206,46 +201,35 @@ library AXVLC void stop(); /* asyn events from libvlc */ - [id(DISPID_NothingSpecialEvent), helpstring("Idle state")] - void idle(); - [id(DISPID_OpeningEvent), helpstring("Opening media")] - void opening(); - [id(DISPID_BufferingEvent), helpstring("Buffering media")] - void buffering(); - [id(DISPID_PlayingEvent), helpstring("Media is playing")] - void playing(); - [id(DISPID_PausedEvent), helpstring("Media is paused")] - void paused(); - [id(DISPID_ForwardEvent), helpstring("Forward playback")] - void forward(); - [id(DISPID_BackwardEvent), helpstring("Backward playback")] - void backward(); - [id(DISPID_EncounteredErrorEvent), helpstring("An error has been encountered")] - void error(); - [id(DISPID_EndReachedEvent), helpstring("End of playback reached")] - void ended(); - [id(DISPID_StoppedEvent), helpstring("Playback stopped")] - void stopped(); - - [id(DISPID_TimeChangedEvent), helpstring("Time changed")] - void TimeChanged([in] long time); - [id(DISPID_PositionChangedEvent), helpstring("Position changed")] - void PositionChanged([in] long position); - [id(DISPID_SeekableChangedEvent), helpstring("Seek changed")] - void SeekableChanged([in] VARIANT_BOOL seekable); - [id(DISPID_PausableChangedEvent), helpstring("Pause setting changed")] - void PausableChanged([in] VARIANT_BOOL pausable); - - [id(DISPID_MouseButtonEvent), helpstring("Mouse button pressed")] - void MouseButton([in] VARIANT_BOOL btn_right, [in] VARIANT_BOOL btn_center, - [in] VARIANT_BOOL btn_left, [in] VARIANT_BOOL btn_wheel_up, - [in] VARIANT_BOOL bnt_wheel_down); - [id(DISPID_MouseMovedEvent), helpstring("Mouse moved")] - void MouseMoved([in] long x, [in] long y); - [id(DISPID_MouseClickedEvent), helpstring("Mouse clicked")] - void MouseClicked([in] VARIANT_BOOL clicked); - [id(DISPID_MouseObjectEvent), helpstring("Mouse selected holds object")] - void MouseObject([in] VARIANT_BOOL moved); + [id(DISPID_MediaPlayerNothingSpecialEvent), helpstring("Idle state")] + void MediaPlayerNothingSpecial(); + [id(DISPID_MediaPlayerOpeningEvent), helpstring("Opening media")] + void MediaPlayerOpening(); + [id(DISPID_MediaPlayerBufferingEvent), helpstring("Buffering media")] + void MediaPlayerBuffering(); + [id(DISPID_MediaPlayerPlayingEvent), helpstring("Media is playing")] + void MediaPlayerPlaying(); + [id(DISPID_MediaPlayerPausedEvent), helpstring("Media is paused")] + void MediaPlayerPaused(); + [id(DISPID_MediaPlayerForwardEvent), helpstring("Forward playback")] + void MediaPlayerForward(); + [id(DISPID_MediaPlayerBackwardEvent), helpstring("Backward playback")] + void MediaPlayerBackward(); + [id(DISPID_MediaPlayerEncounteredErrorEvent), helpstring("An error has been encountered")] + void MediaPlayerEncounteredError(); + [id(DISPID_MediaPlayerEndReachedEvent), helpstring("End of playback reached")] + void MediaPlayerEndReached(); + [id(DISPID_MediaPlayerStoppedEvent), helpstring("Playback stopped")] + void MediaPlayerStopped(); + + [id(DISPID_MediaPlayerTimeChangedEvent), helpstring("Time changed")] + void MediaPlayerTimeChanged([in] long time); + [id(DISPID_MediaPlayerPositionChangedEvent), helpstring("Position changed")] + void MediaPlayerPositionChanged([in] long position); + [id(DISPID_MediaPlayerSeekableChangedEvent), helpstring("Seek changed")] + void MediaPlayerSeekableChanged([in] VARIANT_BOOL seekable); + [id(DISPID_MediaPlayerPausableChangedEvent), helpstring("Pause setting changed")] + void MediaPlayerPausableChanged([in] VARIANT_BOOL pausable); }; [ diff --git a/projects/activex/axvlc.tlb b/projects/activex/axvlc.tlb index 4bc10a0cb9..a65b13ef28 100644 Binary files a/projects/activex/axvlc.tlb and b/projects/activex/axvlc.tlb differ diff --git a/projects/activex/axvlc_idl.c b/projects/activex/axvlc_idl.c index 60804b397d..49a90bf57a 100644 --- a/projects/activex/axvlc_idl.c +++ b/projects/activex/axvlc_idl.c @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 1.1.36 from axvlc.idl - Do not edit ***/ +/*** Autogenerated by WIDL 1.1.38 from axvlc.idl - Do not edit ***/ #include #include diff --git a/projects/activex/axvlc_idl.h b/projects/activex/axvlc_idl.h index 0eb2b09a22..d7baa93753 100644 --- a/projects/activex/axvlc_idl.h +++ b/projects/activex/axvlc_idl.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 1.1.36 from axvlc.idl - Do not edit ***/ +/*** Autogenerated by WIDL 1.1.38 from axvlc.idl - Do not edit ***/ #include #include @@ -793,41 +793,33 @@ void __RPC_STUB IVLCControl_put_AutoLoop_Stub( #define DISPID_StopEvent (102) -#define DISPID_NothingSpecialEvent (200) +#define DISPID_MediaPlayerNothingSpecialEvent (200) -#define DISPID_OpeningEvent (201) +#define DISPID_MediaPlayerOpeningEvent (201) -#define DISPID_BufferingEvent (202) +#define DISPID_MediaPlayerBufferingEvent (202) -#define DISPID_PlayingEvent (203) +#define DISPID_MediaPlayerPlayingEvent (203) -#define DISPID_PausedEvent (204) +#define DISPID_MediaPlayerPausedEvent (204) -#define DISPID_ForwardEvent (205) +#define DISPID_MediaPlayerForwardEvent (205) -#define DISPID_BackwardEvent (206) +#define DISPID_MediaPlayerBackwardEvent (206) -#define DISPID_EncounteredErrorEvent (207) +#define DISPID_MediaPlayerEncounteredErrorEvent (207) -#define DISPID_EndReachedEvent (208) +#define DISPID_MediaPlayerEndReachedEvent (208) -#define DISPID_StoppedEvent (209) +#define DISPID_MediaPlayerStoppedEvent (209) -#define DISPID_TimeChangedEvent (210) +#define DISPID_MediaPlayerTimeChangedEvent (210) -#define DISPID_PositionChangedEvent (211) +#define DISPID_MediaPlayerPositionChangedEvent (211) -#define DISPID_SeekableChangedEvent (212) +#define DISPID_MediaPlayerSeekableChangedEvent (212) -#define DISPID_PausableChangedEvent (213) - -#define DISPID_MouseButtonEvent (214) - -#define DISPID_MouseMovedEvent (215) - -#define DISPID_MouseClickedEvent (216) - -#define DISPID_MouseObjectEvent (217) +#define DISPID_MediaPlayerPausableChangedEvent (213) /***************************************************************************** * DVLCEvents dispinterface diff --git a/projects/activex/plugin.cpp b/projects/activex/plugin.cpp index cc99dc7c2d..0c2f8bde9b 100644 --- a/projects/activex/plugin.cpp +++ b/projects/activex/plugin.cpp @@ -1007,64 +1007,64 @@ void VLCPlugin::fireOnStopEvent(void) /* * Async events */ -void VLCPlugin::fireOnIdleEvent() +void VLCPlugin::fireOnMediaPlayerNothingSpecialEvent() { DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - vlcConnectionPointContainer->fireEvent(DISPID_NothingSpecialEvent, &dispparamsNoArgs); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerNothingSpecialEvent, &dispparamsNoArgs); }; -void VLCPlugin::fireOnOpeningEvent() +void VLCPlugin::fireOnMediaPlayerOpeningEvent() { DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - vlcConnectionPointContainer->fireEvent(DISPID_OpeningEvent, &dispparamsNoArgs); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerOpeningEvent, &dispparamsNoArgs); }; -void VLCPlugin::fireOnBufferingEvent() +void VLCPlugin::fireOnMediaPlayerBufferingEvent() { DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - vlcConnectionPointContainer->fireEvent(DISPID_BufferingEvent, &dispparamsNoArgs); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerBufferingEvent, &dispparamsNoArgs); }; -void VLCPlugin::fireOnPlayingEvent() +void VLCPlugin::fireOnMediaPlayerPlayingEvent() { DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - vlcConnectionPointContainer->fireEvent(DISPID_PlayingEvent, &dispparamsNoArgs); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerPlayingEvent, &dispparamsNoArgs); }; -void VLCPlugin::fireOnPausedEvent() +void VLCPlugin::fireOnMediaPlayerPausedEvent() { DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - vlcConnectionPointContainer->fireEvent(DISPID_PausedEvent, &dispparamsNoArgs); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerPausedEvent, &dispparamsNoArgs); }; -void VLCPlugin::fireOnErrorEvent() +void VLCPlugin::fireOnMediaPlayerEncounteredErrorEvent() { DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - vlcConnectionPointContainer->fireEvent(DISPID_EncounteredErrorEvent, &dispparamsNoArgs); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerEncounteredErrorEvent, &dispparamsNoArgs); }; -void VLCPlugin::fireOnEndedEvent() +void VLCPlugin::fireOnMediaPlayerEndReachedEvent() { DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - vlcConnectionPointContainer->fireEvent(DISPID_EndReachedEvent, &dispparamsNoArgs); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerEndReachedEvent, &dispparamsNoArgs); }; -void VLCPlugin::fireOnStoppedEvent() +void VLCPlugin::fireOnMediaPlayerStoppedEvent() { DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - vlcConnectionPointContainer->fireEvent(DISPID_StoppedEvent, &dispparamsNoArgs); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerStoppedEvent, &dispparamsNoArgs); }; -void VLCPlugin::fireOnForwardEvent() +void VLCPlugin::fireOnMediaPlayerForwardEvent() { DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - vlcConnectionPointContainer->fireEvent(DISPID_ForwardEvent, &dispparamsNoArgs); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerForwardEvent, &dispparamsNoArgs); }; -void VLCPlugin::fireOnBackwardEvent() +void VLCPlugin::fireOnMediaPlayerBackwardEvent() { DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; - vlcConnectionPointContainer->fireEvent(DISPID_BackwardEvent, &dispparamsNoArgs); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerBackwardEvent, &dispparamsNoArgs); }; static void handle_input_state_event(const libvlc_event_t* event, void *param) @@ -1073,97 +1073,97 @@ static void handle_input_state_event(const libvlc_event_t* event, void *param) switch( event->type ) { case libvlc_MediaPlayerNothingSpecial: - plugin->fireOnIdleEvent(); + plugin->fireOnMediaPlayerNothingSpecialEvent(); break; case libvlc_MediaPlayerOpening: - plugin->fireOnOpeningEvent(); + plugin->fireOnMediaPlayerOpeningEvent(); break; case libvlc_MediaPlayerBuffering: - plugin->fireOnBufferingEvent(); + plugin->fireOnMediaPlayerBufferingEvent(); break; case libvlc_MediaPlayerPlaying: - plugin->fireOnPlayingEvent(); + plugin->fireOnMediaPlayerPlayingEvent(); break; case libvlc_MediaPlayerPaused: - plugin->fireOnPausedEvent(); + plugin->fireOnMediaPlayerPausedEvent(); break; case libvlc_MediaPlayerStopped: - plugin->fireOnStoppedEvent(); + plugin->fireOnMediaPlayerStoppedEvent(); break; case libvlc_MediaPlayerForward: - plugin->fireOnForwardEvent(); + plugin->fireOnMediaPlayerForwardEvent(); break; case libvlc_MediaPlayerBackward: - plugin->fireOnBackwardEvent(); + plugin->fireOnMediaPlayerBackwardEvent(); break; case libvlc_MediaPlayerEndReached: - plugin->fireOnEndedEvent(); + plugin->fireOnMediaPlayerEndReachedEvent(); break; case libvlc_MediaPlayerEncounteredError: - plugin->fireOnErrorEvent(); + plugin->fireOnMediaPlayerEncounteredErrorEvent(); break; } } -void VLCPlugin::fireOnTimeChangedEvent(long time) +void VLCPlugin::fireOnMediaPlayerTimeChangedEvent(long time) { VARIANT varPos; DISPPARAMS params = { &varPos, NULL, 1, 0 }; varPos.vt = VT_I4; varPos.lVal = time; - vlcConnectionPointContainer->fireEvent(DISPID_TimeChangedEvent, ¶ms); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerTimeChangedEvent, ¶ms); }; static void handle_time_changed_event(const libvlc_event_t* event, void *param) { VLCPlugin *plugin = (VLCPlugin*)param; - plugin->fireOnTimeChangedEvent(event->u.media_player_time_changed.new_time); + plugin->fireOnMediaPlayerTimeChangedEvent(event->u.media_player_time_changed.new_time); } -void VLCPlugin::fireOnPositionChangedEvent(long position) +void VLCPlugin::fireOnMediaPlayerPositionChangedEvent(long position) { VARIANT varPos; DISPPARAMS params = { &varPos, NULL, 1, 0 }; varPos.vt = VT_I4; varPos.lVal = position; - vlcConnectionPointContainer->fireEvent(DISPID_PositionChangedEvent, ¶ms); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerPositionChangedEvent, ¶ms); }; static void handle_position_changed_event(const libvlc_event_t* event, void *param) { VLCPlugin *plugin = (VLCPlugin*)param; - plugin->fireOnPositionChangedEvent(event->u.media_player_position_changed.new_position); + plugin->fireOnMediaPlayerPositionChangedEvent(event->u.media_player_position_changed.new_position); } #define B(val) ((val) ? 0xFFFF : 0x0000) -void VLCPlugin::fireOnSeekableChangedEvent(VARIANT_BOOL seekable) +void VLCPlugin::fireOnMediaPlayerSeekableChangedEvent(VARIANT_BOOL seekable) { VARIANT varSeek; DISPPARAMS params = { &varSeek, NULL, 1, 0 }; varSeek.vt = VT_BOOL; varSeek.boolVal = seekable; - vlcConnectionPointContainer->fireEvent(DISPID_SeekableChangedEvent, ¶ms); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerSeekableChangedEvent, ¶ms); }; static void handle_seekable_changed_event(const libvlc_event_t* event, void *param) { VLCPlugin *plugin = (VLCPlugin*)param; - plugin->fireOnSeekableChangedEvent(B(event->u.media_player_seekable_changed.new_seekable)); + plugin->fireOnMediaPlayerSeekableChangedEvent(B(event->u.media_player_seekable_changed.new_seekable)); } -void VLCPlugin::fireOnPausableChangedEvent(VARIANT_BOOL pausable) +void VLCPlugin::fireOnMediaPlayerPausableChangedEvent(VARIANT_BOOL pausable) { VARIANT varPause; DISPPARAMS params = { &varPause, NULL, 1, 0 }; varPause.vt = VT_BOOL; varPause.boolVal = pausable; - vlcConnectionPointContainer->fireEvent(DISPID_PausableChangedEvent, ¶ms); + vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerPausableChangedEvent, ¶ms); }; static void handle_pausable_changed_event(const libvlc_event_t* event, void *param) { VLCPlugin *plugin = (VLCPlugin*)param; - plugin->fireOnPausableChangedEvent(B(event->u.media_player_pausable_changed.new_pausable)); + plugin->fireOnMediaPlayerPausableChangedEvent(B(event->u.media_player_pausable_changed.new_pausable)); } #undef B diff --git a/projects/activex/plugin.h b/projects/activex/plugin.h index 388e7329d1..9c1003221a 100644 --- a/projects/activex/plugin.h +++ b/projects/activex/plugin.h @@ -239,21 +239,21 @@ public: void fireOnStopEvent(void); // async events; - void fireOnIdleEvent(); - void fireOnOpeningEvent(); - void fireOnBufferingEvent(); - void fireOnPlayingEvent(); - void fireOnPausedEvent(); - void fireOnErrorEvent(); - void fireOnEndedEvent(); - void fireOnStoppedEvent(); - void fireOnForwardEvent(); - void fireOnBackwardEvent(); - - void fireOnTimeChangedEvent(long time); - void fireOnPositionChangedEvent(long position); - void fireOnSeekableChangedEvent(VARIANT_BOOL seekable); - void fireOnPausableChangedEvent(VARIANT_BOOL pausable); + void fireOnMediaPlayerNothingSpecialEvent(); + void fireOnMediaPlayerOpeningEvent(); + void fireOnMediaPlayerBufferingEvent(); + void fireOnMediaPlayerPlayingEvent(); + void fireOnMediaPlayerPausedEvent(); + void fireOnMediaPlayerForwardEvent(); + void fireOnMediaPlayerBackwardEvent(); + void fireOnMediaPlayerEncounteredErrorEvent(); + void fireOnMediaPlayerEndReachedEvent(); + void fireOnMediaPlayerStoppedEvent(); + + void fireOnMediaPlayerTimeChangedEvent(long time); + void fireOnMediaPlayerPositionChangedEvent(long position); + void fireOnMediaPlayerSeekableChangedEvent(VARIANT_BOOL seekable); + void fireOnMediaPlayerPausableChangedEvent(VARIANT_BOOL pausable); // controlling IUnknown interface LPUNKNOWN pUnkOuter; diff --git a/src/control/event.c b/src/control/event.c index b145d24fbe..2ce0a23970 100644 --- a/src/control/event.c +++ b/src/control/event.c @@ -1,7 +1,7 @@ /***************************************************************************** * event.c: New libvlc event control API ***************************************************************************** - * Copyright (C) 2007 the VideoLAN team + * Copyright (C) 2007-2010 the VideoLAN team * $Id $ * * Authors: Filippo Carone