Music Hub  ..
A session-wide music playback service
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 
23 namespace lomiri {
24 namespace MediaHub {
25 
27 
30 {
31  Q_OBJECT
32 
33 public:
34  static VideoSinkFactory createFactory(PlayerKey playerKey);
35  virtual ~HybrisVideoSink();
36 
37  bool swapBuffers() override;
38 
39 private:
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
QObject
lomiri::MediaHub::GLConsumerWrapperHybris
void * GLConsumerWrapperHybris
Definition: hybris_video_sink.h:26
lomiri::MediaHub::HybrisVideoSink
Definition: hybris_video_sink.h:29
player.h
lomiri::MediaHub::VideoSink
A video sink abstracts a queue of buffers, that receives a stream of decoded video buffers from an ar...
Definition: video_sink.h:34
lomiri::MediaHub::VideoSinkFactory
std::function< VideoSink *(uint32_t textureId, QObject *parent)> VideoSinkFactory
Definition: video_sink_p.h:43
lomiri::MediaHub::HybrisVideoSinkPrivate
Definition: hybris_video_sink.cpp:34
video_sink_p.h
lomiri::MediaHub::HybrisVideoSink::~HybrisVideoSink
virtual ~HybrisVideoSink()
Definition: hybris_video_sink.cpp:96
lomiri::MediaHub::HybrisVideoSink::swapBuffers
bool swapBuffers() override
Releases the current buffer, and consumes the next buffer in the queue, making it available for consu...
Definition: hybris_video_sink.cpp:126
lomiri::MediaHub::PlayerKey
uint32_t PlayerKey
Definition: video_sink_p.h:44
lomiri
Definition: dbus_utils.h:24
lomiri::MediaHub::HybrisVideoSink::createFactory
static VideoSinkFactory createFactory(PlayerKey playerKey)
Definition: hybris_video_sink.cpp:107