Commit 4c5ad8e3 authored by Olivier Aubert's avatar Olivier Aubert

Remove CORBA module, which I is not used anymore (not even by me...)

parent bdfdc200
...@@ -35,7 +35,7 @@ S: Germany ...@@ -35,7 +35,7 @@ S: Germany
N: Olivier Aubert N: Olivier Aubert
E: oaubert at lisi dot univ-lyon1 dot fr E: oaubert at lisi dot univ-lyon1 dot fr
D: CORBA interface D: Mediacontrol API, Python bindings, svg module
S: France S: France
N: Sigmund Augdal Helberg N: Sigmund Augdal Helberg
......
...@@ -43,7 +43,6 @@ ...@@ -43,7 +43,6 @@
- skins2 : [ipkiss] [asmax] - skins2 : [ipkiss] [asmax]
- macosx : [thedj] [bigben] [fkuehne] - macosx : [thedj] [bigben] [fkuehne]
- lirc, dummy, rc, ncurses : [sam] - lirc, dummy, rc, ncurses : [sam]
- corba : [oaubert]
- familiar : [jpsaman] - familiar : [jpsaman]
- http : [meuuh] - http : [meuuh]
......
...@@ -14,7 +14,6 @@ GOOM goom ...@@ -14,7 +14,6 @@ GOOM goom
SLP slp SLP slp
LIRC lirc LIRC lirc
JOYSTICK joystick JOYSTICK joystick
CORBA corba
LIVEDOTCOM livedotcom LIVEDOTCOM livedotcom
DVDREAD dvdread DVDREAD dvdread
DVDNAV dvdnav DVDNAV dvdnav
......
...@@ -38,7 +38,6 @@ if [ "$CONFIG_GOOM" = "y" ]; then ...@@ -38,7 +38,6 @@ if [ "$CONFIG_GOOM" = "y" ]; then
fi fi
bool 'GaLaktos visualization plugin' CONFIG_GALAKTOS bool 'GaLaktos visualization plugin' CONFIG_GALAKTOS
bool 'IR remote control support' CONFIG_LIRC bool 'IR remote control support' CONFIG_LIRC
bool 'Corba interface support' CONFIG_CORBA
endmenu endmenu
mainmenu_option next_comment mainmenu_option next_comment
......
...@@ -5095,30 +5095,6 @@ then ...@@ -5095,30 +5095,6 @@ then
fi fi
dnl
dnl corba (ORBit) plugin
dnl
dnl Default: do not enable corba
enablecorba=false
AC_ARG_ENABLE(corba,
[ --enable-corba corba interface support (default disabled)])
if test "${enable_corba}" = "yes"; then
GLIB_VERSION=2.3.2
PKG_CHECK_MODULES(CORBA,
ORBit-2.0 >= 2.8.0 \
glib-2.0 >= $GLIB_VERSION \
gobject-2.0 >= $GLIB_VERSION \
gthread-2.0 >= $GLIB_VERSION,
[
enablecorba=true
VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS])
VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS])
VLC_ADD_PLUGINS([corba snapshot]) ],
[ enablecorba=false
AC_MSG_WARN(corba library not found) ])
fi
AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true")
AC_ARG_WITH(,[Misc options:]) AC_ARG_WITH(,[Misc options:])
dnl dnl
...@@ -5655,7 +5631,6 @@ AC_CONFIG_FILES([ ...@@ -5655,7 +5631,6 @@ AC_CONFIG_FILES([
modules/codec/spudec/Makefile modules/codec/spudec/Makefile
modules/control/Makefile modules/control/Makefile
modules/control/http/Makefile modules/control/http/Makefile
modules/control/corba/Makefile
modules/demux/Makefile modules/demux/Makefile
modules/demux/asf/Makefile modules/demux/asf/Makefile
modules/demux/avi/Makefile modules/demux/avi/Makefile
......
...@@ -23,7 +23,6 @@ CONFIG_VISUAL=y ...@@ -23,7 +23,6 @@ CONFIG_VISUAL=y
# CONFIG_SLP is not set # CONFIG_SLP is not set
# CONFIG_LIRC is not set # CONFIG_LIRC is not set
CONFIG_JOYSTICK=y CONFIG_JOYSTICK=y
# CONFIG_CORBA is not set
# #
# Input plugins # Input plugins
......
...@@ -48,7 +48,6 @@ $Id$ ...@@ -48,7 +48,6 @@ $Id$
* cinepak: Cinepack video decoder * cinepak: Cinepack video decoder
* clone: Clone video filter * clone: Clone video filter
* cmml: Continuous Media Markup Language annotations/hyperlinks decoder * cmml: Continuous Media Markup Language annotations/hyperlinks decoder
* corba: CORBA control module
* crop: Crop video filter * crop: Crop video filter
* cvdsub: CVD subtitles decoder * cvdsub: CVD subtitles decoder
* daap: iTunes shares services discovery * daap: iTunes shares services discovery
......
/*
Module inspired by the MediaControl IDL
*/
module VLC {
const float VERSION = 0.1;
enum PositionOrigin {
AbsolutePosition, RelativePosition, ModuloPosition
};
enum PositionKey {
ByteCount, SampleCount, MediaTime
};
struct Position {
PositionOrigin origin;
PositionKey key;
long long value;
};
exception PositionKeyNotSupported { string message; };
exception PositionOriginNotSupported { string message; };
exception InvalidPosition { string message; };
exception PlaylistException { string message; };
exception InternalException { string message; };
typedef sequence<string> PlaylistSeq;
typedef sequence<octet> ByteSeq;
struct RGBPicture {
short width;
short height;
long type;
ByteSeq data;
long long date;
};
typedef sequence<RGBPicture> RGBPictureSeq;
/* Cf stream_control.h */
enum PlayerStatus { PlayingStatus, PauseStatus, ForwardStatus, BackwardStatus, InitStatus, EndStatus, UndefinedStatus };
struct StreamInformation {
PlayerStatus streamstatus;
string url; /* The URL of the current media stream */
long long position; /* actual location in the stream (in ms) */
long long length; /* total length of the stream (in ms) */
};
// MediaControl interface is similar to
// ControlledStream interface in MSS.
// It can be inherited by flow endpoints or
// FlowConnection interfaces.
interface MediaControl
{
Position get_media_position(in PositionOrigin an_origin,
in PositionKey a_key)
raises (InternalException, PositionKeyNotSupported);
void set_media_position(in Position a_position)
raises (InternalException, PositionKeyNotSupported, InvalidPosition);
void start(in Position a_position)
raises (InternalException, InvalidPosition, PlaylistException);
void pause(in Position a_position)
raises (InternalException, InvalidPosition);
void resume(in Position a_position)
raises (InternalException, InvalidPosition);
void stop(in Position a_position)
raises (InternalException, InvalidPosition);
oneway void exit (); // Exits the player (not in the original spec)
void playlist_add_item (in string a_file)
raises (PlaylistException);
void playlist_clear ()
raises (PlaylistException);
// Returns the list of files in playlist
PlaylistSeq playlist_get_list ()
raises (PlaylistException);
// Returns a snapshot of the currently displayed picture
RGBPicture snapshot (in Position a_position)
raises (InternalException);
RGBPictureSeq all_snapshots ()
raises (InternalException);
// Displays the message string, between "begin" and "end" positions
void display_text (in string message, in Position begin, in Position end)
raises (InternalException);
StreamInformation get_stream_information ()
raises (InternalException);
unsigned short sound_get_volume()
raises (InternalException);
void sound_set_volume(in unsigned short volume)
raises (InternalException);
};
};
## corba module declaration
SOURCES_corba = corba.c ../../../src/control/mediacontrol_plugin.c
nodist_SOURCES_corba = \
MediaControl-common.c \
MediaControl-skels.c \
MediaControl-stubs.c \
MediaControl.h \
$(NULL)
if ENABLE_CORBA
GENERATEDFILES = MediaControl-common.c MediaControl-skels.c MediaControl.h
endif
CORBAIDLFILE = MediaControl.idl
EXTRA_DIST += $(CORBAIDLFILE)
BUILT_SOURCES += $(GENERATEDFILES)
if ENABLE_CORBA
corbaidldir = $(datadir)/idl
corbaidl_DATA = $(CORBAIDLFILE)
## orbittypelibdir = $(libdir)/orbit-2.0
orbittypelibdir = $(libdir)/advene
orbittypelib_DATA = MediaControl.so
orbittypelib_CFLAGS=`$(VLC_CONFIG) --cflags plugin corba`
orbittypelib_LIBS=`$(VLC_CONFIG) --libs plugin corba`
ORBIT_IDL=`$(PKG_CONFIG) --variable=orbit_idl ORBit-2.0`
## MediaControl.so rules
MediaControl-imodule.o: MediaControl-imodule.c
$(CC) -fPIC -o $@ -c $< $(orbittypelib_CFLAGS)
MediaControl.so: MediaControl-imodule.o
$(CC) -shared -o $@ $< $(orbittypelib_LIBS)
## We have to invoke 2 times $(ORBIT_IDL), else the --imodule
## invocation builds MediaControl-common.c without some
## glue code that is needed.
$(GENERATEDFILES): $(CORBAIDLFILE)
$(ORBIT_IDL) --imodule $<
$(ORBIT_IDL) $<
clean:
$(RM) -f $(GENERATEDFILES)
endif
* Corba module (server) side
** Dependencies
To compile the CORBA plugin, you need the orbit2 developpement files
(for Debian, install the package liborbit2-dev)
** How to run it ?
You run the CORBA module with the following command line :
vlc --intf corba
The CORBA module is initialized and saves its IOR into the file
/tmp/vlc-ior.ref
(it will soon move to $HOME/.vlc-ior.ref)
** Code architecture
The binding between VLC and the MediaControl API (at C-level) is done
through the mediacontrol-core.c file. This file implements an
object-oriented layer API accessible in C.
The corba.c itself only translates calls from CORBA to this C API,
which makes the code clearer overall. Moreover, the same
mediacontrol-core.c file is used by the vlc-python module to implement the
same API.
* Client side
A sample client code can be found at http://liris.cnrs.fr/advene/
** Dependencies
The python client uses the pyorbit library developped by James
Henstridge <james@daa.com.au>
** Typelib information
To simply access the server, you do not need any reference to the IDL
(CORBA2.0 provides introspection facilities). However, if you want to
use the structures defined in the IDL (Position, Origin, ...), you
need to use the IDL information, and compile a dynamic lib
(MediaControl.so) from the IDL.
* Interesting pointers
- GLib reference manual
http://developer.gnome.org/doc/API/glib/
- IDL quickref :
http://www.cs.rpi.edu/~musser/dsc/idl/idl-overview.html
This diff is collapsed.
...@@ -19,14 +19,12 @@ CC=mipsel-linux-gcc CXX=mipsel-linux-g++ AR=mipsel-linux-ar LD=mipsel-linux-ld R ...@@ -19,14 +19,12 @@ CC=mipsel-linux-gcc CXX=mipsel-linux-g++ AR=mipsel-linux-ar LD=mipsel-linux-ld R
--disable-macosx --disable-coreaudio --disable-quicktime \ --disable-macosx --disable-coreaudio --disable-quicktime \
--disable-qnx \ --disable-qnx \
--disable-ncurses \ --disable-ncurses \
--disable-corba \
--disable-mozilla \ --disable-mozilla \
--disable-mga \ --disable-mga \
--disable-svgalib --disable-ggi --disable-glide \ --disable-svgalib --disable-ggi --disable-glide \
--disable-aa --disable-caca \ --disable-aa --disable-caca \
--disable-qte --disable-qt_video \ --disable-qte --disable-qt_video \
--disable-livedotcom \ --disable-livedotcom \
--disable-corba \
--disable-v4l \ --disable-v4l \
--disable-pvr \ --disable-pvr \
--disable-satellite --disable-dvb \ --disable-satellite --disable-dvb \
......
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