File: qabstractvideosurface.sip

package info (click to toggle)
pyqt5 5.11.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 15,956 kB
  • sloc: python: 93,806; cpp: 21,390; xml: 285; makefile: 266; sh: 31
file content (121 lines) | stat: -rw-r--r-- 4,346 bytes parent folder | download
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
// qabstractvideosurface.sip generated by MetaSIP
//
// This file is part of the QtMultimedia Python extension module.
//
// Copyright (c) 2018 Riverbank Computing Limited <info@riverbankcomputing.com>
// 
// This file is part of PyQt5.
// 
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file.  Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
// 
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license.  For more information contact
// info@riverbankcomputing.com.
// 
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


class QAbstractVideoSurface : QObject
{
%TypeHeaderCode
#include <qabstractvideosurface.h>
%End

%ConvertToSubClassCode
    static struct class_graph {
        const char *name;
        sipTypeDef **type;
        int yes, no;
    } graph[] = {
        {sipName_QSound, &sipType_QSound, -1, 1},
        {sipName_QCameraImageProcessing, &sipType_QCameraImageProcessing, -1, 2},
        {sipName_QVideoProbe, &sipType_QVideoProbe, -1, 3},
        {sipName_QCameraExposure, &sipType_QCameraExposure, -1, 4},
        {sipName_QAudioInput, &sipType_QAudioInput, -1, 5},
    #if QT_VERSION >= 0x050500
        {sipName_QAbstractVideoFilter, &sipType_QAbstractVideoFilter, -1, 6},
    #else
        {0, 0, -1, 6},
    #endif
        {sipName_QMediaObject, &sipType_QMediaObject, 18, 7},
        {sipName_QMediaRecorder, &sipType_QMediaRecorder, 22, 8},
        {sipName_QSoundEffect, &sipType_QSoundEffect, -1, 9},
        {sipName_QCameraImageCapture, &sipType_QCameraImageCapture, -1, 10},
        {sipName_QAbstractVideoSurface, &sipType_QAbstractVideoSurface, -1, 11},
        {sipName_QAudioOutput, &sipType_QAudioOutput, -1, 12},
        {sipName_QCameraFocus, &sipType_QCameraFocus, -1, 13},
        {sipName_QMediaService, &sipType_QMediaService, -1, 14},
        {sipName_QRadioData, &sipType_QRadioData, -1, 15},
        {sipName_QMediaControl, &sipType_QMediaControl, -1, 16},
        {sipName_QMediaPlaylist, &sipType_QMediaPlaylist, -1, 17},
        {sipName_QAudioProbe, &sipType_QAudioProbe, -1, -1},
        {sipName_QRadioTuner, &sipType_QRadioTuner, -1, 19},
        {sipName_QCamera, &sipType_QCamera, -1, 20},
        {sipName_QMediaPlayer, &sipType_QMediaPlayer, -1, 21},
        {sipName_QAudioDecoder, &sipType_QAudioDecoder, -1, -1},
        {sipName_QAudioRecorder, &sipType_QAudioRecorder, -1, -1},
    };
    
    int i = 0;
    
    sipType = NULL;
    
    do
    {
        struct class_graph *cg = &graph[i];
    
        if (cg->name != NULL && sipCpp->inherits(cg->name))
        {
            sipType = *cg->type;
            i = cg->yes;
        }
        else
            i = cg->no;
    }
    while (i >= 0);
%End

public:
    enum Error
    {
        NoError,
        UnsupportedFormatError,
        IncorrectFormatError,
        StoppedError,
        ResourceError,
    };

    explicit QAbstractVideoSurface(QObject *parent /TransferThis/ = 0);
    virtual ~QAbstractVideoSurface();
    virtual QList<QVideoFrame::PixelFormat> supportedPixelFormats(QAbstractVideoBuffer::HandleType type = QAbstractVideoBuffer::NoHandle) const = 0;
    virtual bool isFormatSupported(const QVideoSurfaceFormat &format) const;
    virtual QVideoSurfaceFormat nearestFormat(const QVideoSurfaceFormat &format) const;
    QVideoSurfaceFormat surfaceFormat() const;
    virtual bool start(const QVideoSurfaceFormat &format);
    virtual void stop();
    bool isActive() const;
    virtual bool present(const QVideoFrame &frame) = 0;
    QAbstractVideoSurface::Error error() const;

signals:
    void activeChanged(bool active);
    void surfaceFormatChanged(const QVideoSurfaceFormat &format);
    void supportedFormatsChanged();

protected:
    void setError(QAbstractVideoSurface::Error error);

public:
    QSize nativeResolution() const;

protected:
    void setNativeResolution(const QSize &resolution);

signals:
    void nativeResolutionChanged(const QSize &);
};