follow enigma2 pvr channel allocation api change
[enigma2-plugins.git] / bitrateviewer / src / bitratecalc / bitratecalc.h
1 #ifndef __bitratecalc_h
2 #define __bitratecalc_h
3
4 /*
5 #  BitrateCalculator E2
6 #
7 #  $Id$
8 #
9 #  Coded by Dr.Best (c) 2010
10 #  Support: www.dreambox-tools.info
11 #
12 #  This plugin is licensed under the Creative Commons 
13 #  Attribution-NonCommercial-ShareAlike 3.0 Unported 
14 #  License. To view a copy of this license, visit
15 #  http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative
16 #  Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
17 #
18 #  Alternatively, this plugin may be distributed and executed on hardware which
19 #  is licensed by Dream Multimedia GmbH.
20
21 #  This plugin is NOT free software. It is open source, you are allowed to
22 #  modify it (if you keep the license), but it may not be commercially 
23 #  distributed other than under the conditions noted above.
24 */
25
26 #include <lib/dvb/idvb.h>
27 #include <lib/dvb/dvb.h>
28
29 class eBitrateCalc: public Object
30 {
31 private:
32         unsigned long long m_size;
33         int m_refresh_intervall;
34         struct timespec m_start;
35         ePtr<iDVBPESReader> m_reader;
36         ePtr<eConnection> m_pes_connection;
37         ePtr<eConnection> m_channel_connection;
38         void dataReady(const __u8*,  int size);
39         void sendData(int bitrate, int status) {dataSent(bitrate, status);}
40         void stateChange(iDVBChannel *ch);
41         ePtr<eTimer> m_send_data_timer;
42         void sendDataTimerTimeoutCB();
43 public:
44         eBitrateCalc(const eServiceReference &ref, int pid, int refreshintervall, int buffer_size);
45         PSignal2<void, int, int> dataSent;
46 };
47
48 #endif