vdr
1.7.31
Main Page
Namespaces
Classes
Files
File List
File Members
PLUGINS
src
dvbhddevice
dvbhdffdevice.h
Go to the documentation of this file.
1
/*
2
* dvbhdffdevice.h: The DVB HD Full Featured device interface
3
*
4
* See the README file for copyright information and how to reach the author.
5
*
6
* $Id: dvbhdffdevice.h 1.7 2011/09/10 10:17:32 kls Exp $
7
*/
8
9
#ifndef __DVBHDFFDEVICE_H
10
#define __DVBHDFFDEVICE_H
11
12
#include "
hdffcmd.h
"
13
#include "
vdr/dvbdevice.h
"
14
#include "
vdr/dvbspu.h
"
15
17
18
class
cDvbHdFfDevice
:
public
cDvbDevice
{
19
private
:
20
int
fd_osd
,
fd_audio
,
fd_video
;
21
protected
:
22
virtual
void
MakePrimaryDevice
(
bool
On);
23
public
:
24
static
bool
Probe
(
int
Adapter
,
int
Frontend
);
25
cDvbHdFfDevice
(
int
Adapter
,
int
Frontend
);
26
virtual
~cDvbHdFfDevice
();
27
virtual
bool
HasDecoder
(
void
)
const
;
28
29
// SPU facilities
30
31
private
:
32
cDvbSpuDecoder
*
spuDecoder
;
33
public
:
34
virtual
cSpuDecoder
*
GetSpuDecoder
(
void
);
35
36
// Channel facilities
37
38
private
:
39
void
TurnOffLiveMode
(
bool
LiveView);
40
protected
:
41
virtual
bool
SetChannelDevice
(
const
cChannel
*Channel,
bool
LiveView);
42
43
// PID handle facilities
44
45
protected
:
46
virtual
bool
SetPid
(
cPidHandle
*Handle,
int
Type,
bool
On);
47
48
// Image Grab facilities
49
50
public
:
51
virtual
uchar
*
GrabImage
(
int
&Size,
bool
Jpeg =
true
,
int
Quality = -1,
int
SizeX = -1,
int
SizeY = -1);
52
53
// Video format facilities
54
55
public
:
56
virtual
void
SetVideoDisplayFormat
(
eVideoDisplayFormat
VideoDisplayFormat);
57
virtual
void
SetVideoFormat
(
bool
VideoFormat16_9);
58
virtual
eVideoSystem
GetVideoSystem
(
void
);
59
virtual
void
GetVideoSize
(
int
&Width,
int
&Height,
double
&VideoAspect);
60
virtual
void
GetOsdSize
(
int
&Width,
int
&Height,
double
&PixelAspect);
61
62
// Track facilities
63
64
protected
:
65
virtual
void
SetAudioTrackDevice
(
eTrackType
Type);
66
67
// Audio facilities
68
69
private
:
70
int
audioChannel
;
71
protected
:
72
virtual
int
GetAudioChannelDevice
(
void
);
73
virtual
void
SetAudioChannelDevice
(
int
AudioChannel);
74
virtual
void
SetVolumeDevice
(
int
Volume);
75
virtual
void
SetDigitalAudioDevice
(
bool
On);
76
77
// Player facilities
78
79
private
:
80
int
playVideoPid
;
81
int
playAudioPid
;
82
bool
freezed
;
83
bool
trickMode
;
84
85
// Pes2Ts conversion stuff
86
uint8_t
videoCounter
;
87
uint8_t
audioCounter
;
88
void
BuildTsPacket
(uint8_t * TsBuffer,
bool
PusiSet, uint16_t Pid, uint8_t Counter,
const
uint8_t * Data, uint32_t Length);
89
uint32_t
PesToTs
(uint8_t * TsBuffer, uint16_t Pid, uint8_t & Counter,
const
uint8_t * Data, uint32_t Length);
90
91
protected
:
92
ePlayMode
playMode
;
93
virtual
bool
CanReplay
(
void
)
const
;
94
virtual
bool
SetPlayMode
(
ePlayMode
PlayMode);
95
virtual
int
PlayVideo
(
const
uchar
*Data,
int
Length);
96
virtual
int
PlayAudio
(
const
uchar
*Data,
int
Length,
uchar
Id);
97
virtual
int
PlayTsVideo
(
const
uchar
*Data,
int
Length);
98
virtual
int
PlayTsAudio
(
const
uchar
*Data,
int
Length);
99
public
:
100
virtual
int64_t
GetSTC
(
void
);
101
virtual
void
TrickSpeed
(
int
Speed);
102
virtual
void
Clear
(
void
);
103
virtual
void
Play
(
void
);
104
virtual
void
Freeze
(
void
);
105
virtual
void
Mute
(
void
);
106
virtual
void
StillPicture
(
const
uchar
*Data,
int
Length);
107
virtual
bool
Poll
(
cPoller
&Poller,
int
TimeoutMs = 0);
108
virtual
bool
Flush
(
int
TimeoutMs = 0);
109
110
// HDFF specific things
111
112
public
:
113
static
HDFF::cHdffCmdIf
*
GetHdffCmdHandler
(
void
);
114
private
:
115
static
int
devHdffOffset
;
//TODO
116
bool
isHdffPrimary
;
//TODO implicit!
117
HDFF::cHdffCmdIf
*
mHdffCmdIf
;
118
};
119
120
class
cDvbHdFfDeviceProbe
:
public
cDvbDeviceProbe
{
121
public
:
122
virtual
bool
Probe
(
int
Adapter,
int
Frontend);
123
};
124
125
#endif //__DVBHDFFDEVICE_H
Generated by
1.8.1.2