static gboolean gst_vbisrc_stop(GstBaseSrc *bsrc) { Gstvbisrc *src; src=GST_VBISRC(bsrc); vbi_capture_delete(src->pVbiCapt); src->pVbiCapt=NULL; vbi_proxy_client_destroy(src->pProxyClient); src->pProxyClient=NULL; return TRUE; }
int main (void) { char *errstr; vbi_bool success; setlocale (LC_ALL, ""); services = (VBI_SLICED_TELETEXT_B | VBI_SLICED_VPS | VBI_SLICED_CAPTION_525); cap = vbi_capture_v4l2_new ("/dev/vbi", /* buffers */ 5, &services, /* strict */ 0, &errstr, /* verbose */ FALSE); if (NULL == cap) { fprintf (stderr, "Cannot capture VBI data with V4L2 interface:\n" "%s\n", errstr); free (errstr); exit (EXIT_FAILURE); } dec = vbi_decoder_new (); assert (NULL != dec); success = vbi_event_handler_add (dec, (VBI_EVENT_NETWORK | VBI_EVENT_NETWORK_ID), handler, /* user_data */ NULL); assert (success); mainloop (); vbi_decoder_delete (dec); vbi_capture_delete (cap); exit (EXIT_SUCCESS); }
void CloseVBI (vlc_v4l2_vbi_t *vbi) { close (vbi_capture_fd (vbi->cap)); vbi_capture_delete (vbi->cap); free (vbi); }