h281.h
Go to the documentation of this file.
/*
* h281.h
*
* H.281 PDU implementation for the OpenH323 Project.
*
* Copyright (c) 2006 Network for Educational Technology, ETH Zurich.
* Written by Hannes Friederich.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* Contributor(s): ______________________________________.
*
* $Revision: 21324 $
* $Author: hfriederich $
* $Date: 2008-10-14 02:12:32 -0500 (Tue, 14 Oct 2008) $
*/
#ifndef OPAL_H224_H281_H
#define OPAL_H224_H281_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#ifndef _PTLIB_H
#include <ptlib.h>
#endif
#include <h224/h224.h>
class H281_Frame : public H224_Frame
{
PCLASSINFO(H281_Frame, H224_Frame);
public:
enum RequestType {
IllegalRequest = 0x00,
StartAction = 0x01,
ContinueAction = 0x02,
StopAction = 0x03,
SelectVideoSource = 0x04,
VideoSourceSwitched = 0x05,
StoreAsPreset = 0x07,
ActivatePreset = 0x08
};
enum PanDirection {
NoPan = 0x00,
IllegalPan = 0x40,
PanLeft = 0x80,
PanRight = 0xc0,
};
enum TiltDirection {
NoTilt = 0x00,
IllegalTilt = 0x10,
TiltDown = 0x20,
TiltUp = 0x30,
};
enum ZoomDirection {
NoZoom = 0x00,
IllegalZoom = 0x04,
ZoomOut = 0x08,
ZoomIn = 0x0c
};
enum FocusDirection {
NoFocus = 0x00,
IllegalFocus = 0x01,
FocusOut = 0x02,
FocusIn = 0x03
};
enum VideoMode {
MotionVideo = 0x00,
IllegalVideoMode = 0x01,
NormalResolutionStillImage = 0x02,
DoubleResolutionStillImage = 0x03
};
H281_Frame();
~H281_Frame();
RequestType GetRequestType() const { return (RequestType)(GetClientDataPtr())[0]; }
void SetRequestType(RequestType requestType);
// The following methods are only valid when
// request type is either StartAction, ContinueAction or StopAction
PanDirection GetPanDirection() const;
void SetPanDirection(PanDirection direction);
TiltDirection GetTiltDirection() const;
void SetTiltDirection(TiltDirection direction);
ZoomDirection GetZoomDirection() const;
void SetZoomDirection(ZoomDirection direction);
FocusDirection GetFocusDirection() const;
void SetFocusDirection(FocusDirection direction);
// Only valid when RequestType is StartAction
BYTE GetTimeout() const;
void SetTimeout(BYTE timeout);
// Only valid when RequestType is SelectVideoSource or VideoSourceSwitched
BYTE GetVideoSourceNumber() const;
void SetVideoSourceNumber(BYTE videoSourceNumber);
VideoMode GetVideoMode() const;
void SetVideoMode(VideoMode videoMode);
// Only valid when RequestType is StoreAsPreset or ActivatePreset
BYTE GetPresetNumber() const;
void SetPresetNumber(BYTE presetNumber);
};
#endif // OPAL_H224_H281_H
H281_Frame::IllegalRequest
Definition: h281.h:46
H281_Frame::GetPanDirection
PanDirection GetPanDirection() const
H281_Frame::SetPanDirection
void SetPanDirection(PanDirection direction)
H281_Frame::NoPan
Definition: h281.h:57
H281_Frame::~H281_Frame
~H281_Frame()
H281_Frame::NormalResolutionStillImage
Definition: h281.h:87
H281_Frame::ZoomOut
Definition: h281.h:73
H281_Frame::IllegalFocus
Definition: h281.h:79
H281_Frame::MotionVideo
Definition: h281.h:85
H281_Frame::RequestType
RequestType
Definition: h281.h:45
H281_Frame::StoreAsPreset
Definition: h281.h:52
H281_Frame::NoTilt
Definition: h281.h:64
H281_Frame::NoZoom
Definition: h281.h:71
H281_Frame::GetFocusDirection
FocusDirection GetFocusDirection() const
H281_Frame::PanRight
Definition: h281.h:60
H281_Frame::VideoMode
VideoMode
Definition: h281.h:84
H281_Frame::StopAction
Definition: h281.h:49
H281_Frame::TiltDown
Definition: h281.h:66
H281_Frame::SetZoomDirection
void SetZoomDirection(ZoomDirection direction)
H281_Frame::GetVideoSourceNumber
BYTE GetVideoSourceNumber() const
H224_Frame
Definition: h224.h:91
H224_Frame::GetClientDataPtr
BYTE * GetClientDataPtr() const
H281_Frame
Definition: h281.h:39
H281_Frame::PanDirection
PanDirection
Definition: h281.h:56
H281_Frame::ZoomIn
Definition: h281.h:74
H281_Frame::GetTiltDirection
TiltDirection GetTiltDirection() const
H281_Frame::GetTimeout
BYTE GetTimeout() const
H281_Frame::GetRequestType
RequestType GetRequestType() const
Definition: h281.h:94
H281_Frame::FocusDirection
FocusDirection
Definition: h281.h:77
H281_Frame::DoubleResolutionStillImage
Definition: h281.h:88
H281_Frame::IllegalTilt
Definition: h281.h:65
H281_Frame::GetVideoMode
VideoMode GetVideoMode() const
H281_Frame::IllegalPan
Definition: h281.h:58
H281_Frame::IllegalZoom
Definition: h281.h:72
H281_Frame::SetTiltDirection
void SetTiltDirection(TiltDirection direction)
H281_Frame::GetPresetNumber
BYTE GetPresetNumber() const
H281_Frame::GetZoomDirection
ZoomDirection GetZoomDirection() const
H281_Frame::SetTimeout
void SetTimeout(BYTE timeout)
H281_Frame::SetVideoMode
void SetVideoMode(VideoMode videoMode)
H281_Frame::ActivatePreset
Definition: h281.h:53
H281_Frame::ContinueAction
Definition: h281.h:48
H281_Frame::VideoSourceSwitched
Definition: h281.h:51
H281_Frame::PanLeft
Definition: h281.h:59
H281_Frame::FocusIn
Definition: h281.h:81
H281_Frame::TiltUp
Definition: h281.h:67
H281_Frame::NoFocus
Definition: h281.h:78
H281_Frame::FocusOut
Definition: h281.h:80
H281_Frame::IllegalVideoMode
Definition: h281.h:86
H281_Frame::SetFocusDirection
void SetFocusDirection(FocusDirection direction)
H281_Frame::SetPresetNumber
void SetPresetNumber(BYTE presetNumber)
H281_Frame::SetVideoSourceNumber
void SetVideoSourceNumber(BYTE videoSourceNumber)
H281_Frame::ZoomDirection
ZoomDirection
Definition: h281.h:70
H281_Frame::SetRequestType
void SetRequestType(RequestType requestType)
H281_Frame::SelectVideoSource
Definition: h281.h:50
H281_Frame::TiltDirection
TiltDirection
Definition: h281.h:63
H281_Frame::H281_Frame
H281_Frame()
h224.h
H281_Frame::StartAction
Definition: h281.h:47