This commit is contained in:
Gerasim Troeglazov
2020-12-18 11:43:10 +10:00
parent 51ad21e834
commit 9972429300
2 changed files with 40 additions and 36 deletions

View File

@@ -1,4 +1,4 @@
From fa64d7bc26a7d7caabdc887fbc52c8179e70e420 Mon Sep 17 00:00:00 2001 From 92fa11a4f53754cde91b20f29dc56ede05aa6be0 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com> From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Tue, 20 Oct 2020 16:31:09 +1000 Date: Tue, 20 Oct 2020 16:31:09 +1000
Subject: Add Haiku support Subject: Add Haiku support
@@ -195,38 +195,6 @@ index 9b9d008..ed853e8 100644
#ifndef HAVE_STRUCT_TIMESPEC #ifndef HAVE_STRUCT_TIMESPEC
struct timespec { struct timespec {
diff --git a/include/vlc_threads.h b/include/vlc_threads.h
index 960d458..0077000 100644
--- a/include/vlc_threads.h
+++ b/include/vlc_threads.h
@@ -220,7 +220,13 @@ typedef pthread_cond_t vlc_cond_t;
#define VLC_STATIC_COND PTHREAD_COND_INITIALIZER
typedef semaphore_t vlc_sem_t;
typedef pthread_rwlock_t vlc_rwlock_t;
+// Haiku bug #8798
+#ifdef __HAIKU__
+#define VLC_STATIC_RWLOCK \
+ { VLC_STATIC_MUTEX, VLC_STATIC_COND, 0, 0, 0 }
+#else
#define VLC_STATIC_RWLOCK PTHREAD_RWLOCK_INITIALIZER
+#endif
typedef pthread_key_t vlc_threadvar_t;
typedef struct vlc_timer *vlc_timer_t;
@@ -306,7 +312,13 @@ typedef pthread_rwlock_t vlc_rwlock_t;
/**
* Static initializer for (static) read/write lock.
*/
+// Haiku bug #8798
+#ifdef __HAIKU__
+#define VLC_STATIC_RWLOCK \
+ { VLC_STATIC_MUTEX, VLC_STATIC_COND, 0, 0, 0 }
+#else
#define VLC_STATIC_RWLOCK PTHREAD_RWLOCK_INITIALIZER
+#endif
/**
* Thread-local key handle.
diff --git a/include/vlc_vout_display.h b/include/vlc_vout_display.h diff --git a/include/vlc_vout_display.h b/include/vlc_vout_display.h
index 36f1227..e31d87d 100644 index 36f1227..e31d87d 100644
--- a/include/vlc_vout_display.h --- a/include/vlc_vout_display.h
@@ -2240,7 +2208,7 @@ index ff482dc..fe3c06c 100644
2.28.0 2.28.0
From 12d4864de585f8aea96bc45235f63fb1dd81c83e Mon Sep 17 00:00:00 2001 From 0415150c94e3d881fca539dd2c8154b242be92a0 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com> From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Tue, 20 Oct 2020 18:53:09 +1000 Date: Tue, 20 Oct 2020 18:53:09 +1000
Subject: Add launcher for Haiku Subject: Add launcher for Haiku
@@ -2345,7 +2313,7 @@ index 0000000..37af2e8
2.28.0 2.28.0
From 018f71dbc9dd11335865406bba629c22879aaa36 Mon Sep 17 00:00:00 2001 From f225ec461be84c05c7f9dd06c5a0bd1a1beb5319 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com> From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 21 Oct 2020 23:20:35 +1000 Date: Wed, 21 Oct 2020 23:20:35 +1000
Subject: Calculate window width Subject: Calculate window width
@@ -2377,3 +2345,39 @@ index f9dc8fe..d421f4f 100644
-- --
2.28.0 2.28.0
From a56722f20085453cd52161ac9c94abfeff4e44e8 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 18 Dec 2020 09:10:30 +1000
Subject: Close video output when window close
diff --git a/modules/video_output/haiku.cpp b/modules/video_output/haiku.cpp
index d2de038..071d353 100644
--- a/modules/video_output/haiku.cpp
+++ b/modules/video_output/haiku.cpp
@@ -390,7 +390,8 @@ VLCVideoWindow::DispatchMessage(BMessage *message, BHandler *handler)
bool
VLCVideoWindow::QuitRequested()
{
- Minimize(true);
+ BMessage message(B_QUIT_REQUESTED);
+ CloneAndPushMessage(&message);
return false;
}
@@ -665,6 +666,11 @@ static void Manage( vout_display_t *vd )
while (BMessage* request = sys->win->Queue()->NextMessage()) {
switch (request->what) {
+ case B_QUIT_REQUESTED:
+ {
+ vout_display_SendEventKey(vd, KEY_MEDIA_STOP);
+ break;
+ }
case B_MOUSE_WHEEL_CHANGED:
{
uint32 modifiers = 0;
--
2.28.0

View File

@@ -5,7 +5,7 @@ VCDs, and various streaming protocols."
HOMEPAGE="https://www.videolan.org/vlc/" HOMEPAGE="https://www.videolan.org/vlc/"
COPYRIGHT="1998-2020 VideoLAN" COPYRIGHT="1998-2020 VideoLAN"
LICENSE="GNU GPL v2" LICENSE="GNU GPL v2"
REVISION="6" REVISION="7"
SOURCE_URI="https://download.videolan.org/pub/videolan/vlc/$portVersion/vlc-$portVersion.tar.xz" SOURCE_URI="https://download.videolan.org/pub/videolan/vlc/$portVersion/vlc-$portVersion.tar.xz"
CHECKSUM_SHA256="189311d28aa814f106a7b3645211ac52c0b3e2b9f4b348de2f63bab3218086b8" CHECKSUM_SHA256="189311d28aa814f106a7b3645211ac52c0b3e2b9f4b348de2f63bab3218086b8"
PATCHES="vlc-$portVersion.patchset" PATCHES="vlc-$portVersion.patchset"