LiVES 1.3.11-svn
src/stream.h
Go to the documentation of this file.
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
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines