DVBProtocolWrapper.hh
Go to the documentation of this file.
1 //
2 // Copyright (c) 2020 Fraunhofer Institute for Applied Information Technology (FIT)
3 // Network Research Group (NET)
4 // Schloss Birlinghoven, 53754 Sankt Augustin, GERMANY
5 // Contact: support@wiback.org
6 //
7 // This file is part of the SENF code tree.
8 // It is licensed under the 3-clause BSD License (aka New BSD License).
9 // See LICENSE.txt in the top level directory for details or visit
10 // https://opensource.org/licenses/BSD-3-Clause
11 //
12 
13 
14 #ifndef HH_SENF_Socket_Protocols_DVB_DVBProtocolWrapper_
15 #define HH_SENF_Socket_Protocols_DVB_DVBProtocolWrapper_ 1
16 
17 // Custom includes
20 #include "DVBDemuxHandles.hh"
21 
22 //-/////////////////////////////////////////////////////////////////////////////////////////////////
23 
24 namespace senf {
25 
30  {
31  private:
32  const DVBDemuxSectionSocketProtocol& protocol;
33 
34  public:
35  enum Flags {CHECK_CRC = DMX_CHECK_CRC,
36  ONESHOT = DMX_ONESHOT,
37  IMMEDIATE_START = DMX_IMMEDIATE_START};
39 
42 
43  void setSectionFilter(unsigned short int pid, uint8_t filter,
44  unsigned int flags, uint8_t mask, uint8_t mode, unsigned int timeout);
45 
46  void setBufferSize(unsigned long size);
48 
52  void startFiltering();
53  void stopFiltering();
54  };
55 
56 
58  {
59  private:
60  const senf::DVBDemuxPESSocketProtocol& protocol;
61 
62  public:
63  enum Flags {CHECK_CRC = DMX_CHECK_CRC,
64  ONESHOT = DMX_ONESHOT,
65  IMMEDIATE_START = DMX_IMMEDIATE_START};
67 
70 
71  void setPESFilter(unsigned short int pid, dmx_input_t input,
72  dmx_output_t output, dmx_pes_type_t pesType, unsigned int flags);
73  void startFiltering();
74  void stopFiltering();
75  };
76 
77 }
78 
79 //-/////////////////////////////////////////////////////////////////////////////////////////////////
80 #include "DVBProtocolWrapper.cci"
81 //#include "DVBProtocolWrapper.ct"
82 //#include "DVBProtocolWrapper.cti"
83 #endif
84 
void setBufferSize(unsigned long size)
Set the size of the circular buffer used for filtered data.
senf::console::ScopedDirectory dir
void stopFiltering()
Stops filtering.
Baseclass of various DVBProtocolWrappers which are defined in DVBProtocolWrapper.hh.
__u32 mask
void startFiltering()
Starts filtering.
DVBDemuxHandles public header.
Helperclass for configuration and controlling DVB protocol handles.
Protocol specific socket handle (client interface)
void setSectionFilter(unsigned short int pid, uint8_t filter, unsigned int flags, uint8_t mask, uint8_t mode, unsigned int timeout)
senf::console::ScopedDirectory dir
DVBSectionProtocolWrapper(senf::DVBDemuxSectionHandle sh)