Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

CVideoDeviceInput Class Reference

#include <VideoDeviceInput.h>

Inheritance diagram for CVideoDeviceInput::

QObject List of all members.

Public Types

Public Methods

Public Attributes


Detailed Description

Every video device has one or more inputs (called channels in the Video4Linux API). Each input refers to one of the physical inputs on the card/chip, like Tuner, Composite, S-video, etc. This class represents such an input.

In addition, each input can have 0 or more tuners attached to it (to keep matters simple...). A tuner does the actual frequency setting, and is represented by a CVideoDeviceTuner class.

There are three basic TV systems on this planet: PAL, NTSC and SECAM. There are also small variations in these systems, called norms. There are norms like PAL-B, -D, -G, -H, -I, M, -N, -MC; NTSC has two versions, `plain' NTSC (as used in the USA) and NTSC-Japan. SECAM seems to have only one norm. In practice, these norms are all the same when viewing a broadcast; as far as I know the main difference lies in the assignment of the hidden line numbers to services like TeleText, Closed Captioning, etc.

The Video4Linux API unfortunately has two different places where you set norm and system. You set the norm with the channel, and the system within the tuner. Within the BTTV driver, these are mixed up: norm = system. The VIDIOCSCHAN call allows you to set NTSC-JAPAN, for example, yet VIDIOCSTUNER limits it to PAL, NTSC and SECAM only. For this reason the norm selection has been incorporated into this class.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
Unknown  
TV  
Camera  

anonymous enum
 

Enumeration values:
PAL  
NTSC  
SECAM  
PAL_NC  
PAL_M  
PAL_N  
NTSC_JAPAN  
MAX  


Constructor & Destructor Documentation

CVideoDeviceInput::CVideoDeviceInput ( CVideoDevice * video,
int channel )
 

Constructor.

In the constructor the channel information is queried and stored. It will also create any Tuner objects that may be needed.


Member Function Documentation

int CVideoDeviceInput::GetCurrentTuner ( ) const
 

Return current tuner number.

Returns:
Tuner number, or -1 if the current tuner is unknown

Since there is no way to query the current selected tuner from the device, this function returns -1 until a tuner has been selected.

QString CVideoDeviceInput::GetName ( ) const
 

Return symbolic name for input.

int CVideoDeviceInput::GetNumber ( ) const
 

Return channel number.

CVideoDeviceTuner * CVideoDeviceInput::GetTuner ( int number ) const
 

int CVideoDeviceInput::GetTuners ( ) const
 

Return number of tuners.

Most inputs don't have a tuner, or at most 1. Multiple tuners could be used for multi-norm cards (each norm having a separate tuner), but this hasn't happend sofar.

int CVideoDeviceInput::GetType ( ) const
 

Return type for this input.

Returns a value from the InputTypes enum, either TV or Camera

bool CVideoDeviceInput::HasAudio ( ) const
 

Returns whether this input has an audio channel associated with it.

bool CVideoDeviceInput::Select ( )
 

Make this input the current one.

bool CVideoDeviceInput::SelectTuner ( int number )
 

void CVideoDeviceInput::SetNorm ( int norm )
 


Member Data Documentation

enum { ... } CVideoDeviceInput::InputTypes
 

enum { ... } CVideoDeviceInput::TunerNorms
 


The documentation for this class was generated from the following files:
Generated at Wed Jun 20 02:51:26 2001 for Camstream by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001