sinek/include gtkxine.h,1.4,1.5

[email protected] Tue, 14 Jan 2003 02:44:26 -0800
Newsgroups gmane.comp.video.sinek.cvs
Message-ID <[email protected]>
Update of /cvsroot/sinek/sinek/include
In directory sc8-pr-cvs1:/tmp/cvs-serv28995/include

Modified Files:
	gtkxine.h 
Log Message:
yikes, what a pain in the ass.  anyways, it now displays video at the correct framerate.


Index: gtkxine.h
===================================================================
RCS file: /cvsroot/sinek/sinek/include/gtkxine.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- gtkxine.h	6 Jan 2003 06:54:14 -0000	1.4
+++ gtkxine.h	14 Jan 2003 10:44:24 -0000	1.5
@@ -27,8 +27,13 @@
 
 typedef struct _GtkXine              GtkXine;
 typedef struct _GtkXineClass         GtkXineClass;
+typedef enum   _GtkXineStatus        GtkXineStatus;
 typedef enum   _GtkXinePlaybackSpeed GtkXinePlaybackSpeed;
 typedef enum   _GtkXineVisualType    GtkXineVisualType;
+typedef enum   _GtkXineAspectRatio   GtkXineAspectRatio;
+typedef enum   _GtkXineEventType     GtkXineEventType;
+typedef struct _GtkXineEvent         GtkXineEvent;
+typedef enum   _GtkXineVersion       GtkXineVersion;
 
 struct _GtkXineClass
 {
@@ -40,6 +45,14 @@
 	void (*reserved4) (void);
 };
 
+enum _GtkXineStatus
+{
+	GTK_XINE_STATUS_IDLE                   = XINE_STATUS_IDLE,
+	GTK_XINE_STATUS_STOPPED                = XINE_STATUS_STOP,
+	GTK_XINE_STATUS_PLAYING                = XINE_STATUS_PLAY,
+	GTK_XINE_STATUS_QUIT                   = XINE_STATUS_QUIT,
+};
+
 enum _GtkXinePlaybackSpeed
 {
 	GTK_XINE_PLAYBACK_SPEED_PAUSE          = XINE_SPEED_PAUSE,
@@ -50,6 +63,63 @@
 	GTK_XINE_PLAYBACK_SPEED_FOUR_FAST      = XINE_SPEED_FAST_4,
 };
 
+enum _GtkXineAspectRatio
+{
+	GTK_XINE_ASPECT_AUTO                   = XINE_VO_ASPECT_AUTO,
+	GTK_XINE_ASPECT_SQUARE                 = XINE_VO_ASPECT_SQUARE,
+	GTK_XINE_ASPECT_4_3                    = XINE_VO_ASPECT_4_3,
+	GTK_XINE_ASPECT_ANAMORPHIC             = XINE_VO_ASPECT_ANAMORPHIC,
+	GTK_XINE_ASPECT_DVB                    = XINE_VO_ASPECT_DVB,
+	GTK_XINE_ASPECT_NUM_RATIOS             = XINE_VO_ASPECT_NUM_RATIOS,
+	GTK_XINE_ASPECT_PAN_SCAN               = XINE_VO_ASPECT_PAN_SCAN,
+	GTK_XINE_ASPECT_DONT_TOUCH             = XINE_VO_ASPECT_DONT_TOUCH,
+};
+
+enum _GtkXineEventType
+{
+	/* received from the backend */
+	GTK_XINE_EVENT_TYPE_PLAYBACK_FINISHED  = XINE_EVENT_UI_PLAYBACK_FINISHED,
+	GTK_XINE_EVENT_TYPE_CHANNEL_CHANGED    = XINE_EVENT_UI_CHANNELS_CHANGED,
+	GTK_XINE_EVENT_TYPE_SET_TITLE          = XINE_EVENT_UI_SET_TITLE,
+	GTK_XINE_EVENT_TYPE_MESSAGE            = XINE_EVENT_UI_MESSAGE,
+	GTK_XINE_EVENT_TYPE_FRAME_FORMAT_CHANGE = XINE_EVENT_FRAME_FORMAT_CHANGE,
+	GTK_XINE_EVENT_TYPE_AUDIO_LEVEL        = XINE_EVENT_AUDIO_LEVEL,
+	GTK_XINE_EVENT_TYPE_QUIT               = XINE_EVENT_QUIT,
+	GTK_XINE_EVENT_PROGRESS                = XINE_EVENT_PROGRESS,
+
+	/* sent to the backend by the UI */
+	GTK_XINE_EVENT_MOUSE_BUTTON            = XINE_EVENT_INPUT_MOUSE_BUTTON,
+	GTK_XINE_EVENT_MOUSE_MOVE              = XINE_EVENT_INPUT_MOUSE_MOVE,
+	GTK_XINE_EVENT_MENU1                   = XINE_EVENT_INPUT_MENU1,
+	GTK_XINE_EVENT_MENU2                   = XINE_EVENT_INPUT_MENU2,
+	GTK_XINE_EVENT_MENU3                   = XINE_EVENT_INPUT_MENU3,
+	GTK_XINE_EVENT_MENU4                   = XINE_EVENT_INPUT_MENU4,
+	GTK_XINE_EVENT_MENU5                   = XINE_EVENT_INPUT_MENU5,
+	GTK_XINE_EVENT_MENU6                   = XINE_EVENT_INPUT_MENU6,
+	GTK_XINE_EVENT_MENU7                   = XINE_EVENT_INPUT_MENU7,
+	GTK_XINE_EVENT_UP                      = XINE_EVENT_INPUT_UP,
+	GTK_XINE_EVENT_DOWN                    = XINE_EVENT_INPUT_DOWN,
+	GTK_XINE_EVENT_LEFT                    = XINE_EVENT_INPUT_LEFT,
+	GTK_XINE_EVENT_RIGHT                   = XINE_EVENT_INPUT_RIGHT, /* .. B, A, B, A */
+	GTK_XINE_EVENT_SELECT                  = XINE_EVENT_INPUT_SELECT,
+	GTK_XINE_EVENT_NEXT                    = XINE_EVENT_INPUT_NEXT,
+	GTK_XINE_EVENT_PREVIOUS                = XINE_EVENT_INPUT_PREVIOUS,
+	GTK_XINE_EVENT_ANGLE_NEXT              = XINE_EVENT_INPUT_ANGLE_NEXT,
+	GTK_XINE_EVENT_ANGLE_PREVIOUS          = XINE_EVENT_INPUT_ANGLE_PREVIOUS,
+	GTK_XINE_EVENT_BUTTON_FORCE            = XINE_EVENT_INPUT_BUTTON_FORCE,
+	GTK_XINE_EVENT_NUMBER_0                = XINE_EVENT_INPUT_NUMBER_0,
+	GTK_XINE_EVENT_NUMBER_1                = XINE_EVENT_INPUT_NUMBER_1,
+	GTK_XINE_EVENT_NUMBER_2                = XINE_EVENT_INPUT_NUMBER_2,
+	GTK_XINE_EVENT_NUMBER_3                = XINE_EVENT_INPUT_NUMBER_3,
+	GTK_XINE_EVENT_NUMBER_4                = XINE_EVENT_INPUT_NUMBER_4,
+	GTK_XINE_EVENT_NUMBER_5                = XINE_EVENT_INPUT_NUMBER_5,
+	GTK_XINE_EVENT_NUMBER_6                = XINE_EVENT_INPUT_NUMBER_6,
+	GTK_XINE_EVENT_NUMBER_7                = XINE_EVENT_INPUT_NUMBER_7,
+	GTK_XINE_EVENT_NUMBER_8                = XINE_EVENT_INPUT_NUMBER_8,
+	GTK_XINE_EVENT_NUMBER_9                = XINE_EVENT_INPUT_NUMBER_9,
+	GTK_XINE_EVENT_NUMBER_10_ADD           = XINE_EVENT_INPUT_NUMBER_10_ADD,
+};
+
 #if 0
 // for now, only support X11
 enum _GtkXineVisualType
@@ -64,24 +134,31 @@
 };
 #endif
 
+struct _GtkXineEvent
+{
+	GtkXineEventType type;
+	void *stream;
+	void *user_data;
+	void *opaque[20];
+};
 
+enum _GtkXineVersion
+{
+	GTK_XINE_MAJOR_VERSION                 = XINE_MAJOR_VERSION,
+	GTK_XINE_MINOR_VERSION                 = XINE_MINOR_VERSION,
+	GTK_XINE_SUB_VERSION                   = XINE_SUB_VERSION,
+};
 
-/**
- ** The default behavior for the warning handler is to print to stderr.
- ** The default behavior for the error handler is to print to stderr, and
- ** then exit.
- ** Audio and video drivers default to "auto".  A value of "null" will cause
+/** Audio and video drivers default to "auto".  A value of "null" will cause
  ** them to not load.
  */
-typedef void (*message_handler_cb) (const char *msg);
+typedef void (*gtk_xine_event_cb) (void *user_data, const GtkXineEvent *event);
 
 GtkType     gtk_xine_get_type             (void);
 GtkWidget*  gtk_xine_new                  (void);
 
-int         gtk_xine_set_warning_handler  (GtkXine *xine, message_handler_cb cb);
-int         gtk_xine_set_error_handler    (GtkXine *xine, message_handler_cb cb);
 const char *gtk_xine_set_audio_driver     (GtkXine *xine, const char *name);
-const char *gtk_xine_set_x11_video_driver (GtkXine *xine, const char *name, GtkWidget *videowin);
+const char *gtk_xine_set_video_driver (GtkXine *xine, const char *name, GtkWidget *videowin);
 /*const char *gtk_xine_set_fb_video_driver  (GtkXine *xine, const char *name);*/
 
 /* config file */
@@ -105,6 +182,11 @@
 int         gtk_xine_play_from_position   (GtkXine *xine, int start);
 int         gtk_xine_play_from_time       (GtkXine *xine, time_t start);
 int         gtk_xine_stop                 (GtkXine *xine);
+GtkXineStatus gtk_xine_get_status         (GtkXine *xine);
+
+void        gtk_xine_event_listener       (GtkXine *xine, gtk_xine_event_cb event_cb, void *user_data);
+void        gtk_xine_event_send           (GtkXine *xine, GtkXineEventType type, void *user_data);
+
 uint32_t    gtk_xine_stream_has_audio     (GtkXine *xine);
 uint32_t    gtk_xine_stream_has_video     (GtkXine *xine);
 
@@ -113,6 +195,8 @@
 GtkXinePlaybackSpeed gtk_xine_set_speed   (GtkXine *xine, GtkXinePlaybackSpeed speed);
 GtkXinePlaybackSpeed gtk_xine_get_speed   (GtkXine *xine);
 
+int         gtk_xine_set_av_offset        (GtkXine *xine, int avoffset);
+int         gtk_xine_get_av_offset        (GtkXine *xine);
 int         gtk_xine_set_audio_channel    (GtkXine *xine, int channel);
 int         gtk_xine_get_audio_channel    (GtkXine *xine);
 int         gtk_xine_set_spu_channel      (GtkXine *xine, int channel);
@@ -125,7 +209,15 @@
 int         gtk_xine_set_mute             (GtkXine *xine, int muted);
 int         gtk_xine_get_mute             (GtkXine *xine);
 
+GtkXineAspectRatio gtk_xine_set_aspect_ratio (GtkXine *xine, GtkXineAspectRatio ratio);
+GtkXineAspectRatio gtk_xine_get_aspect_ratio (GtkXine *xine);
 
+int         gtk_xine_set_deinterlace      (GtkXine *xine, int deinterlace);
+int         gtk_xine_get_deinterlace      (GtkXine *xine);
+int         gtk_xine_set_tvmode           (GtkXine *xine, int tvmode);
+int         gtk_xine_get_tvmode           (GtkXine *xine);
+
+/* XXX: get_{audio,spu}_lang */
 
 int         gtk_xine_get_current_position (GtkXine *xine);
 time_t      gtk_xine_get_current_time     (GtkXine *xine);
@@ -133,7 +225,13 @@
 
 void        gtk_xine_eject                (GtkXine *xine);
 int         gtk_xine_is_seekable          (GtkXine *xine);
- 
+
+void        gtk_xine_send_videowin_visible (GtkXine *xine, int visible);
+
+int         gtk_xine_get_major_version    (GtkXine *xine);
+int         gtk_xine_get_minor_version    (GtkXine *xine);
+int         gtk_xine_get_sub_version      (GtkXine *xine);
+
 #ifdef __cplusplus
 }
 #endif




-------------------------------------------------------
This SF.NET email is sponsored by: FREE  SSL Guide from Thawte
are you planning your Web Server Security? Click here to get a FREE
Thawte SSL guide and find the answers to all your  SSL security issues.
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0026en