OPAL  Version 3.18.8
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 
22 #ifndef OPAL_H224_H281_H
23 #define OPAL_H224_H281_H
24 
25 #ifdef P_USE_PRAGMA
26 #pragma interface
27 #endif
28 
29 #include <opal_config.h>
30 
31 #if OPAL_HAS_H281
32 
33 #include <h224/h224.h>
34 
35 class H281_Frame : public H224_Frame
36 {
37  PCLASSINFO(H281_Frame, H224_Frame);
38 
39 public:
40 
41  enum RequestType {
43  StartAction = 0x01,
45  StopAction = 0x03,
48  StoreAsPreset = 0x06,
50  };
51 
52  enum VideoMode {
53  MotionVideo = 0x00,
57  };
58 
59  H281_Frame();
60  ~H281_Frame();
61 
63  void SetRequestType(RequestType requestType);
64 
65  // The following methods are only valid when
66  // request type is either StartAction, ContinueAction or StopAction
67  int GetDirection(PVideoControlInfo::Types type) const;
68  void SetDirection(PVideoControlInfo::Types type, int direction);
69 
70  // Only valid when RequestType is StartAction
71  BYTE GetTimeout() const;
72  void SetTimeout(BYTE timeout);
73 
74  // Only valid when RequestType is SelectVideoSource or VideoSourceSwitched
75  BYTE GetVideoSourceNumber() const;
76  void SetVideoSourceNumber(BYTE videoSourceNumber);
77 
78  VideoMode GetVideoMode() const;
79  void SetVideoMode(VideoMode videoMode);
80 
81  // Only valid when RequestType is StoreAsPreset or ActivatePreset
82  BYTE GetPresetNumber() const;
83  void SetPresetNumber(BYTE presetNumber);
84 };
85 
86 
87 extern const OpalMediaFormat & GetOpalFECC_RTP();
88 extern const OpalMediaFormat & GetOpalFECC_HDLC();
89 
90 #define OpalFECC_RTP GetOpalFECC_RTP()
91 #define OpalFECC_HDLC GetOpalFECC_HDLC()
92 
93 
94 #endif // OPAL_HAS_H281
95 
96 #endif // OPAL_H224_H281_H
Definition: h281.h:42
void SetDirection(PVideoControlInfo::Types type, int direction)
const OpalMediaFormat & GetOpalFECC_RTP()
Definition: h281.h:53
RequestType
Definition: h281.h:41
Definition: h281.h:48
VideoMode
Definition: h281.h:52
Definition: h281.h:45
int GetDirection(PVideoControlInfo::Types type) const
BYTE GetVideoSourceNumber() const
Definition: h224.h:69
BYTE * GetClientDataPtr() const
Definition: h281.h:35
BYTE GetTimeout() const
RequestType GetRequestType() const
Definition: h281.h:62
Definition: mediafmt.h:806
VideoMode GetVideoMode() const
BYTE GetPresetNumber() const
const OpalMediaFormat & GetOpalFECC_HDLC()
void SetTimeout(BYTE timeout)
void SetVideoMode(VideoMode videoMode)
Definition: h281.h:49
Definition: h281.h:44
Definition: h281.h:47
Definition: h281.h:54
void SetPresetNumber(BYTE presetNumber)
void SetVideoSourceNumber(BYTE videoSourceNumber)
void SetRequestType(RequestType requestType)
Definition: h281.h:46
Definition: h281.h:43