LiVES  3.2.0
stream.h
Go to the documentation of this file.
1 // stream.h
2 // LiVES
3 // (c) G. Finch 2008 - 2016 <salsaman@gmail.com>
4 // released under the GNU GPL 3 or later
5 // see file ../COPYING for licensing details
6 
7 #ifndef HAS_LIVES_STREAM_H
8 #define HAS_LIVES_STREAM_H
9 
10 
11 typedef struct {
12  uint32_t stream_id;
13  uint32_t flags;
14 
15  int64_t timecode;
16  int hsize;
17  int vsize;
18  double fps;
19  int palette;
24 
25  // TODO - use lives_stream_control_t for these
26  size_t dsize;
27  boolean data_ready;
28  void *handle;
29 
30  volatile boolean reading;
31  void *buffer;
32  volatile size_t bufoffs;
34 
35 // stream packet tpyes
36 #define LIVES_STREAM_TYPE_VIDEO 1
37 
38 // video stream flags
39 #define LIVES_VSTREAM_FLAGS_IS_CONTINUATION (1<<0)
40 
41 // video compression types
42 #define LIVES_VSTREAM_COMPRESSION_NONE 0
43 
44 
45 void lives2lives_read_stream(const char *host, int port);
46 void weed_layer_set_from_lives2lives(weed_layer_t *layer, int clip, lives_vstream_t *lstream);
47 void on_open_lives2lives_activate(LiVESMenuItem *, livespointer);
48 void on_send_lives2lives_activate(LiVESMenuItem *, livespointer);
49 
50 typedef struct {
51  LiVESWidget *dialog;
52  LiVESWidget *entry1;
53  LiVESWidget *entry2;
54  LiVESWidget *entry3;
55  LiVESWidget *entry4;
56  LiVESWidget *port_spin;
57  LiVESWidget *rb_anyhost;
59 
61 
62 
63 
64 
65 #endif // HAS_LIVES_STREAM_H
lives_vstream_t::palette
int palette
Definition: stream.h:19
lives_pandh_w::entry1
LiVESWidget * entry1
Definition: stream.h:52
lives_vstream_t::YUV_sampling
int YUV_sampling
Definition: stream.h:20
on_open_lives2lives_activate
void on_open_lives2lives_activate(LiVESMenuItem *, livespointer)
Definition: stream.c:1026
lives_vstream_t::YUV_subspace
int YUV_subspace
Definition: stream.h:22
create_pandh_dialog
lives_pandh_w * create_pandh_dialog(int type)
Definition: stream.c:1074
lives_pandh_w
Definition: stream.h:50
lives2lives_read_stream
void lives2lives_read_stream(const char *host, int port)
Definition: stream.c:415
lives_vstream_t::flags
uint32_t flags
Definition: stream.h:13
lives_pandh_w::entry3
LiVESWidget * entry3
Definition: stream.h:54
lives_pandh_w::entry4
LiVESWidget * entry4
Definition: stream.h:55
weed_layer_set_from_lives2lives
void weed_layer_set_from_lives2lives(weed_layer_t *layer, int clip, lives_vstream_t *lstream)
Definition: stream.c:675
lives_pandh_w::dialog
LiVESWidget * dialog
Definition: stream.h:51
lives_vstream_t::timecode
int64_t timecode
Definition: stream.h:15
lives_vstream_t::hsize
int hsize
Definition: stream.h:16
lives_vstream_t
Definition: stream.h:11
lives_vstream_t::YUV_clamping
int YUV_clamping
Definition: stream.h:21
weed_layer_t
weed_plant_t weed_layer_t
Definition: colourspace.h:71
lives_vstream_t::bufoffs
volatile size_t bufoffs
Definition: stream.h:32
lives_vstream_t::dsize
size_t dsize
Definition: stream.h:26
lives_vstream_t::buffer
void * buffer
Definition: stream.h:31
lives_vstream_t::reading
volatile boolean reading
Definition: stream.h:30
lives_vstream_t::data_ready
boolean data_ready
Definition: stream.h:27
on_send_lives2lives_activate
void on_send_lives2lives_activate(LiVESMenuItem *, livespointer)
Definition: stream.c:982
lives_pandh_w::port_spin
LiVESWidget * port_spin
Definition: stream.h:56
lives_pandh_w::rb_anyhost
LiVESWidget * rb_anyhost
Definition: stream.h:57
lives_vstream_t::vsize
int vsize
Definition: stream.h:17
lives_vstream_t::stream_id
uint32_t stream_id
Definition: stream.h:12
lives_pandh_w::entry2
LiVESWidget * entry2
Definition: stream.h:53
lives_vstream_t::handle
void * handle
Definition: stream.h:28
lives_vstream_t::fps
double fps
Definition: stream.h:18
lives_vstream_t::compression_type
int compression_type
Definition: stream.h:23