00001 /* 00002 Copyright (C) 2006 Adam Charrett 00003 00004 This program is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU General Public License 00006 as published by the Free Software Foundation; either version 2 00007 of the License, or (at your option) any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; if not, write to the Free Software 00016 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 00017 00018 servicefilter.h 00019 00020 Filter all packets for a service include the PMT, rewriting the PAT sent out in 00021 the output to only include this service. 00022 00023 */ 00024 #ifndef _SERVICFILTER_H 00025 #define _SERVICFILTER_H 00026 #include "ts.h" 00027 #include "deliverymethod.h" 00037 extern char ServicePIDFilterType[]; 00038 00045 PIDFilter_t *ServiceFilterCreate(TSFilter_t *tsfilter); 00046 00051 void ServiceFilterDestroy(PIDFilter_t *filter); 00052 00057 void ServiceFilterDestroyAll(TSFilter_t *tsFilter); 00058 00065 void ServiceFilterServiceSet(PIDFilter_t *filter, Service_t *service); 00071 Service_t *ServiceFilterServiceGet(PIDFilter_t *filter); 00072 00081 void ServiceFilterAVSOnlySet(PIDFilter_t *filter, bool enable); 00082 00089 bool ServiceFilterAVSOnlyGet(PIDFilter_t *filter); 00090 00096 void ServiceFilterDeliveryMethodSet(PIDFilter_t *filter, DeliveryMethodInstance_t *instance); 00102 DeliveryMethodInstance_t * ServiceFilterDeliveryMethodGet(PIDFilter_t *filter); 00103 00105 #endif