#include <VideoDeviceInput.h>
Inheritance diagram for CVideoDeviceInput::
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.
|
|
|
|
|
Constructor.
In the constructor the channel information is queried and stored. It will also create any Tuner objects that may be needed. |
|
Return current tuner number.
|
|
Return symbolic name for input.
|
|
Return channel number.
|
|
|
|
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. |
|
Return type for this input.
Returns a value from the InputTypes enum, either TV or Camera |
|
Returns whether this input has an audio channel associated with it.
|
|
Make this input the current one.
|
|
|
|
|
|
|
|
|