diff options
author | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2003-04-08 09:51:23 +0000 |
---|---|---|
committer | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2003-04-08 09:51:23 +0000 |
commit | acedaa8236d846c6622e34dc0a84b6a6d8e318ff (patch) | |
tree | 70e105d0727bb452c310c534992849f6f48b7975 /gst-libs/gst/play/play.old.h | |
parent | 648620465e596bc08ab9512e3ea1c6d3841b6fa3 (diff) | |
download | gst-plugins-bad-acedaa8236d846c6622e34dc0a84b6a6d8e318ff.tar.gz gst-plugins-bad-acedaa8236d846c6622e34dc0a84b6a6d8e318ff.tar.bz2 gst-plugins-bad-acedaa8236d846c6622e34dc0a84b6a6d8e318ff.zip |
Add new libgstplay. This could in theory break ABI, but in practice it doesn't. If there's any complaints (serious on...
Original commit message from CVS:
Add new libgstplay. This could in theory break ABI, but in practice it doesn't. If there's any complaints (serious ones) I can revert this. It's tested and player-for-0.6.0 works with these changes, so it's binary compatible
Diffstat (limited to 'gst-libs/gst/play/play.old.h')
-rw-r--r-- | gst-libs/gst/play/play.old.h | 148 |
1 files changed, 107 insertions, 41 deletions
diff --git a/gst-libs/gst/play/play.old.h b/gst-libs/gst/play/play.old.h index acf777c9..90f9a5ce 100644 --- a/gst-libs/gst/play/play.old.h +++ b/gst-libs/gst/play/play.old.h @@ -2,6 +2,7 @@ * Copyright (C) 1999,2000,2001,2002 Erik Walthinsen <omega@cse.ogi.edu> * 2000,2001,2002 Wim Taymans <wtay@chello.be> * 2002 Steve Baker <steve@stevebaker.org> + * 2003 Julien Moutte <julien@moutte.net> * * play.h: GstPlay object code * @@ -51,6 +52,7 @@ typedef enum { GST_PLAY_PIPE_AUDIO_THREADED, GST_PLAY_PIPE_AUDIO_HYPER_THREADED, GST_PLAY_PIPE_VIDEO, + GST_PLAY_PIPE_VIDEO_VISUALISATION, } GstPlayPipeType; typedef enum { @@ -63,6 +65,12 @@ typedef enum { GST_PLAY_ERROR_LAST, } GstPlayError; +typedef enum { + GST_PLAY_SINK_TYPE_AUDIO, + GST_PLAY_SINK_TYPE_VIDEO, + GST_PLAY_SINK_TYPE_ANY, +} GstPlaySinkType; + #define GST_PLAY_ERROR gst_play_error_quark () #define GST_TYPE_PLAY (gst_play_get_type()) @@ -76,7 +84,9 @@ typedef struct _GstPlay GstPlay; typedef struct _GstPlayClass GstPlayClass; typedef struct _GstPlayIdleData GstPlayIdleData; -typedef guint (*GstPlayTimeoutAdd) (guint interval, GSourceFunc function, gpointer data); +typedef guint (*GstPlayTimeoutAdd) ( guint interval, + GSourceFunc function, + gpointer data); typedef guint (*GstPlayIdleAdd) (GSourceFunc function, gpointer data); struct _GstPlay @@ -99,6 +109,7 @@ struct _GstPlay GstElement *video_sink_element; GstElement *audio_sink; GstElement *audio_sink_element; + GstElement *visualisation_sink_element; GstDParamManager *vol_dpman; GstDParam *vol_dparam; @@ -117,10 +128,6 @@ struct _GstPlay gint64 time_nanos; gint64 length_nanos; - guint tick_timeout_id; - guint idle_timeout_id; - guint idle_signal_id; - GAsyncQueue *signal_queue; GstPlayTimeoutAdd timeout_add_func; @@ -132,13 +139,24 @@ struct _GstPlayClass GObjectClass parent_class; /* signals */ - void (*information) (GstPlay* play, GstElement* element, GParamSpec *param); - void (*state_changed) (GstPlay* play, GstElementState old_state, GstElementState new_state); - void (*stream_end) (GstPlay* play); - void (*time_tick) (GstPlay* play, gint64 time_nanos); - void (*stream_length) (GstPlay* play, gint64 length_nanos); - void (*have_xid) (GstPlay* play, gint xid); - void (*have_video_size) (GstPlay* play, gint width, gint height); + void (*information) ( GstPlay* play, + GstElement* element, + GParamSpec *param); + void (*state_changed) ( GstPlay* play, + GstElementState old_state, + GstElementState new_state); + void (*stream_end) ( GstPlay* play); + void (*time_tick) ( GstPlay* play, + gint64 time_nanos); + void (*stream_length) ( GstPlay* play, + gint64 length_nanos); + void (*have_xid) ( GstPlay* play, + gint xid); + void (*have_vis_xid) ( GstPlay* play, + gint xid); + void (*have_video_size) ( GstPlay* play, + gint width, + gint height); }; struct _GstPlayIdleData @@ -147,35 +165,83 @@ struct _GstPlayIdleData gpointer data; }; -GType gst_play_get_type (void); - -GstPlay* gst_play_new (GstPlayPipeType pipe_type, GError **error); - -void gst_play_seek_to_time (GstPlay *play, gint64 time_nanos); - -GstElement* gst_play_get_sink_element (GstPlay *play, GstElement *element); - -gboolean gst_play_set_data_src (GstPlay *play, GstElement *data_src); -gboolean gst_play_set_video_sink (GstPlay *play, GstElement *element); -gboolean gst_play_set_audio_sink (GstPlay *play, GstElement *element); -void gst_play_need_new_video_window (GstPlay *play); -GstElementStateReturn gst_play_set_state (GstPlay *play, GstElementState state); -GstElementState gst_play_get_state (GstPlay *play); - -gboolean gst_play_set_location (GstPlay *play, const gchar *location); -gchar* gst_play_get_location (GstPlay *play); - -void gst_play_set_volume (GstPlay *play, gfloat volume); -gfloat gst_play_get_volume (GstPlay *play); - -void gst_play_set_mute (GstPlay *play, gboolean mute); -gboolean gst_play_get_mute (GstPlay *play); - -void gst_play_set_idle_timeout_funcs (GstPlay *play, GstPlayTimeoutAdd timeout_add_func, GstPlayIdleAdd idle_add_func); +void +gst_play_seek_to_time ( GstPlay *play, + gint64 time_nanos); + +void +gst_play_need_new_video_window (GstPlay *play); + +void +gst_play_set_idle_timeout_funcs ( GstPlay *play, + GstPlayTimeoutAdd timeout_add_func, + GstPlayIdleAdd idle_add_func); +GstElement* +gst_play_get_sink_element ( GstPlay *play, + GstElement *element, + GstPlaySinkType sink_type); + +/* Set/Get state */ + +GstElementStateReturn +gst_play_set_state ( GstPlay *play, + GstElementState state); +GstElementState +gst_play_get_state (GstPlay *play); + +/* Set/Get location */ + +gboolean +gst_play_set_location ( GstPlay *play, + const gchar *location); +gchar* +gst_play_get_location (GstPlay *play); + +/* Set/Get volume */ + +void +gst_play_set_volume ( GstPlay *play, + gfloat volume); +gfloat +gst_play_get_volume (GstPlay *play); + +/* Set/Get mute */ + +void +gst_play_set_mute ( GstPlay *play, + gboolean mute); +gboolean +gst_play_get_mute (GstPlay *play); + +/* Set sinks and data src */ + +gboolean +gst_play_set_data_src ( GstPlay *play, + GstElement *data_src); +gboolean +gst_play_set_video_sink ( GstPlay *play, + GstElement *video_sink); +gboolean +gst_play_set_visualisation_video_sink ( GstPlay *play, + GstElement *video_sink); +gboolean +gst_play_set_audio_sink ( GstPlay *play, + GstElement *audio_sink); + +gboolean +gst_play_set_visualisation_element ( GstPlay *play, + GstElement *element); + +gboolean +gst_play_connect_visualisation ( GstPlay *play, + gboolean connect); + +GType +gst_play_get_type (void); + +GstPlay * +gst_play_new ( GstPlayPipeType pipe_type, + GError **error); #endif /* __GSTPLAY_H__ */ - -/* modelines */ -/* vim:set ts=8:sw=8:noet */ - |