summaryrefslogtreecommitdiffstats
path: root/pica-client/callwindow.h
diff options
context:
space:
mode:
authorAnton <anton@picapica.im>2026-08-14 01:29:59 +0400
committerAnton <anton@picapica.im>2026-08-14 01:29:59 +0400
commitad95ec8759777c4b8df0dcd66fd8200d24e912b1 (patch)
treec5da156d51d1839abaa3ae0804ae588ea64a8cf7 /pica-client/callwindow.h
parent6ef469ba767574384c0373daa5363efb95102ed9 (diff)
downloadpica-pica-ad95ec8759777c4b8df0dcd66fd8200d24e912b1.tar.gz
pica-pica-ad95ec8759777c4b8df0dcd66fd8200d24e912b1.zip
pica-client: VAAPI hardware acceleration
Diffstat (limited to 'pica-client/callwindow.h')
-rw-r--r--pica-client/callwindow.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/pica-client/callwindow.h b/pica-client/callwindow.h
index 9b9869e..b517cd4 100644
--- a/pica-client/callwindow.h
+++ b/pica-client/callwindow.h
@@ -23,6 +23,9 @@
#include <QLabel>
#include <QTimer>
#include <QImage>
+#ifdef HAVE_VAAPI
+#include "vaapivideowidget.h"
+#endif
class CallWindow : public QWidget
{
@@ -44,6 +47,11 @@ private:
// Displays the remote side's video. Stays hidden until the first frame
// arrives, so an audio-only call keeps the compact window it had before.
QLabel *lbVideo;
+#ifdef HAVE_VAAPI
+ // Used instead of lbVideo when frames arrive still living in GPU memory;
+ // only one of the two is ever visible.
+ VaapiVideoWidget *videoGpu;
+#endif
QTimer *callTimer;
int callElapsedSeconds;
@@ -53,6 +61,9 @@ public slots:
void call_started();
void call_ended();
void showRemoteFrame(QImage frame);
+#ifdef HAVE_VAAPI
+ void showRemoteHwFrame(AVFramePtr frame);
+#endif
private slots:
void call();
void accept();