LiVES 1.3.11-svn
|
00001 // stream.h 00002 // LiVES 00003 // (c) G. Finch 2008 <salsaman@xs4all.nl> 00004 // released under the GNU GPL 3 or later 00005 // see file ../COPYING for licensing details 00006 00007 #ifndef _HAS_STREAM_H 00008 #define _HAS_STREAM_H 00009 00010 00011 typedef struct { 00012 guint32 stream_id; 00013 guint32 flags; 00014 00015 int64_t timecode; 00016 int hsize; 00017 int vsize; 00018 double fps; 00019 int palette; 00020 int YUV_sampling; 00021 int YUV_clamping; 00022 int YUV_subspace; 00023 int compression_type; 00024 00025 // TODO - use lives_stream_control_t for these 00026 size_t dsize; 00027 gboolean data_ready; 00028 void *handle; 00029 00030 volatile gboolean reading; 00031 void *buffer; 00032 volatile size_t bufoffs; 00033 } lives_vstream_t; 00034 00035 // stream packet tpyes 00036 #define LIVES_STREAM_TYPE_VIDEO 1 00037 00038 // video stream flags 00039 #define LIVES_VSTREAM_FLAGS_IS_CONTINUATION 1<<0 00040 00041 // video compression types 00042 #define LIVES_VSTREAM_COMPRESSION_NONE 0 00043 00044 00045 void lives2lives_read_stream (const gchar *host, int port); 00046 void weed_layer_set_from_lives2lives (weed_plant_t *layer, gint clip, lives_vstream_t *lstream); 00047 void on_open_lives2lives_activate (GtkMenuItem *, gpointer); 00048 void on_send_lives2lives_activate (GtkMenuItem *, gpointer); 00049 00050 typedef struct { 00051 GtkWidget *dialog; 00052 GtkWidget *entry1; 00053 GtkWidget *entry2; 00054 GtkWidget *entry3; 00055 GtkWidget *entry4; 00056 GtkWidget *port_spin; 00057 GtkWidget *rb_anyhost; 00058 } lives_pandh_w; 00059 00060 lives_pandh_w* create_pandh_dialog (gint type); 00061 00062 00063 00064 00065 #endif // _HAS_STREAM_H