Commit 7113bb57 authored by Jean-Paul Saman's avatar Jean-Paul Saman

activex: sync libvlc_MediaPlayer events between activex and mozilla

parent 5577ca99
...@@ -169,26 +169,21 @@ library AXVLC ...@@ -169,26 +169,21 @@ library AXVLC
const int DISPID_StopEvent = 102; const int DISPID_StopEvent = 102;
/* async events from libvlc */ /* async events from libvlc */
const int DISPID_NothingSpecialEvent = 200; const int DISPID_MediaPlayerNothingSpecialEvent = 200;
const int DISPID_OpeningEvent = 201; const int DISPID_MediaPlayerOpeningEvent = 201;
const int DISPID_BufferingEvent = 202; const int DISPID_MediaPlayerBufferingEvent = 202;
const int DISPID_PlayingEvent = 203; const int DISPID_MediaPlayerPlayingEvent = 203;
const int DISPID_PausedEvent = 204; const int DISPID_MediaPlayerPausedEvent = 204;
const int DISPID_ForwardEvent = 205; const int DISPID_MediaPlayerForwardEvent = 205;
const int DISPID_BackwardEvent = 206; const int DISPID_MediaPlayerBackwardEvent = 206;
const int DISPID_EncounteredErrorEvent = 207; const int DISPID_MediaPlayerEncounteredErrorEvent = 207;
const int DISPID_EndReachedEvent = 208; const int DISPID_MediaPlayerEndReachedEvent = 208;
const int DISPID_StoppedEvent = 209; const int DISPID_MediaPlayerStoppedEvent = 209;
const int DISPID_TimeChangedEvent = 210; const int DISPID_MediaPlayerTimeChangedEvent = 210;
const int DISPID_PositionChangedEvent = 211; const int DISPID_MediaPlayerPositionChangedEvent = 211;
const int DISPID_SeekableChangedEvent = 212; const int DISPID_MediaPlayerSeekableChangedEvent = 212;
const int DISPID_PausableChangedEvent = 213; const int DISPID_MediaPlayerPausableChangedEvent = 213;
const int DISPID_MouseButtonEvent = 214;
const int DISPID_MouseMovedEvent = 215;
const int DISPID_MouseClickedEvent = 216;
const int DISPID_MouseObjectEvent = 217;
[ [
uuid(DF48072F-5EF8-434e-9B40-E2F3AE759B5F), uuid(DF48072F-5EF8-434e-9B40-E2F3AE759B5F),
...@@ -206,46 +201,35 @@ library AXVLC ...@@ -206,46 +201,35 @@ library AXVLC
void stop(); void stop();
/* asyn events from libvlc */ /* asyn events from libvlc */
[id(DISPID_NothingSpecialEvent), helpstring("Idle state")] [id(DISPID_MediaPlayerNothingSpecialEvent), helpstring("Idle state")]
void idle(); void MediaPlayerNothingSpecial();
[id(DISPID_OpeningEvent), helpstring("Opening media")] [id(DISPID_MediaPlayerOpeningEvent), helpstring("Opening media")]
void opening(); void MediaPlayerOpening();
[id(DISPID_BufferingEvent), helpstring("Buffering media")] [id(DISPID_MediaPlayerBufferingEvent), helpstring("Buffering media")]
void buffering(); void MediaPlayerBuffering();
[id(DISPID_PlayingEvent), helpstring("Media is playing")] [id(DISPID_MediaPlayerPlayingEvent), helpstring("Media is playing")]
void playing(); void MediaPlayerPlaying();
[id(DISPID_PausedEvent), helpstring("Media is paused")] [id(DISPID_MediaPlayerPausedEvent), helpstring("Media is paused")]
void paused(); void MediaPlayerPaused();
[id(DISPID_ForwardEvent), helpstring("Forward playback")] [id(DISPID_MediaPlayerForwardEvent), helpstring("Forward playback")]
void forward(); void MediaPlayerForward();
[id(DISPID_BackwardEvent), helpstring("Backward playback")] [id(DISPID_MediaPlayerBackwardEvent), helpstring("Backward playback")]
void backward(); void MediaPlayerBackward();
[id(DISPID_EncounteredErrorEvent), helpstring("An error has been encountered")] [id(DISPID_MediaPlayerEncounteredErrorEvent), helpstring("An error has been encountered")]
void error(); void MediaPlayerEncounteredError();
[id(DISPID_EndReachedEvent), helpstring("End of playback reached")] [id(DISPID_MediaPlayerEndReachedEvent), helpstring("End of playback reached")]
void ended(); void MediaPlayerEndReached();
[id(DISPID_StoppedEvent), helpstring("Playback stopped")] [id(DISPID_MediaPlayerStoppedEvent), helpstring("Playback stopped")]
void stopped(); void MediaPlayerStopped();
[id(DISPID_TimeChangedEvent), helpstring("Time changed")] [id(DISPID_MediaPlayerTimeChangedEvent), helpstring("Time changed")]
void TimeChanged([in] long time); void MediaPlayerTimeChanged([in] long time);
[id(DISPID_PositionChangedEvent), helpstring("Position changed")] [id(DISPID_MediaPlayerPositionChangedEvent), helpstring("Position changed")]
void PositionChanged([in] long position); void MediaPlayerPositionChanged([in] long position);
[id(DISPID_SeekableChangedEvent), helpstring("Seek changed")] [id(DISPID_MediaPlayerSeekableChangedEvent), helpstring("Seek changed")]
void SeekableChanged([in] VARIANT_BOOL seekable); void MediaPlayerSeekableChanged([in] VARIANT_BOOL seekable);
[id(DISPID_PausableChangedEvent), helpstring("Pause setting changed")] [id(DISPID_MediaPlayerPausableChangedEvent), helpstring("Pause setting changed")]
void PausableChanged([in] VARIANT_BOOL pausable); void MediaPlayerPausableChanged([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);
}; };
[ [
......
/*** 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 <rpc.h> #include <rpc.h>
#include <rpcndr.h> #include <rpcndr.h>
......
/*** 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 <rpc.h> #include <rpc.h>
#include <rpcndr.h> #include <rpcndr.h>
...@@ -793,41 +793,33 @@ void __RPC_STUB IVLCControl_put_AutoLoop_Stub( ...@@ -793,41 +793,33 @@ void __RPC_STUB IVLCControl_put_AutoLoop_Stub(
#define DISPID_StopEvent (102) #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_MediaPlayerPausableChangedEvent (213)
#define DISPID_MouseButtonEvent (214)
#define DISPID_MouseMovedEvent (215)
#define DISPID_MouseClickedEvent (216)
#define DISPID_MouseObjectEvent (217)
/***************************************************************************** /*****************************************************************************
* DVLCEvents dispinterface * DVLCEvents dispinterface
......
...@@ -1007,64 +1007,64 @@ void VLCPlugin::fireOnStopEvent(void) ...@@ -1007,64 +1007,64 @@ void VLCPlugin::fireOnStopEvent(void)
/* /*
* Async events * Async events
*/ */
void VLCPlugin::fireOnIdleEvent() void VLCPlugin::fireOnMediaPlayerNothingSpecialEvent()
{ {
DISPPARAMS dispparamsNoArgs = {NULL, NULL, 0, 0}; 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}; 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}; 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}; 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}; 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}; 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}; 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}; 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}; 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}; 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) 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) ...@@ -1073,97 +1073,97 @@ static void handle_input_state_event(const libvlc_event_t* event, void *param)
switch( event->type ) switch( event->type )
{ {
case libvlc_MediaPlayerNothingSpecial: case libvlc_MediaPlayerNothingSpecial:
plugin->fireOnIdleEvent(); plugin->fireOnMediaPlayerNothingSpecialEvent();
break; break;
case libvlc_MediaPlayerOpening: case libvlc_MediaPlayerOpening:
plugin->fireOnOpeningEvent(); plugin->fireOnMediaPlayerOpeningEvent();
break; break;
case libvlc_MediaPlayerBuffering: case libvlc_MediaPlayerBuffering:
plugin->fireOnBufferingEvent(); plugin->fireOnMediaPlayerBufferingEvent();
break; break;
case libvlc_MediaPlayerPlaying: case libvlc_MediaPlayerPlaying:
plugin->fireOnPlayingEvent(); plugin->fireOnMediaPlayerPlayingEvent();
break; break;
case libvlc_MediaPlayerPaused: case libvlc_MediaPlayerPaused:
plugin->fireOnPausedEvent(); plugin->fireOnMediaPlayerPausedEvent();
break; break;
case libvlc_MediaPlayerStopped: case libvlc_MediaPlayerStopped:
plugin->fireOnStoppedEvent(); plugin->fireOnMediaPlayerStoppedEvent();
break; break;
case libvlc_MediaPlayerForward: case libvlc_MediaPlayerForward:
plugin->fireOnForwardEvent(); plugin->fireOnMediaPlayerForwardEvent();
break; break;
case libvlc_MediaPlayerBackward: case libvlc_MediaPlayerBackward:
plugin->fireOnBackwardEvent(); plugin->fireOnMediaPlayerBackwardEvent();
break; break;
case libvlc_MediaPlayerEndReached: case libvlc_MediaPlayerEndReached:
plugin->fireOnEndedEvent(); plugin->fireOnMediaPlayerEndReachedEvent();
break; break;
case libvlc_MediaPlayerEncounteredError: case libvlc_MediaPlayerEncounteredError:
plugin->fireOnErrorEvent(); plugin->fireOnMediaPlayerEncounteredErrorEvent();
break; break;
} }
} }
void VLCPlugin::fireOnTimeChangedEvent(long time) void VLCPlugin::fireOnMediaPlayerTimeChangedEvent(long time)
{ {
VARIANT varPos; VARIANT varPos;
DISPPARAMS params = { &varPos, NULL, 1, 0 }; DISPPARAMS params = { &varPos, NULL, 1, 0 };
varPos.vt = VT_I4; varPos.vt = VT_I4;
varPos.lVal = time; varPos.lVal = time;
vlcConnectionPointContainer->fireEvent(DISPID_TimeChangedEvent, &params); vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerTimeChangedEvent, &params);
}; };
static void handle_time_changed_event(const libvlc_event_t* event, void *param) static void handle_time_changed_event(const libvlc_event_t* event, void *param)
{ {
VLCPlugin *plugin = (VLCPlugin*)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; VARIANT varPos;
DISPPARAMS params = { &varPos, NULL, 1, 0 }; DISPPARAMS params = { &varPos, NULL, 1, 0 };
varPos.vt = VT_I4; varPos.vt = VT_I4;
varPos.lVal = position; varPos.lVal = position;
vlcConnectionPointContainer->fireEvent(DISPID_PositionChangedEvent, &params); vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerPositionChangedEvent, &params);
}; };
static void handle_position_changed_event(const libvlc_event_t* event, void *param) static void handle_position_changed_event(const libvlc_event_t* event, void *param)
{ {
VLCPlugin *plugin = (VLCPlugin*)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) #define B(val) ((val) ? 0xFFFF : 0x0000)
void VLCPlugin::fireOnSeekableChangedEvent(VARIANT_BOOL seekable) void VLCPlugin::fireOnMediaPlayerSeekableChangedEvent(VARIANT_BOOL seekable)
{ {
VARIANT varSeek; VARIANT varSeek;
DISPPARAMS params = { &varSeek, NULL, 1, 0 }; DISPPARAMS params = { &varSeek, NULL, 1, 0 };
varSeek.vt = VT_BOOL; varSeek.vt = VT_BOOL;
varSeek.boolVal = seekable; varSeek.boolVal = seekable;
vlcConnectionPointContainer->fireEvent(DISPID_SeekableChangedEvent, &params); vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerSeekableChangedEvent, &params);
}; };
static void handle_seekable_changed_event(const libvlc_event_t* event, void *param) static void handle_seekable_changed_event(const libvlc_event_t* event, void *param)
{ {
VLCPlugin *plugin = (VLCPlugin*)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; VARIANT varPause;
DISPPARAMS params = { &varPause, NULL, 1, 0 }; DISPPARAMS params = { &varPause, NULL, 1, 0 };
varPause.vt = VT_BOOL; varPause.vt = VT_BOOL;
varPause.boolVal = pausable; varPause.boolVal = pausable;
vlcConnectionPointContainer->fireEvent(DISPID_PausableChangedEvent, &params); vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerPausableChangedEvent, &params);
}; };
static void handle_pausable_changed_event(const libvlc_event_t* event, void *param) static void handle_pausable_changed_event(const libvlc_event_t* event, void *param)
{ {
VLCPlugin *plugin = (VLCPlugin*)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 #undef B
......
...@@ -239,21 +239,21 @@ public: ...@@ -239,21 +239,21 @@ public:
void fireOnStopEvent(void); void fireOnStopEvent(void);
// async events; // async events;
void fireOnIdleEvent(); void fireOnMediaPlayerNothingSpecialEvent();
void fireOnOpeningEvent(); void fireOnMediaPlayerOpeningEvent();
void fireOnBufferingEvent(); void fireOnMediaPlayerBufferingEvent();
void fireOnPlayingEvent(); void fireOnMediaPlayerPlayingEvent();
void fireOnPausedEvent(); void fireOnMediaPlayerPausedEvent();
void fireOnErrorEvent(); void fireOnMediaPlayerForwardEvent();
void fireOnEndedEvent(); void fireOnMediaPlayerBackwardEvent();
void fireOnStoppedEvent(); void fireOnMediaPlayerEncounteredErrorEvent();
void fireOnForwardEvent(); void fireOnMediaPlayerEndReachedEvent();
void fireOnBackwardEvent(); void fireOnMediaPlayerStoppedEvent();
void fireOnTimeChangedEvent(long time); void fireOnMediaPlayerTimeChangedEvent(long time);
void fireOnPositionChangedEvent(long position); void fireOnMediaPlayerPositionChangedEvent(long position);
void fireOnSeekableChangedEvent(VARIANT_BOOL seekable); void fireOnMediaPlayerSeekableChangedEvent(VARIANT_BOOL seekable);
void fireOnPausableChangedEvent(VARIANT_BOOL pausable); void fireOnMediaPlayerPausableChangedEvent(VARIANT_BOOL pausable);
// controlling IUnknown interface // controlling IUnknown interface
LPUNKNOWN pUnkOuter; LPUNKNOWN pUnkOuter;
......
/***************************************************************************** /*****************************************************************************
* event.c: New libvlc event control API * event.c: New libvlc event control API
***************************************************************************** *****************************************************************************
* Copyright (C) 2007 the VideoLAN team * Copyright (C) 2007-2010 the VideoLAN team
* $Id $ * $Id $
* *
* Authors: Filippo Carone <filippo@carone.org> * Authors: Filippo Carone <filippo@carone.org>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment