1 /* 2 * camswclient.h - GStreamer softcam client 3 * Copyright (C) 2007 Alessandro Decina 4 * 5 * Authors: 6 * Alessandro Decina <alessandro.d@gmail.com> 7 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Library General Public 10 * License as published by the Free Software Foundation; either 11 * version 2 of the License, or (at your option) any later version. 12 * 13 * This library is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Library General Public License for more details. 17 * 18 * You should have received a copy of the GNU Library General Public 19 * License along with this library; if not, write to the 20 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 21 * Boston, MA 02110-1301, USA. 22 */ 23 24 #ifndef CAM_SW_CLIENT_H 25 #define CAM_SW_CLIENT_H 26 27 #include <glib.h> 28 #include "camutils.h" 29 30 typedef enum 31 { 32 CAM_SW_CLIENT_STATE_CLOSED, 33 CAM_SW_CLIENT_STATE_OPEN, 34 } CamSwClientState; 35 36 typedef struct 37 { 38 /* private */ 39 CamSwClientState state; 40 char *sock_path; 41 int sock; 42 43 } CamSwClient; 44 45 CamSwClient *cam_sw_client_new (void); 46 void cam_sw_client_free (CamSwClient *sw_client); 47 48 gboolean cam_sw_client_open (CamSwClient *sw_client, const char *sock_path); 49 void cam_sw_client_close (CamSwClient *sw_client); 50 51 void cam_sw_client_set_pmt (CamSwClient *sw_client, GstMpegtsPMT *pmt); 52 void cam_sw_client_update_pmt (CamSwClient *sw_client, GstMpegtsPMT *pmt); 53 54 #endif /* CAM_SW_CLIENT_H */ 55