Music Hub ..
A session-wide music playback service
Loading...
Searching...
No Matches
hybris_video_sink.h
Go to the documentation of this file.
1/*
2 * Copyright © 2021-2022 UBports Foundation.
3 *
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License version 3,
6 * as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#ifndef LOMIRI_MEDIAHUB_HYBRIS_VIDEO_SINK_H
18#define LOMIRI_MEDIAHUB_HYBRIS_VIDEO_SINK_H
19
20#include "player.h"
21#include "video_sink_p.h"
22
23namespace lomiri {
24namespace MediaHub {
25
27
29class HybrisVideoSink: public VideoSink
30{
31 Q_OBJECT
32
33public:
35 virtual ~HybrisVideoSink();
36
37 bool swapBuffers() override;
38
39private:
40 HybrisVideoSink(uint32_t gl_texture, QObject *parent);
41 void onFrameAvailable();
42 Q_DECLARE_PRIVATE(HybrisVideoSink);
43};
44
45} // namespace MediaHub
46} // namespace lomiri
47
48#endif // LOMIRI_MEDIAHUB_HYBRIS_VIDEO_SINK_H
bool swapBuffers() override
Releases the current buffer, and consumes the next buffer in the queue, making it available for consu...
static VideoSinkFactory createFactory(PlayerKey playerKey)
VideoSink(VideoSinkPrivate *d, QObject *parent=nullptr)
std::function< VideoSink *(uint32_t textureId, QObject *parent)> VideoSinkFactory