mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 01:50:42 -05:00
74 lines
1.2 KiB
C
74 lines
1.2 KiB
C
|
#ifndef _HAVE_CLTR_VIDEO_H
|
||
|
#define _HAVE_CLTR_VIDEO_H
|
||
|
|
||
|
#include "cltr.h"
|
||
|
|
||
|
#include <gst/play/play.h>
|
||
|
#include <gst/gconf/gconf.h>
|
||
|
|
||
|
typedef struct CltrVideo CltrVideo;
|
||
|
|
||
|
/* Signals - cltrimagesink needs to deliver texture signals :/ */
|
||
|
|
||
|
enum {
|
||
|
CLTR_VIDEO_ASYNC_TEXTURE,
|
||
|
CLTR_VIDEO_ASYNC_VIDEO_SIZE,
|
||
|
CLTR_VIDEO_ASYNC_ERROR,
|
||
|
CLTR_VIDEO_ASYNC_FOUND_TAG,
|
||
|
CLTR_VIDEO_ASYNC_NOTIFY_STREAMINFO,
|
||
|
CLTR_VIDEO_ASYNC_EOS,
|
||
|
CLTR_VIDEO_ASYNC_BUFFERING,
|
||
|
CLTR_VIDEO_ASYNC_REDIRECT
|
||
|
};
|
||
|
|
||
|
typedef struct CltrVideoSignal
|
||
|
{
|
||
|
gint signal_id;
|
||
|
union
|
||
|
{
|
||
|
struct
|
||
|
{
|
||
|
gint width;
|
||
|
gint height;
|
||
|
} video_size;
|
||
|
struct
|
||
|
{
|
||
|
GstElement *element;
|
||
|
GError *error;
|
||
|
char *debug_message;
|
||
|
} error;
|
||
|
struct
|
||
|
{
|
||
|
GstElement *source;
|
||
|
GstTagList *tag_list;
|
||
|
} found_tag;
|
||
|
struct
|
||
|
{
|
||
|
gint percent;
|
||
|
} buffering;
|
||
|
struct
|
||
|
{
|
||
|
gchar *new_location;
|
||
|
} redirect;
|
||
|
struct
|
||
|
{
|
||
|
CltrTexture *ref;
|
||
|
} texture;
|
||
|
} signal_data;
|
||
|
}
|
||
|
CltrVideoSignal;
|
||
|
|
||
|
#define CLTR_VIDEO(w) ((CltrVideo*)(w))
|
||
|
|
||
|
CltrWidget*
|
||
|
cltr_video_new(int width, int height);
|
||
|
|
||
|
gboolean
|
||
|
cltr_video_set_source(CltrVideo *video, char *location);
|
||
|
|
||
|
void
|
||
|
cltr_video_play(CltrVideo *video);
|
||
|
|
||
|
|
||
|
#endif
|