diff options
Diffstat (limited to 'modules/vidbridge/vidbridge.h')
-rw-r--r-- | modules/vidbridge/vidbridge.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/modules/vidbridge/vidbridge.h b/modules/vidbridge/vidbridge.h new file mode 100644 index 0000000..15fcdfc --- /dev/null +++ b/modules/vidbridge/vidbridge.h @@ -0,0 +1,47 @@ +/** + * @file vidbridge.h Video bridge -- internal interface + * + * Copyright (C) 2010 Creytiv.com + */ + + +struct vidsrc_st { + struct vidsrc *vs; /* inheritance (1st) */ + + struct le le; + struct vidisp_st *vidisp; + char *device; + vidsrc_frame_h *frameh; + void *arg; +}; + + +struct vidisp_st { + struct vidisp *vd; /* inheritance (1st) */ + + struct le le; + struct vidsrc_st *vidsrc; + char *device; +}; + + +extern struct hash *ht_src; +extern struct hash *ht_disp; + + +int vidbridge_disp_alloc(struct vidisp_st **stp, struct vidisp *vd, + struct vidisp_prm *prm, const char *dev, + vidisp_resize_h *resizeh, void *arg); +int vidbridge_disp_display(struct vidisp_st *st, const char *title, + const struct vidframe *frame); +struct vidisp_st *vidbridge_disp_find(const char *device); + + +int vidbridge_src_alloc(struct vidsrc_st **stp, struct vidsrc *vs, + struct media_ctx **ctx, struct vidsrc_prm *prm, + const struct vidsz *size, const char *fmt, + const char *dev, vidsrc_frame_h *frameh, + vidsrc_error_h *errorh, void *arg); +struct vidsrc_st *vidbridge_src_find(const char *device); +void vidbridge_src_input(const struct vidsrc_st *st, + const struct vidframe *frame); |