Data Structures | |
struct | vbi_capture_buffer |
Typedefs | |
typedef vbi_capture_buffer | vbi_capture_buffer |
typedef vbi_capture | vbi_capture |
Opaque device interface handle. | |
Enumerations | |
enum | VBI_CAPTURE_FD_FLAGS { VBI_FD_HAS_SELECT = 1<<0, VBI_FD_HAS_MMAP = 1<<1, VBI_FD_IS_DEVICE = 1<<2 } |
Properties of capture file handle. More... | |
Functions | |
void | vbi_capture_sim_add_noise (vbi_capture *cap, unsigned int min_freq, unsigned int max_freq, unsigned int amplitude) |
void | vbi_capture_sim_decode_raw (vbi_capture *cap, vbi_bool enable) |
vbi_capture * | vbi_capture_sim_new (int scanning, unsigned int *services, vbi_bool interlaced, vbi_bool synchronous) |
vbi_capture * | vbi_capture_v4l2_new (const char *dev_name, int buffers, unsigned int *services, int strict, char **errorstr, vbi_bool trace) |
vbi_capture * | vbi_capture_v4l2k_new (const char *dev_name, int fd, int buffers, unsigned int *services, int strict, char **errorstr, vbi_bool trace) |
vbi_capture * | vbi_capture_v4l_new (const char *dev_name, int scanning, unsigned int *services, int strict, char **errorstr, vbi_bool trace) |
vbi_capture * | vbi_capture_v4l_sidecar_new (const char *dev_name, int given_fd, unsigned int *services, int strict, char **errorstr, vbi_bool trace) |
vbi_capture * | vbi_capture_bktr_new (const char *dev_name, int scanning, unsigned int *services, int strict, char **errstr, vbi_bool trace) |
int | vbi_capture_dvb_filter (vbi_capture *cap, int pid) |
vbi_capture * | vbi_capture_dvb_new (char *dev, int scanning, unsigned int *services, int strict, char **errstr, vbi_bool trace) _vbi_deprecated |
int64_t | vbi_capture_dvb_last_pts (const vbi_capture *cap) |
vbi_capture * | vbi_capture_dvb_new2 (const char *device_name, unsigned int pid, char **errstr, vbi_bool trace) |
vbi_capture * | vbi_capture_proxy_new (struct vbi_proxy_client *vpc, int buffers, int scanning, unsigned int *p_services, int strict, char **pp_errorstr) |
int | vbi_capture_read_raw (vbi_capture *capture, void *data, double *timestamp, struct timeval *timeout) |
int | vbi_capture_read_sliced (vbi_capture *capture, vbi_sliced *data, int *lines, double *timestamp, struct timeval *timeout) |
int | vbi_capture_read (vbi_capture *capture, void *raw_data, vbi_sliced *sliced_data, int *lines, double *timestamp, struct timeval *timeout) |
int | vbi_capture_pull_raw (vbi_capture *capture, vbi_capture_buffer **buffer, struct timeval *timeout) |
int | vbi_capture_pull_sliced (vbi_capture *capture, vbi_capture_buffer **buffer, struct timeval *timeout) |
int | vbi_capture_pull (vbi_capture *capture, vbi_capture_buffer **raw_buffer, vbi_capture_buffer **sliced_buffer, struct timeval *timeout) |
vbi_raw_decoder * | vbi_capture_parameters (vbi_capture *capture) |
int | vbi_capture_fd (vbi_capture *capture) |
unsigned int | vbi_capture_update_services (vbi_capture *capture, vbi_bool reset, vbi_bool commit, unsigned int services, int strict, char **errorstr) |
int | vbi_capture_get_scanning (vbi_capture *capture) |
Queries the capture device for the current norm. | |
void | vbi_capture_flush (vbi_capture *capture) |
void | vbi_capture_delete (vbi_capture *capture) |
vbi_bool | vbi_capture_set_video_path (vbi_capture *capture, const char *p_dev_video) |
Set path to video device for TV norm queries. | |
VBI_CAPTURE_FD_FLAGS | vbi_capture_get_fd_flags (vbi_capture *capture) |
Query properties of the capture device file handle. |
|
|
To produce realistic noise min_freq = 0, max_freq = 5e6 and amplitude = 20 to 50 seems appropriate.
|
|
|
|
The VBI data is valid but limited. Just one Teletext page and one line of roll-up caption. The WSS and VPS data is set to defaults, the VPS contains no CNI.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note timestamps returned by vbi_capture read functions contain the system time (gettimeofday()) when the packet containing the first sliced line was captured, not the PTS.
|
|
|
|
Whenever possible the proxy should be used instead of opening the device directly, since it allows the user to start multiple VBI clients in parallel. When this function fails (usually because the user hasn't started the proxy daemon) applications should automatically fall back to opening the device directly.
|
|
|
|
Note: it's generally more efficient to use vbi_capture_pull_sliced() instead, as that one may avoid having to copy sliced data into the given buffer (e.g. for the VBI proxy)
|
|
Note: depending on the driver, captured raw data may have to be copied from the capture buffer into the given buffer (e.g. for v4l2 streams which use memory mapped buffers.) It's generally more efficient to use one of the vbi_capture_pull() interfaces, especially if you don't require access to raw data at all.
|
|
|
|
|
|
The raw and sliced data remains valid until the next vbi_capture_pull() call and must be read only.
|
|
|
|
|
|
|
|
Queries the capture device for the current norm.
This function is intended to allow the application to check for asynchronous norm changes, i.e. by a different application using the same device.
|
|
|
|
|
|
Set path to video device for TV norm queries.
|
|
Query properties of the capture device file handle.
|