OPAL
Version 3.12.9
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
h281.h
Go to the documentation of this file.
1
/*
2
* h281.h
3
*
4
* H.281 PDU implementation for the OpenH323 Project.
5
*
6
* Copyright (c) 2006 Network for Educational Technology, ETH Zurich.
7
* Written by Hannes Friederich.
8
*
9
* The contents of this file are subject to the Mozilla Public License
10
* Version 1.0 (the "License"); you may not use this file except in
11
* compliance with the License. You may obtain a copy of the License at
12
* http://www.mozilla.org/MPL/
13
*
14
* Software distributed under the License is distributed on an "AS IS"
15
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
16
* the License for the specific language governing rights and limitations
17
* under the License.
18
*
19
* Contributor(s): ______________________________________.
20
*
21
* $Revision: 21324 $
22
* $Author: hfriederich $
23
* $Date: 2008-10-14 18:12:32 +1100 (Tue, 14 Oct 2008) $
24
*/
25
26
#ifndef OPAL_H224_H281_H
27
#define OPAL_H224_H281_H
28
29
#ifdef P_USE_PRAGMA
30
#pragma interface
31
#endif
32
33
#ifndef _PTLIB_H
34
#include <ptlib.h>
35
#endif
36
37
#include <
h224/h224.h
>
38
39
class
H281_Frame
:
public
H224_Frame
40
{
41
PCLASSINFO(
H281_Frame
,
H224_Frame
);
42
43
public
:
44
45
enum
RequestType
{
46
IllegalRequest
= 0x00,
47
StartAction
= 0x01,
48
ContinueAction
= 0x02,
49
StopAction
= 0x03,
50
SelectVideoSource
= 0x04,
51
VideoSourceSwitched
= 0x05,
52
StoreAsPreset
= 0x07,
53
ActivatePreset
= 0x08
54
};
55
56
enum
PanDirection
{
57
NoPan
= 0x00,
58
IllegalPan
= 0x40,
59
PanLeft
= 0x80,
60
PanRight
= 0xc0,
61
};
62
63
enum
TiltDirection
{
64
NoTilt
= 0x00,
65
IllegalTilt
= 0x10,
66
TiltDown
= 0x20,
67
TiltUp
= 0x30,
68
};
69
70
enum
ZoomDirection
{
71
NoZoom
= 0x00,
72
IllegalZoom
= 0x04,
73
ZoomOut
= 0x08,
74
ZoomIn
= 0x0c
75
};
76
77
enum
FocusDirection
{
78
NoFocus
= 0x00,
79
IllegalFocus
= 0x01,
80
FocusOut
= 0x02,
81
FocusIn
= 0x03
82
};
83
84
enum
VideoMode
{
85
MotionVideo
= 0x00,
86
IllegalVideoMode
= 0x01,
87
NormalResolutionStillImage
= 0x02,
88
DoubleResolutionStillImage
= 0x03
89
};
90
91
H281_Frame
();
92
~H281_Frame
();
93
94
RequestType
GetRequestType
()
const
{
return
(
RequestType
)(
GetClientDataPtr
())[0]; }
95
void
SetRequestType
(
RequestType
requestType);
96
97
// The following methods are only valid when
98
// request type is either StartAction, ContinueAction or StopAction
99
PanDirection
GetPanDirection
()
const
;
100
void
SetPanDirection
(
PanDirection
direction);
101
102
TiltDirection
GetTiltDirection
()
const
;
103
void
SetTiltDirection
(
TiltDirection
direction);
104
105
ZoomDirection
GetZoomDirection
()
const
;
106
void
SetZoomDirection
(
ZoomDirection
direction);
107
108
FocusDirection
GetFocusDirection
()
const
;
109
void
SetFocusDirection
(
FocusDirection
direction);
110
111
// Only valid when RequestType is StartAction
112
BYTE
GetTimeout
()
const
;
113
void
SetTimeout
(BYTE timeout);
114
115
// Only valid when RequestType is SelectVideoSource or VideoSourceSwitched
116
BYTE
GetVideoSourceNumber
()
const
;
117
void
SetVideoSourceNumber
(BYTE videoSourceNumber);
118
119
VideoMode
GetVideoMode
()
const
;
120
void
SetVideoMode
(
VideoMode
videoMode);
121
122
// Only valid when RequestType is StoreAsPreset or ActivatePreset
123
BYTE
GetPresetNumber
()
const
;
124
void
SetPresetNumber
(BYTE presetNumber);
125
};
126
127
#endif // OPAL_H224_H281_H
128
include
h224
h281.h
Generated on Mon Feb 17 2014 13:37:50 for OPAL by
1.8.3.1