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
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);
};
[
......
/*** 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 <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 <rpcndr.h>
......@@ -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
......
......@@ -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, &params);
vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerTimeChangedEvent, &params);
};
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, &params);
vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerPositionChangedEvent, &params);
};
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, &params);
vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerSeekableChangedEvent, &params);
};
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, &params);
vlcConnectionPointContainer->fireEvent(DISPID_MediaPlayerPausableChangedEvent, &params);
};
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
......
......@@ -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;
......
/*****************************************************************************
* event.c: New libvlc event control API
*****************************************************************************
* Copyright (C) 2007 the VideoLAN team
* Copyright (C) 2007-2010 the VideoLAN team
* $Id $
*
* 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