Avidemux: bump version

This commit is contained in:
Gerasim Troeglazov
2019-03-25 00:09:17 +10:00
parent 57aa96e0ca
commit 992556145a
2 changed files with 213 additions and 359 deletions

View File

@@ -4,11 +4,11 @@ filtering and encoding tasks. It supports many file types, including AVI, \
DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks \ DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks \
can be automated using projects, job queue and powerful scripting capabilities." can be automated using projects, job queue and powerful scripting capabilities."
HOMEPAGE="http://fixounet.free.fr/avidemux/" HOMEPAGE="http://fixounet.free.fr/avidemux/"
COPYRIGHT="20012018 Mean" COPYRIGHT="20012019 Mean"
LICENSE="GNU GPL v3" LICENSE="GNU GPL v3"
REVISION="6" REVISION="1"
SOURCE_URI="https://sourceforge.net/projects/avidemux/files/avidemux/$portVersion/avidemux_$portVersion.tar.gz" SOURCE_URI="https://sourceforge.net/projects/avidemux/files/avidemux/$portVersion/avidemux_$portVersion.tar.gz"
CHECKSUM_SHA256="3ccd784a329c8957c6741923549fdfb70f3b96d087aeb514f3d52e1cd281e995" CHECKSUM_SHA256="8d768e09cb646e4aa954d3332417fc565261590fb4944bccb917c192adada29f"
SOURCE_DIR="avidemux_$portVersion" SOURCE_DIR="avidemux_$portVersion"
PATCHES="avidemux-$portVersion.patchset" PATCHES="avidemux-$portVersion.patchset"
ADDITIONAL_FILES=" ADDITIONAL_FILES="

View File

@@ -1,117 +1,9 @@
From cc8eb7995a1bef28e56f887341e8d6b35dd06d38 Mon Sep 17 00:00:00 2001 From f2c074b9b5911b032f42810a9477c7af2259d52d Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com> From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Wed, 11 Jul 2018 22:46:06 +1000 Date: Sun, 24 Mar 2019 23:33:57 +1000
Subject: Fix build for Haiku Subject: Fix build for Haiku
diff --git a/avidemux_core/ADM_core/include/ADM_crashdump_other.h b/avidemux_core/ADM_core/include/ADM_crashdump_other.h
index 6deba1e..1866602 100644
--- a/avidemux_core/ADM_core/include/ADM_crashdump_other.h
+++ b/avidemux_core/ADM_core/include/ADM_crashdump_other.h
@@ -1,4 +1,4 @@
-#if !defined(__APPLE__) && !defined(__unix__) && !defined(__MINGW32__) && !defined ADM_CRASHDUMP_OTHER_H
+#if !defined(__APPLE__) && !defined(__HAIKU__) && !defined(__unix__) && !defined(__MINGW32__) && !defined ADM_CRASHDUMP_OTHER_H
#define ADM_CRASHDUMP_OTHER_H
#define installSigHandler(...) {}
diff --git a/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp b/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp
index a2f1375..b4b6fd2 100644
--- a/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp
+++ b/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp
@@ -40,8 +40,13 @@
static ADM_saveFunction *mysaveFunction=NULL;
static ADM_fatalFunction *myFatalFunction=NULL;
static ADM_sigIntFunction *mySigIntFunction=NULL;
+#ifdef __HAIKU__
+static __sighandler_t oldSignalHandlerSigInt;
+static __sighandler_t oldSignalHandlerSigSev;
+#else
static sighandler_t oldSignalHandlerSigInt;
static sighandler_t oldSignalHandlerSigSev;
+#endif
void sig_segfault_handler(int signo);
void sig_sigint_handler(int signo);
diff --git a/avidemux_core/ADM_core/src/ADM_folder_linux.cpp b/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
index 686e85a..3625d55 100644
--- a/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
+++ b/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
@@ -39,7 +39,11 @@ static std::string ADM_i18nDir;
static std::string canonize(const std::string &in)
{
std::string out;
+#ifdef __HAIKU__
+ char *simple2=realpath(in.c_str(), NULL);
+#else
char *simple2=canonicalize_file_name(in.c_str());
+#endif
if(simple2)
{
out=std::string(simple2)+std::string("/");
diff --git a/avidemux_core/CMakeLists.txt b/avidemux_core/CMakeLists.txt
index ba31722..b00ea2d 100644
--- a/avidemux_core/CMakeLists.txt
+++ b/avidemux_core/CMakeLists.txt
@@ -52,7 +52,7 @@ checkFtello()
MESSAGE(STATUS "Checking for sqlite")
MESSAGE(STATUS "*******************")
-IF (UNIX)
+IF (UNIX AND NOT HAIKU)
SET(SQLITE_REQUIRED_FLAGS "-ldl")
ENDIF (UNIX)
diff --git a/cmake/cmake_compile_check/execinfo.cpp b/cmake/cmake_compile_check/execinfo.cpp
index 00304cf..07077fa 100644
--- a/cmake/cmake_compile_check/execinfo.cpp
+++ b/cmake/cmake_compile_check/execinfo.cpp
@@ -2,36 +2,8 @@
#include <stdio.h>
#include <stdlib.h>
-/* Obtain a backtrace and print it to stdout. */
-void
-print_trace (void)
-{
- void *array[10];
- size_t size;
- char **strings;
- size_t i;
-
- size = backtrace (array, 10);
- strings = backtrace_symbols (array, size);
-
- printf ("Obtained %zd stack frames.\n", size);
-
- for (i = 0; i < size; i++)
- printf ("%s\n", strings[i]);
-
- free (strings);
-}
-
-/* A dummy function to make the backtrace more interesting. */
-void
-dummy_function (void)
-{
- print_trace ();
-}
-
int
main (void)
{
- dummy_function ();
return 0;
}
--
2.19.1
From b272d14cc276dbc77f64ad20ede86ab47e7171a3 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 12 Jul 2018 00:09:37 +1000
Subject: Fix build 2
diff --git a/avidemux/common/main.cpp b/avidemux/common/main.cpp diff --git a/avidemux/common/main.cpp b/avidemux/common/main.cpp
old mode 100755 old mode 100755
new mode 100644 new mode 100644
@@ -141,7 +33,7 @@ index cb2b34b..80cfaa0
} }
/** /**
diff --git a/avidemux/qt4/ADM_jobs/src/ADM_jobs.cpp b/avidemux/qt4/ADM_jobs/src/ADM_jobs.cpp diff --git a/avidemux/qt4/ADM_jobs/src/ADM_jobs.cpp b/avidemux/qt4/ADM_jobs/src/ADM_jobs.cpp
index f537995..08c7f7c 100644 index f1ffa2f..a1018e8 100644
--- a/avidemux/qt4/ADM_jobs/src/ADM_jobs.cpp --- a/avidemux/qt4/ADM_jobs/src/ADM_jobs.cpp
+++ b/avidemux/qt4/ADM_jobs/src/ADM_jobs.cpp +++ b/avidemux/qt4/ADM_jobs/src/ADM_jobs.cpp
@@ -44,9 +44,9 @@ int main(int argc, char *argv[]) @@ -44,9 +44,9 @@ int main(int argc, char *argv[])
@@ -178,32 +70,42 @@ index f537995..08c7f7c 100644
return 0; return 0;
} }
diff --git a/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp b/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp diff --git a/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp b/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp
index c880574..62fa6ef 100644 index 006c386..9b16954 100644
--- a/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp --- a/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp
+++ b/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp +++ b/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp
@@ -83,7 +83,7 @@ bool ADM_QPreviewCleanup(void) @@ -82,9 +82,6 @@ bool ADM_QPreviewCleanup(void)
*
* @param z * @param z
*/ */
#ifdef __HAIKU__ -#ifdef __HAIKU__
-ADM_Qvideo::ADM_Qvideo(QWidget *z) : QWidget(z) {} -ADM_Qvideo::ADM_Qvideo(QWidget *z) : QWidget(z) {}
+ADM_Qvideo::ADM_Qvideo(QFrame *z) : QWidget(z) {} -#else
#else
ADM_Qvideo::ADM_Qvideo(QFrame *z) : QWidget(z) ADM_Qvideo::ADM_Qvideo(QFrame *z) : QWidget(z)
{ {
@@ -215,6 +215,9 @@ void UI_getWindowInfo(void *draw, GUI_WindowInfo *xinfo) useExternalRedraw(true);
@@ -104,8 +101,6 @@ ADM_Qvideo::ADM_Qvideo(QFrame *z) : QWidget(z)
hostFrame=z;
} //{setAutoFillBackground(false);}
-#endif // Haiku
-
ADM_Qvideo::~ADM_Qvideo()
{
@@ -215,6 +210,9 @@ void UI_getWindowInfo(void *draw, GUI_WindowInfo *xinfo)
#if defined(_WIN32) #if defined(_WIN32)
xinfo->display=(void *)videoWindow->winId(); xinfo->display=(void *)videoWindow->winId();
xinfo->systemWindowId=videoWindow->winId(); xinfo->systemWindowId=videoWindow->winId();
+#elif defined(__HAIKU__) +#elif defined(__HAIKU__)
+ xinfo->display = (void*)videoWindow->winId(); + xinfo->display = NULL;
+ xinfo->systemWindowId=videoWindow->winId(); + xinfo->systemWindowId = 0;
#elif defined(__APPLE__) #elif defined(__APPLE__)
#if defined(ADM_CPU_X86_64) #if defined(ADM_CPU_X86_64)
xinfo->display = (void*)videoWindow->winId(); xinfo->display = NULL; // we may not call winId() on a QWidget on macOS, it breaks OpenGL
diff --git a/avidemux/qt4/CMakeLists.txt b/avidemux/qt4/CMakeLists.txt diff --git a/avidemux/qt4/CMakeLists.txt b/avidemux/qt4/CMakeLists.txt
old mode 100755 old mode 100755
new mode 100644 new mode 100644
index 8881326..9e6c424 index e221510..ef50431
--- a/avidemux/qt4/CMakeLists.txt --- a/avidemux/qt4/CMakeLists.txt
+++ b/avidemux/qt4/CMakeLists.txt +++ b/avidemux/qt4/CMakeLists.txt
@@ -28,7 +28,11 @@ ELSE(WIN32) @@ -28,7 +28,11 @@ ELSE(WIN32)
@@ -244,11 +146,72 @@ index 0000000..8f25071
+MACRO(ADM_POSTBUILD) +MACRO(ADM_POSTBUILD)
+ ADM_INSTALL_BIN(avidemux3_${QT_EXTENSION}) + ADM_INSTALL_BIN(avidemux3_${QT_EXTENSION})
+ENDMACRO(ADM_POSTBUILD) +ENDMACRO(ADM_POSTBUILD)
diff --git a/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp b/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp
index a2f1375..b4b6fd2 100644
--- a/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp
+++ b/avidemux_core/ADM_core/src/ADM_crashdump_unix.cpp
@@ -40,8 +40,13 @@
static ADM_saveFunction *mysaveFunction=NULL;
static ADM_fatalFunction *myFatalFunction=NULL;
static ADM_sigIntFunction *mySigIntFunction=NULL;
+#ifdef __HAIKU__
+static __sighandler_t oldSignalHandlerSigInt;
+static __sighandler_t oldSignalHandlerSigSev;
+#else
static sighandler_t oldSignalHandlerSigInt;
static sighandler_t oldSignalHandlerSigSev;
+#endif
void sig_segfault_handler(int signo);
void sig_sigint_handler(int signo);
diff --git a/avidemux_core/ADM_core/src/ADM_dynamicLoading.cpp b/avidemux_core/ADM_core/src/ADM_dynamicLoading.cpp
index 5066122..f0cc2e0 100644
--- a/avidemux_core/ADM_core/src/ADM_dynamicLoading.cpp
+++ b/avidemux_core/ADM_core/src/ADM_dynamicLoading.cpp
@@ -51,6 +51,8 @@ ADM_LibWrapper::~ADM_LibWrapper()
#ifdef _WIN32
FreeLibrary((HINSTANCE) hinstLib);
+ #elif defined(__HAIKU__)
+ aprintf("HAIKU: not implemented!\n");
#else
dlclose(hinstLib);
#endif
diff --git a/avidemux_core/ADM_core/src/ADM_folder_linux.cpp b/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
index 686e85a..3962cea 100644
--- a/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
+++ b/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
@@ -39,7 +39,11 @@ static std::string ADM_i18nDir;
static std::string canonize(const std::string &in)
{
std::string out;
+#ifdef __HAIKU__
+ char *simple2=realpath(in.c_str(), NULL);
+#else
char *simple2=canonicalize_file_name(in.c_str());
+#endif
if(simple2)
{
out=std::string(simple2)+std::string("/");
@@ -142,9 +146,11 @@ void ADM_initBaseDir(int argc, char *argv[])
}
strcpy(ADM_basedir, homeEnv);
AddSeparator(ADM_basedir);
-
+#ifdef __HAIKU__
+ const char *ADM_DIR_NAME = "config/settings/Avidemux";
+#else
const char *ADM_DIR_NAME = ".avidemux6";
-
+#endif
strcat(ADM_basedir, ADM_DIR_NAME);
strcat(ADM_basedir, ADM_SEPARATOR);
diff --git a/avidemux_core/ADM_core/src/CMakeLists.txt b/avidemux_core/ADM_core/src/CMakeLists.txt diff --git a/avidemux_core/ADM_core/src/CMakeLists.txt b/avidemux_core/ADM_core/src/CMakeLists.txt
index 65eff7f..3786bdc 100644 index 93abbd1..f65d6d6 100644
--- a/avidemux_core/ADM_core/src/CMakeLists.txt --- a/avidemux_core/ADM_core/src/CMakeLists.txt
+++ b/avidemux_core/ADM_core/src/CMakeLists.txt +++ b/avidemux_core/ADM_core/src/CMakeLists.txt
@@ -47,6 +47,8 @@ IF (WIN32) @@ -46,6 +46,8 @@ IF (WIN32)
target_link_libraries(ADM_core6 imagehlp ws2_32) target_link_libraries(ADM_core6 imagehlp ws2_32)
ELSEIF (APPLE) ELSEIF (APPLE)
target_link_libraries(ADM_core6 "-framework Carbon") target_link_libraries(ADM_core6 "-framework Carbon")
@@ -287,15 +250,28 @@ index 8eb97c0..131bbc8 100644
TARGET_LINK_LIBRARIES(ADM_coreSqlLight3 dl) TARGET_LINK_LIBRARIES(ADM_coreSqlLight3 dl)
ENDIF (UNIX) ENDIF (UNIX)
diff --git a/avidemux_core/ADM_coreUtils/src/prefs2_pref.h b/avidemux_core/ADM_coreUtils/src/prefs2_pref.h
index d527fc9..8be7cb8 100644
--- a/avidemux_core/ADM_coreUtils/src/prefs2_pref.h
+++ b/avidemux_core/ADM_coreUtils/src/prefs2_pref.h
@@ -56,7 +56,7 @@ static optionDesc myOptions[]={
{ LASTPROJECTS_FILE3,"lastprojects.file3" ,ADM_param_stdstring ,"", 0, 0},
{ LASTPROJECTS_FILE4,"lastprojects.file4" ,ADM_param_stdstring ,"", 0, 0},
{ MESSAGE_LEVEL,"message_level" ,ADM_param_uint32_t ,"2", 0, 2},
-{ AUDIO_DEVICE_AUDIODEVICE,"audio_device.audiodevice" ,ADM_param_stdstring ,"ALSA", 0, 0},
+{ AUDIO_DEVICE_AUDIODEVICE,"audio_device.audiodevice" ,ADM_param_stdstring ,"Haiku", 0, 0},
{ AUDIO_DEVICE_ALSA_DEVICE,"audio_device.alsa_device" ,ADM_param_stdstring ,"dmix", 0, 0},
{ VIDEODEVICE,"videodevice" ,ADM_param_uint32_t ,"0", 0, 10},
{ PRIORITY_ENCODING,"priority.encoding" ,ADM_param_uint32_t ,"3", 0, 4},
diff --git a/avidemux_core/CMakeLists.txt b/avidemux_core/CMakeLists.txt diff --git a/avidemux_core/CMakeLists.txt b/avidemux_core/CMakeLists.txt
index b00ea2d..1fea9d6 100644 index ba31722..1fea9d6 100644
--- a/avidemux_core/CMakeLists.txt --- a/avidemux_core/CMakeLists.txt
+++ b/avidemux_core/CMakeLists.txt +++ b/avidemux_core/CMakeLists.txt
@@ -52,9 +52,9 @@ checkFtello() @@ -52,9 +52,9 @@ checkFtello()
MESSAGE(STATUS "Checking for sqlite") MESSAGE(STATUS "Checking for sqlite")
MESSAGE(STATUS "*******************") MESSAGE(STATUS "*******************")
-IF (UNIX AND NOT HAIKU) -IF (UNIX)
- SET(SQLITE_REQUIRED_FLAGS "-ldl") - SET(SQLITE_REQUIRED_FLAGS "-ldl")
-ENDIF (UNIX) -ENDIF (UNIX)
+#IF (UNIX AND NOT HAIKU) +#IF (UNIX AND NOT HAIKU)
@@ -304,107 +280,6 @@ index b00ea2d..1fea9d6 100644
FIND_HEADER_AND_LIB(SQLITE sqlite3.h sqlite3 sqlite3_close ${SQLITE_REQUIRED_FLAGS}) FIND_HEADER_AND_LIB(SQLITE sqlite3.h sqlite3 sqlite3_close ${SQLITE_REQUIRED_FLAGS})
PRINT_LIBRARY_INFO("SQLite" SQLITE_FOUND "${SQLITE_INCLUDE_DIR}" "${SQLITE_LIBRARY_DIR}" FATAL_ERROR) PRINT_LIBRARY_INFO("SQLite" SQLITE_FOUND "${SQLITE_INCLUDE_DIR}" "${SQLITE_LIBRARY_DIR}" FATAL_ERROR)
--
2.19.1
From b43d9684d9bb59304dc98fb478d661c12cc78a22 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 12 Jul 2018 00:31:10 +1000
Subject: Fix build plugins
diff --git a/avidemux_plugins/ADM_demuxers/AvsProxy/CMakeLists.txt b/avidemux_plugins/ADM_demuxers/AvsProxy/CMakeLists.txt
index 91aab7d..8235f0e 100644
--- a/avidemux_plugins/ADM_demuxers/AvsProxy/CMakeLists.txt
+++ b/avidemux_plugins/ADM_demuxers/AvsProxy/CMakeLists.txt
@@ -9,6 +9,9 @@ ADD_DEMUXER(ADM_dm_avsproxy ${ADM_avsproxy_SRCS})
if(WIN32)
target_link_libraries(ADM_dm_avsproxy wsock32)
endif(WIN32)
+if(HAIKU)
+ target_link_libraries(ADM_dm_avsproxy network)
+endif(HAIKU)
INIT_DEMUXER(ADM_dm_avsproxy)
INSTALL_DEMUXER(ADM_dm_avsproxy)
--
2.19.1
From 19b03c98b0cf4b50461db36d72f9e3f7802f9538 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 12 Jul 2018 12:02:26 +1000
Subject: Disable OpenGL
diff --git a/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp b/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp
index 62fa6ef..c5dbd26 100644
--- a/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp
+++ b/avidemux/qt4/ADM_userInterfaces/ADM_gui/T_preview.cpp
@@ -82,9 +82,6 @@ bool ADM_QPreviewCleanup(void)
*
* @param z
*/
-#ifdef __HAIKU__
-ADM_Qvideo::ADM_Qvideo(QFrame *z) : QWidget(z) {}
-#else
ADM_Qvideo::ADM_Qvideo(QFrame *z) : QWidget(z)
{
useExternalRedraw(true);
@@ -104,8 +101,6 @@ ADM_Qvideo::ADM_Qvideo(QFrame *z) : QWidget(z)
hostFrame=z;
} //{setAutoFillBackground(false);}
-#endif // Haiku
-
ADM_Qvideo::~ADM_Qvideo()
{
@@ -216,8 +211,8 @@ void UI_getWindowInfo(void *draw, GUI_WindowInfo *xinfo)
xinfo->display=(void *)videoWindow->winId();
xinfo->systemWindowId=videoWindow->winId();
#elif defined(__HAIKU__)
- xinfo->display = (void*)videoWindow->winId();
- xinfo->systemWindowId=videoWindow->winId();
+ xinfo->display = NULL;
+ xinfo->systemWindowId = 0;
#elif defined(__APPLE__)
#if defined(ADM_CPU_X86_64)
xinfo->display = (void*)videoWindow->winId();
--
2.19.1
From e08c5a109ed9f2edc1d3a3abb86449780a886110 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 12 Jul 2018 14:44:47 +1000
Subject: Fix detect x264
diff --git a/cmake/admCheckX265.cmake b/cmake/admCheckX265.cmake
index 2e3f4d9..f9a91e5 100644
--- a/cmake/admCheckX265.cmake
+++ b/cmake/admCheckX265.cmake
@@ -19,7 +19,7 @@ MACRO(checkX265)
MESSAGE("WARNING: x265 core version is too old. At least version 9 is required.")
SET(X265_FOUND 0)
ELSE (x265_version LESS 9)
- IF(NOT WIN32)
+ IF(NOT WIN32 AND NOT HAIKU)
SET(DL dl)
ELSE(NOT WIN32)
IF(NOT MSVC)
--
2.19.1
From 6e7451e6300bdb3fbb718364f1c778e5e6b2ee76 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 12 Jul 2018 21:36:53 +1000
Subject: Add MediaKit audio driver
diff --git a/avidemux_plugins/ADM_audioDevices/CMakeLists.txt b/avidemux_plugins/ADM_audioDevices/CMakeLists.txt diff --git a/avidemux_plugins/ADM_audioDevices/CMakeLists.txt b/avidemux_plugins/ADM_audioDevices/CMakeLists.txt
index 0d7136b..f655b75 100644 index 0d7136b..f655b75 100644
--- a/avidemux_plugins/ADM_audioDevices/CMakeLists.txt --- a/avidemux_plugins/ADM_audioDevices/CMakeLists.txt
@@ -419,10 +294,10 @@ index 0d7136b..f655b75 100644
+endif(HAIKU) +endif(HAIKU)
diff --git a/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.cpp b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.cpp diff --git a/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.cpp b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.cpp
new file mode 100644 new file mode 100644
index 0000000..aadca18 index 0000000..6035856
--- /dev/null --- /dev/null
+++ b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.cpp +++ b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.cpp
@@ -0,0 +1,76 @@ @@ -0,0 +1,84 @@
+#include <stdint.h> +#include <stdint.h>
+ +
+#include "ADM_default.h" +#include "ADM_default.h"
@@ -439,6 +314,14 @@ index 0000000..aadca18
+ active=false; + active=false;
+} +}
+ +
+haikuAudioDevice::~haikuAudioDevice()
+{
+ if (active) {
+ active=false;
+ player.stop();
+ }
+}
+
+bool +bool
+haikuAudioDevice::localStop(void) +haikuAudioDevice::localStop(void)
+{ +{
@@ -501,10 +384,10 @@ index 0000000..aadca18
+ +
diff --git a/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.h b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.h diff --git a/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.h b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.h
new file mode 100644 new file mode 100644
index 0000000..ce4cb64 index 0000000..2b37e1f
--- /dev/null --- /dev/null
+++ b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.h +++ b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.h
@@ -0,0 +1,23 @@ @@ -0,0 +1,24 @@
+#ifndef ADM_deviceHaiku_H +#ifndef ADM_deviceHaiku_H
+#define ADM_deviceHaiku_H +#define ADM_deviceHaiku_H
+ +
@@ -524,6 +407,7 @@ index 0000000..ce4cb64
+ virtual const CHANNEL_TYPE *getWantedChannelMapping(uint32_t channels); + virtual const CHANNEL_TYPE *getWantedChannelMapping(uint32_t channels);
+ public: + public:
+ haikuAudioDevice(); + haikuAudioDevice();
+ virtual ~haikuAudioDevice();
+}; +};
+ +
+#endif +#endif
@@ -876,134 +760,104 @@ index 0000000..6a6efde
+}; +};
+ +
+#endif +#endif
-- diff --git a/avidemux_plugins/ADM_demuxers/AvsProxy/CMakeLists.txt b/avidemux_plugins/ADM_demuxers/AvsProxy/CMakeLists.txt
2.19.1 index 91aab7d..8235f0e 100644
--- a/avidemux_plugins/ADM_demuxers/AvsProxy/CMakeLists.txt
+++ b/avidemux_plugins/ADM_demuxers/AvsProxy/CMakeLists.txt
@@ -9,6 +9,9 @@ ADD_DEMUXER(ADM_dm_avsproxy ${ADM_avsproxy_SRCS})
if(WIN32)
target_link_libraries(ADM_dm_avsproxy wsock32)
endif(WIN32)
+if(HAIKU)
+ target_link_libraries(ADM_dm_avsproxy network)
+endif(HAIKU)
INIT_DEMUXER(ADM_dm_avsproxy)
INSTALL_DEMUXER(ADM_dm_avsproxy)
diff --git a/cmake/admCheckX265.cmake b/cmake/admCheckX265.cmake
index 2e3f4d9..f9a91e5 100644
--- a/cmake/admCheckX265.cmake
+++ b/cmake/admCheckX265.cmake
@@ -19,7 +19,7 @@ MACRO(checkX265)
MESSAGE("WARNING: x265 core version is too old. At least version 9 is required.")
SET(X265_FOUND 0)
ELSE (x265_version LESS 9)
- IF(NOT WIN32)
+ IF(NOT WIN32 AND NOT HAIKU)
SET(DL dl)
ELSE(NOT WIN32)
IF(NOT MSVC)
diff --git a/cmake/cmake_compile_check/execinfo.cpp b/cmake/cmake_compile_check/execinfo.cpp
index 00304cf..07077fa 100644
--- a/cmake/cmake_compile_check/execinfo.cpp
+++ b/cmake/cmake_compile_check/execinfo.cpp
@@ -2,36 +2,8 @@
#include <stdio.h>
#include <stdlib.h>
From d097dc1e40e63bf946ad2f3804e2e5b6ab6f7e96 Mon Sep 17 00:00:00 2001 -/* Obtain a backtrace and print it to stdout. */
From: Gerasim Troeglazov <3dEyes@gmail.com> -void
Date: Thu, 12 Jul 2018 21:37:17 +1000 -print_trace (void)
Subject: Fix path for settings dir -{
- void *array[10];
- size_t size;
diff --git a/avidemux_core/ADM_core/src/ADM_folder_linux.cpp b/avidemux_core/ADM_core/src/ADM_folder_linux.cpp - char **strings;
index 3625d55..ee6838a 100644 - size_t i;
--- a/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
+++ b/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
@@ -146,9 +146,11 @@ void ADM_initBaseDir(int argc, char *argv[])
}
strcpy(ADM_basedir, homeEnv);
AddSeparator(ADM_basedir);
- -
+#ifdef __HAIKU__ - size = backtrace (array, 10);
+ const char *ADM_DIR_NAME = "config/settings/avidemux6"; - strings = backtrace_symbols (array, size);
+#else
const char *ADM_DIR_NAME = ".avidemux6";
- -
+#endif - printf ("Obtained %zd stack frames.\n", size);
strcat(ADM_basedir, ADM_DIR_NAME); -
strcat(ADM_basedir, ADM_SEPARATOR); - for (i = 0; i < size; i++)
- printf ("%s\n", strings[i]);
-- -
2.19.1 - free (strings);
-}
-
From 4b7053c6e42ff99c57b7c1baedb58b6d20d3d40a Mon Sep 17 00:00:00 2001 -/* A dummy function to make the backtrace more interesting. */
From: Gerasim Troeglazov <3dEyes@gmail.com> -void
Date: Thu, 12 Jul 2018 23:37:20 +1000 -dummy_function (void)
Subject: Fix settings dir -{
- print_trace ();
-}
diff --git a/avidemux_core/ADM_core/src/ADM_folder_linux.cpp b/avidemux_core/ADM_core/src/ADM_folder_linux.cpp -
index ee6838a..3962cea 100644 int
--- a/avidemux_core/ADM_core/src/ADM_folder_linux.cpp main (void)
+++ b/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
@@ -147,7 +147,7 @@ void ADM_initBaseDir(int argc, char *argv[])
strcpy(ADM_basedir, homeEnv);
AddSeparator(ADM_basedir);
#ifdef __HAIKU__
- const char *ADM_DIR_NAME = "config/settings/avidemux6";
+ const char *ADM_DIR_NAME = "config/settings/Avidemux";
#else
const char *ADM_DIR_NAME = ".avidemux6";
#endif
--
2.19.1
From 0cc6e4a41df502788159dfc6e80a3057ce534ca5 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 9 Sep 2018 19:48:03 +1000
Subject: Set Haiku audio output module by default
diff --git a/avidemux_core/ADM_coreUtils/src/prefs2_pref.h b/avidemux_core/ADM_coreUtils/src/prefs2_pref.h
index d527fc9..8be7cb8 100644
--- a/avidemux_core/ADM_coreUtils/src/prefs2_pref.h
+++ b/avidemux_core/ADM_coreUtils/src/prefs2_pref.h
@@ -56,7 +56,7 @@ static optionDesc myOptions[]={
{ LASTPROJECTS_FILE3,"lastprojects.file3" ,ADM_param_stdstring ,"", 0, 0},
{ LASTPROJECTS_FILE4,"lastprojects.file4" ,ADM_param_stdstring ,"", 0, 0},
{ MESSAGE_LEVEL,"message_level" ,ADM_param_uint32_t ,"2", 0, 2},
-{ AUDIO_DEVICE_AUDIODEVICE,"audio_device.audiodevice" ,ADM_param_stdstring ,"ALSA", 0, 0},
+{ AUDIO_DEVICE_AUDIODEVICE,"audio_device.audiodevice" ,ADM_param_stdstring ,"Haiku", 0, 0},
{ AUDIO_DEVICE_ALSA_DEVICE,"audio_device.alsa_device" ,ADM_param_stdstring ,"dmix", 0, 0},
{ VIDEODEVICE,"videodevice" ,ADM_param_uint32_t ,"0", 0, 10},
{ PRIORITY_ENCODING,"priority.encoding" ,ADM_param_uint32_t ,"3", 0, 4},
--
2.19.1
From e80e474f653febe051e85798e78066727f22ac5a Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 4 Jan 2019 15:12:17 +1000
Subject: Fix crash on exit
diff --git a/avidemux_core/ADM_core/src/ADM_dynamicLoading.cpp b/avidemux_core/ADM_core/src/ADM_dynamicLoading.cpp
index 5066122..f0cc2e0 100644
--- a/avidemux_core/ADM_core/src/ADM_dynamicLoading.cpp
+++ b/avidemux_core/ADM_core/src/ADM_dynamicLoading.cpp
@@ -51,6 +51,8 @@ ADM_LibWrapper::~ADM_LibWrapper()
#ifdef _WIN32
FreeLibrary((HINSTANCE) hinstLib);
+ #elif defined(__HAIKU__)
+ aprintf("HAIKU: not implemented!\n");
#else
dlclose(hinstLib);
#endif
diff --git a/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.cpp b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.cpp
index aadca18..6035856 100644
--- a/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.cpp
+++ b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.cpp
@@ -14,6 +14,14 @@ haikuAudioDevice::haikuAudioDevice()
active=false;
}
+haikuAudioDevice::~haikuAudioDevice()
+{
+ if (active) {
+ active=false;
+ player.stop();
+ }
+}
+
bool
haikuAudioDevice::localStop(void)
{ {
diff --git a/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.h b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.h - dummy_function ();
index ce4cb64..2b37e1f 100644 return 0;
--- a/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.h }
+++ b/avidemux_plugins/ADM_audioDevices/Haiku/ADM_deviceHaiku.h --
@@ -17,6 +17,7 @@ class haikuAudioDevice : public audioDeviceThreaded 2.19.1
virtual const CHANNEL_TYPE *getWantedChannelMapping(uint32_t channels);
public:
haikuAudioDevice(); From 2c2723ec73026c40480cce2d49563fd0d4582eb9 Mon Sep 17 00:00:00 2001
+ virtual ~haikuAudioDevice(); From: Gerasim Troeglazov <3dEyes@gmail.com>
}; Date: Sun, 24 Mar 2019 23:52:40 +1000
Subject: Use unix crashdump
#endif
diff --git a/avidemux_core/ADM_core/include/ADM_crashdump_other.h b/avidemux_core/ADM_core/include/ADM_crashdump_other.h
index 1d636ef..a75c16d 100644
--- a/avidemux_core/ADM_core/include/ADM_crashdump_other.h
+++ b/avidemux_core/ADM_core/include/ADM_crashdump_other.h
@@ -1,4 +1,4 @@
-#if !defined(__APPLE__) && !defined(__unix__) && !defined(__MINGW32__) && !defined ADM_CRASHDUMP_OTHER_H &&!defined _MSC_VER
+#if !defined(__APPLE__) && !defined(__unix__) && !defined(__HAIKU__) && !defined(__MINGW32__) && !defined ADM_CRASHDUMP_OTHER_H &&!defined _MSC_VER
#define ADM_CRASHDUMP_OTHER_H
#define installSigHandler(...) {}
diff --git a/avidemux_core/ADM_core/include/ADM_crashdump_unix.h b/avidemux_core/ADM_core/include/ADM_crashdump_unix.h
index 7067e06..e75a323 100644
--- a/avidemux_core/ADM_core/include/ADM_crashdump_unix.h
+++ b/avidemux_core/ADM_core/include/ADM_crashdump_unix.h
@@ -1,4 +1,4 @@
-#if defined(__unix__) && !defined ADM_CRASHDUMP_UNIX_H
+#if defined(__unix__) || defined(__HAIKU__) && !defined ADM_CRASHDUMP_UNIX_H
#define ADM_CRASHDUMP_UNIX_H
ADM_CORE6_EXPORT void installSigHandler(void);
-- --
2.19.1 2.19.1