openATV enigma2
openATV is an open source SetTopBox Graphical user interface.
servicedvbstream.h
Go to the documentation of this file.
1 #ifndef __servicedvbstream_h
2 #define __servicedvbstream_h
3 
4 #include <lib/dvb/idvb.h>
5 
6 #include <lib/dvb/pmt.h>
7 #include <lib/dvb/eit.h>
8 #include <set>
9 
10 #include <lib/service/servicedvb.h>
11 
12 class eDVBServiceStream: public eDVBServiceBase, public sigc::trackable
13 {
14  DECLARE_REF(eDVBServiceStream);
15 public:
17  int start(const char *serviceref, int fd);
18  int stop();
19 
20 protected:
24 
26 
28 
31 
33  std::set<int> m_pids_active;
34 
36 
37  int doPrepare();
38  int doRecord();
39 
40  /* events */
41  void serviceEvent(int event);
42 
43  /* recorder events */
44  void recordEvent(int event);
45 
46  /* eit updates */
47  void gotNewEvent(int error);
48 
49  virtual void streamStopped() {}
50  virtual void tuneFailed() {}
51  virtual void eventUpdate(int event){}
52  int m_record_no_pids = 0;
53  void recordPids(std::set<int> pids_to_record, int timing_pid, int timing_stream_type, iDVBTSRecorder::timing_pid_type timing_pid_type);
54  bool recordCachedPids();
55 };
56 
57 #endif
Definition: servicedvb.h:71
Definition: eit.h:11
Definition: servicedvbstream.h:13
std::set< int > m_pids_active
Definition: servicedvbstream.h:33
ePtr< eConnection > m_con_record_event
Definition: servicedvbstream.h:30
@ statePrepared
Definition: servicedvbstream.h:21
@ stateIdle
Definition: servicedvbstream.h:21
@ stateRecording
Definition: servicedvbstream.h:21
virtual void eventUpdate(int event)
Definition: servicedvbstream.h:51
int m_state
Definition: servicedvbstream.h:22
virtual void tuneFailed()
Definition: servicedvbstream.h:50
int m_want_record
Definition: servicedvbstream.h:22
int m_tuned
Definition: servicedvbstream.h:32
void gotNewEvent(int error)
Definition: servicedvbstream.cpp:425
bool m_stream_ait
Definition: servicedvbstream.h:23
int m_recording
Definition: servicedvbstream.h:32
int doRecord()
Definition: servicedvbstream.cpp:123
eDVBServiceEITHandler m_event_handler
Definition: servicedvbstream.h:25
int start(const char *serviceref, int fd)
Definition: servicedvbstream.cpp:75
bool m_stream_sdtbat
Definition: servicedvbstream.h:23
bool m_stream_ecm
Definition: servicedvbstream.h:23
int m_target_fd
Definition: servicedvbstream.h:35
virtual void streamStopped()
Definition: servicedvbstream.h:49
int doPrepare()
Definition: servicedvbstream.cpp:105
bool m_stream_eit
Definition: servicedvbstream.h:23
eServiceReferenceDVB m_ref
Definition: servicedvbstream.h:27
eDVBServiceStream()
Definition: servicedvbstream.cpp:11
int m_record_no_pids
Definition: servicedvbstream.h:52
ePtr< iDVBTSRecorder > m_record
Definition: servicedvbstream.h:29
bool recordCachedPids()
Definition: servicedvbstream.cpp:313
int stop()
Definition: servicedvbstream.cpp:85
void recordEvent(int event)
Definition: servicedvbstream.cpp:411
void serviceEvent(int event)
Definition: servicedvbstream.cpp:25
void recordPids(std::set< int > pids_to_record, int timing_pid, int timing_stream_type, iDVBTSRecorder::timing_pid_type timing_pid_type)
Definition: servicedvbstream.cpp:371
Definition: idvb.h:192
timing_pid_type
Definition: idemux.h:36