Phonon

videodataoutput.h
1/* This file is part of the KDE project
2 Copyright (C) 2005-2007 Matthias Kretz <kretz@kde.org>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) version 3, or any
8 later version accepted by the membership of KDE e.V. (or its
9 successor approved by the membership of KDE e.V.), Nokia Corporation
10 (or its successors, if any) and the KDE Free Qt Foundation, which shall
11 act as a proxy defined in Section 6 of version 3 of the license.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library. If not, see <http://www.gnu.org/licenses/>.
20
21*/
22
23#ifndef PHONON_VIDEODATAOUTPUT_H
24#define PHONON_VIDEODATAOUTPUT_H
25
26#include "export.h"
27#include "../abstractvideooutput.h"
28#include "../phonondefs.h"
29#include <QObject>
30
31#ifndef K_DOXYGEN
32#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
33template<typename T> class QVector;
34#else
35template<typename T> class QList;
36#endif
37template<typename Key, typename T> class QMap;
38#endif
39class QSize;
40
41namespace Phonon
42{
43namespace Experimental
44{
45 class VideoDataOutputPrivate;
46 struct VideoFrame;
47
48 /**
49 * \short This class gives you nothing. ;-)
50 * \deprecated
51 *
52 * \author Matthias Kretz <kretz@kde.org>
53 */
54 class PHONONEXPERIMENTAL_EXPORT VideoDataOutput : public QObject, public AbstractVideoOutput
55 {
56 Q_OBJECT
57 P_DECLARE_PRIVATE(VideoDataOutput)
58 /**
59 * This property retrieves the nominal latency of the
60 * backend.
61 */
62 Q_PROPERTY(int latency READ latency)
63
64 /**
65 * This property indicates the state of the data output.
66 */
67 Q_PROPERTY(bool running READ isRunning WRITE setRunning)
68
69 PHONON_HEIR(VideoDataOutput)
70 public:
71 int latency() const;
72
73 bool isRunning() const;
74
75 Phonon::Experimental::VideoFrame frameForTime(qint64 timestamp);
76
77 public Q_SLOTS:
78 void setRunning(bool running);
79 void start();
80 void stop();
81
82 Q_SIGNALS:
83 /* FIXME: disabled this piece of documentation - add another * to enable
84 * Fixme: I don't think this makes sense, but I've been wrong before.
85 *
86 * Emitted whenever another dataSize number of samples are ready and
87 * format is set to IntegerFormat.
88 *
89 * If format is set to FloatFormat the signal is not emitted at all.
90 *
91 * \param frame An object of class VideoFrame holding the video data
92 * and some additional information.
93 * void frameReady(const Phonon::Experimental::VideoFrame &frame);
94 */
95
96 /**
97 * The signal is emitted whenever a frame should be displayed.
98 *
99 * The relevant frames should be fetched and displayed using frameForTime
100 * method.
101 *
102 * \param nowStamp the current time
103 * \param outStamp the time the frame should be displayed with
104 */
105 void displayFrame(qint64 nowStamp, qint64 outStamp);
106
107 /**
108 * This signal is emitted after the last frameReady signal of a
109 * media is emitted.
110 */
111 void endOfMedia();
112 };
113
114} // namespace Experimental
115} //namespace Phonon
116
117// vim: sw=4 ts=4 tw=80
118#endif // PHONON_VIDEODATAOUTPUT_H
Common base class for all video outputs.
This class gives you nothing.
void stop(Ekos::AlignState mode)
Q_SCRIPTABLE Q_NOREPLY void start()
A single video frame.
Definition videoframe.h:42
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:20:24 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.