File: VideoDeviceInput.h

package info (click to toggle)
camstream 0.27%2Bdfsg-4
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 12,368 kB
  • ctags: 5,393
  • sloc: cpp: 17,031; sh: 8,154; asm: 455; ansic: 440; makefile: 343
file content (59 lines) | stat: -rw-r--r-- 953 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#ifndef VIDEODEVICEINPUT_HPP
#define VIDEODEVICEINPUT_HPP

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#include <qobject.h>
#include <qvector.h>

#include <linux/videodev.h>

#include "VideoDeviceTuner.h"

class CVideoDeviceLinux;

class CVideoDeviceInput: public QObject
{
   Q_OBJECT
private:
   struct video_channel m_VChan;

   CVideoDeviceLinux *m_pVideo;
   QVector<CVideoDeviceTuner> m_Tuners;
   int m_CurrentTuner;

   QString m_Name;
   int m_Type;
   int m_Flags;

private slots:
   void VideoTunerSwitched(int);

public:
   enum {
     Unknown,
     TV,
     Camera
   } InputTypes;

   CVideoDeviceInput(CVideoDeviceLinux *video, int channel);

   int GetNumber() const;
   QString GetName() const;
   int GetType() const;
   bool HasAudio() const;

   bool Select();

   int GetNumberOfTuners() const;
   CVideoDeviceTuner *GetTuner(int number = -1) const;
   int GetCurrentTuner() const;

signals:
   void Selected(int);
};


#endif