Changes of Revision 165

_service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/contrib/src/ebml/missing-limits-include.patch Added
x
 
1
@@ -0,0 +1,36 @@
2
+From f0bfd53647961e799a43d918c46cf3b6bff89806 Mon Sep 17 00:00:00 2001
3
+From: Moritz Bunkus <mo@bunkus.online>
4
+Date: Sat, 27 Feb 2021 20:36:52 +0100
5
+Subject: [PATCH] include appropriate header files for std::numeric_limits
6
+
7
+Fixes #80.
8
+---
9
+ ChangeLog                 | 4 ++++
10
+ src/EbmlString.cpp        | 1 +
11
+ src/EbmlUnicodeString.cpp | 1 +
12
+ 3 files changed, 6 insertions(+)
13
+
14
+diff --git a/src/EbmlString.cpp b/src/EbmlString.cpp
15
+index 27e55fd..4c05fcf 100644
16
+--- a/src/EbmlString.cpp
17
++++ b/src/EbmlString.cpp
18
+@@ -34,6 +34,7 @@
19
+   \author Steve Lhomme     <robux4 @ users.sf.net>
20
+ */
21
+ #include <cassert>
22
++#include <limits>
23
+ 
24
+ #include "ebml/EbmlString.h"
25
+ 
26
+diff --git a/src/EbmlUnicodeString.cpp b/src/EbmlUnicodeString.cpp
27
+index 496a16a..99fc073 100644
28
+--- a/src/EbmlUnicodeString.cpp
29
++++ b/src/EbmlUnicodeString.cpp
30
+@@ -36,6 +36,7 @@
31
+ */
32
+ 
33
+ #include <cassert>
34
++#include <limits>
35
+ 
36
+ #include "ebml/EbmlUnicodeString.h"
37
+ 
38
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/contrib/src/ebml/rules.mak -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/contrib/src/ebml/rules.mak Changed
9
 
1
@@ -14,6 +14,7 @@
2
 
3
 ebml: libebml-$(EBML_VERSION).tar.xz .sum-ebml
4
    $(UNPACK)
5
+   $(APPLY) $(SRC)/ebml/missing-limits-include.patch
6
    $(MOVE)
7
 
8
 .ebml: ebml toolchain.cmake
9
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/contrib/src/main.mak -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/contrib/src/main.mak Changed
10
 
1
@@ -389,7 +389,7 @@
2
 ifdef HAVE_DARWIN_OS
3
 AUTORECONF = AUTOPOINT=true autoreconf
4
 else
5
-AUTORECONF = autoreconf
6
+AUTORECONF = GTKDOCIZE=true autoreconf
7
 endif
8
 RECONF = mkdir -p -- $(PREFIX)/share/aclocal && \
9
    cd $< && $(AUTORECONF) -fiv $(ACLOCAL_AMFLAGS)
10
_service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/contrib/src/qt/qt-fix-gcc11-build.patch Added
32
 
1
@@ -0,0 +1,30 @@
2
+--- qt/src/corelib/global/qfloat16.h.old   2022-01-18 17:46:03.821787862 +0100
3
++++ qt/src/corelib/global/qfloat16.h   2022-01-18 17:46:52.824906487 +0100
4
+@@ -44,6 +44,7 @@
5
+ #include <QtCore/qglobal.h>
6
+ #include <QtCore/qmetatype.h>
7
+ #include <string.h>
8
++#include <limits>
9
+ 
10
+ #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__)
11
+ // All processors that support AVX2 do support F16C too. That doesn't mean
12
+--- qt/src/corelib/text/qbytearraymatcher.h.old    2022-01-18 17:47:49.667887059 +0100
13
++++ qt/src/corelib/text/qbytearraymatcher.h    2022-01-18 17:48:09.055540031 +0100
14
+@@ -41,6 +41,7 @@
15
+ #define QBYTEARRAYMATCHER_H
16
+ 
17
+ #include <QtCore/qbytearray.h>
18
++#include <limits>
19
+ 
20
+ QT_BEGIN_NAMESPACE
21
+ 
22
+--- qt/src/3rdparty/angle/src/libANGLE/HandleAllocator.cpp.old 2022-01-18 17:55:16.527952044 +0100
23
++++ qt/src/3rdparty/angle/src/libANGLE/HandleAllocator.cpp 2022-01-18 17:55:28.315744081 +0100
24
+@@ -10,6 +10,7 @@
25
+ #include "libANGLE/HandleAllocator.h"
26
+ 
27
+ #include <algorithm>
28
++#include <limits>
29
+ 
30
+ #include "common/debug.h"
31
+ 
32
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/contrib/src/qt/rules.mak -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/contrib/src/qt/rules.mak Changed
9
 
1
@@ -50,6 +50,7 @@
2
    cd $(UNPACK_DIR); for i in QtFontDatabaseSupport QtWindowsUIAutomationSupport QtEventDispatcherSupport QtCore; do \
3
        sed -i -e 's,"../../../../../src,"../src,g' include/$$i/$(QT_VERSION)/$$i/private/*.h; done
4
 endif
5
+   $(APPLY) $(SRC)/qt/qt-fix-gcc11-build.patch
6
 
7
 endif
8
    $(MOVE)
9
_service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/contrib/src/qtdeclarative/fix-gcc11-build.patch Added
13
 
1
@@ -0,0 +1,11 @@
2
+--- qtdeclarative/src/3rdparty/masm/yarr/Yarr.h.old    2022-01-18 18:04:29.778230868 +0100
3
++++ qtdeclarative/src/3rdparty/masm/yarr/Yarr.h    2022-01-18 18:04:57.625743037 +0100
4
+@@ -27,7 +27,7 @@
5
+ 
6
+ #pragma once
7
+ 
8
+-#include <limits.h>
9
++#include <limits>
10
+ #include "YarrErrorCode.h"
11
+ 
12
+ namespace JSC { namespace Yarr {
13
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/contrib/src/qtdeclarative/rules.mak -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/contrib/src/qtdeclarative/rules.mak Changed
9
 
1
@@ -21,6 +21,7 @@
2
 
3
 qtdeclarative: qtdeclarative-everywhere-src-$(QTDECLARATIVE_VERSION).tar.xz .sum-qtdeclarative
4
    $(UNPACK)
5
+   $(APPLY) $(SRC)/qtdeclarative/fix-gcc11-build.patch
6
    $(MOVE)
7
 
8
 QT_DECLARATIVE_CONFIG := \
9
_service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/contrib/src/srt/fix-gcc11-build.patch Added
24
 
1
@@ -0,0 +1,22 @@
2
+From f1b35cbf5b9b42b031e9b119e4c802b5f744468c Mon Sep 17 00:00:00 2001
3
+From: Christophe Giboudeaux <krop@users.noreply.github.com>
4
+Date: Wed, 10 Feb 2021 12:42:45 +0000
5
+Subject: [PATCH] [core] Fix build with GCC 11. (#1806)
6
+
7
+The 'limits' header must be included explicitly.
8
+---
9
+ srtcore/sync.h | 1 +
10
+ 1 file changed, 1 insertion(+)
11
+
12
+diff --git a/srtcore/sync.h b/srtcore/sync.h
13
+index 59c125a75..9f01ca91e 100644
14
+--- a/srtcore/sync.h
15
++++ b/srtcore/sync.h
16
+@@ -15,6 +15,7 @@
17
+ //#define ENABLE_CXX17
18
+ 
19
+ #include <cstdlib>
20
++#include <limits>
21
+ #ifdef ENABLE_STDCXX_SYNC
22
+ #include <chrono>
23
+ #include <thread>
24
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/contrib/src/srt/rules.mak -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/contrib/src/srt/rules.mak Changed
9
 
1
@@ -27,6 +27,7 @@
2
 srt: srt-$(SRT_VERSION).tar.gz .sum-srt
3
    $(UNPACK)
4
    $(APPLY) $(SRC)/srt/0001-core-ifdef-MSG_TRUNC-nixes-fix.patch
5
+   $(APPLY) $(SRC)/srt/fix-gcc11-build.patch
6
    $(call pkg_static,"scripts/srt.pc.in")
7
    mv srt-$(SRT_VERSION) $@ && touch $@
8
 
9
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/include/vlc_config_cat.h -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/include/vlc_config_cat.h Changed
108
 
1
@@ -192,15 +192,15 @@
2
 
3
 struct config_category_t
4
 {
5
-    int         id;
6
-    int         general_subcat;
7
+    enum vlc_config_cat id;
8
+    enum vlc_config_subcat general_subcat;
9
     const char *help;
10
 };
11
 
12
 struct config_subcategory_t
13
 {
14
-    int         id;
15
-    int         cat;
16
+    enum vlc_config_subcat id;
17
+    enum vlc_config_cat cat;
18
     const char *name;
19
     const char *help;
20
 };
21
@@ -263,7 +263,7 @@
22
 
23
 /** Get the table index for the given category entry. */
24
 VLC_USED
25
-static inline int vlc_config_cat_IndexOf( int cat )
26
+static inline int vlc_config_cat_IndexOf( enum vlc_config_cat cat )
27
 {
28
     int index = -1;
29
     for( unsigned i = 0; i < ARRAY_SIZE(categories_array); i++ )
30
@@ -279,7 +279,7 @@
31
 
32
 /** Get the table index for the given subcategory entry. */
33
 VLC_USED
34
-static inline int vlc_config_subcat_IndexOf( int subcat )
35
+static inline int vlc_config_subcat_IndexOf( enum vlc_config_subcat subcat )
36
 {
37
     int index = -1;
38
     for( unsigned i = 0; i < ARRAY_SIZE(subcategories_array); i++ )
39
@@ -309,7 +309,7 @@
40
  * a child node of a subcategory node.
41
  */
42
 VLC_USED
43
-static inline int vlc_config_cat_GetGeneralSubcat( int cat )
44
+static inline enum vlc_config_subcat vlc_config_cat_GetGeneralSubcat( enum vlc_config_cat cat )
45
 {
46
     int i = vlc_config_cat_IndexOf( cat );
47
     return (i != -1) ? categories_array[i].general_subcat : SUBCAT_UNKNOWN;
48
@@ -317,7 +317,7 @@
49
 
50
 /** Get the name for a subcategory. */
51
 VLC_USED
52
-static inline const char *vlc_config_subcat_GetName( int subcat )
53
+static inline const char *vlc_config_subcat_GetName( enum vlc_config_subcat subcat )
54
 {
55
     int i = vlc_config_subcat_IndexOf( subcat );
56
     return (i != -1) ? vlc_gettext(subcategories_array[i].name) : NULL;
57
@@ -325,7 +325,7 @@
58
 
59
 /** Get the help text for a subcategory. */
60
 VLC_USED
61
-static inline const char *vlc_config_subcat_GetHelp( int subcat )
62
+static inline const char *vlc_config_subcat_GetHelp( enum vlc_config_subcat subcat )
63
 {
64
     int i = vlc_config_subcat_IndexOf( subcat );
65
     return (i != -1) ? vlc_gettext(subcategories_array[i].help) : NULL;
66
@@ -333,15 +333,15 @@
67
 
68
 /** Get the name for a category. */
69
 VLC_USED
70
-static inline const char *vlc_config_cat_GetName( int cat )
71
+static inline const char *vlc_config_cat_GetName( enum vlc_config_cat cat )
72
 {
73
-    int subcat = vlc_config_cat_GetGeneralSubcat( cat );
74
+    enum vlc_config_subcat subcat = vlc_config_cat_GetGeneralSubcat( cat );
75
     return vlc_config_subcat_GetName( subcat );
76
 }
77
 
78
 /** Get the help text for a category. */
79
 VLC_USED
80
-static inline const char *vlc_config_cat_GetHelp( int cat )
81
+static inline const char *vlc_config_cat_GetHelp( enum vlc_config_cat cat )
82
 {
83
     int i = vlc_config_cat_IndexOf( cat );
84
     return (i != -1) ? vlc_gettext(categories_array[i].help) : NULL;
85
@@ -349,7 +349,7 @@
86
 
87
 /** Get the parent category for the given subcategory. */
88
 VLC_USED
89
-static inline int vlc_config_cat_FromSubcat( int subcat )
90
+static inline enum vlc_config_cat vlc_config_cat_FromSubcat( enum vlc_config_subcat subcat )
91
 {
92
     int i = vlc_config_subcat_IndexOf( subcat );
93
     return (i != -1) ? subcategories_array[i].cat : CAT_UNKNOWN;
94
@@ -357,11 +357,11 @@
95
 
96
 /** Check if the given subcategory is a "general" one. */
97
 VLC_USED
98
-static inline bool vlc_config_subcat_IsGeneral( int subcat )
99
+static inline bool vlc_config_subcat_IsGeneral( enum vlc_config_subcat subcat )
100
 {
101
     if( subcat == SUBCAT_UNKNOWN )
102
         return false;
103
-    int cat = vlc_config_cat_FromSubcat( subcat );
104
+    enum vlc_config_cat cat = vlc_config_cat_FromSubcat( subcat );
105
     return (subcat == vlc_config_cat_GetGeneralSubcat( cat ));
106
 }
107
 
108
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/include/vlc_plugin.h -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/include/vlc_plugin.h Changed
134
 
1
@@ -143,64 +143,75 @@
2
 #define IsConfigFloatType(type) \
3
     ((type) == CONFIG_ITEM_FLOAT)
4
 
5
-/* Hidden categories and subcategories */
6
-/* Any options under this will be hidden in the GUI preferences, but will be
7
-   listed in cmdline help output. */
8
-#define CAT_HIDDEN -1
9
-#define SUBCAT_HIDDEN -1
10
-
11
-/* Unknown/unset/invalid */
12
-#define CAT_UNKNOWN 0
13
-#define SUBCAT_UNKNOWN 0
14
-
15
-/* Categories and subcategories */
16
-#define CAT_INTERFACE 1
17
-#define SUBCAT_INTERFACE_GENERAL 101
18
-#define SUBCAT_INTERFACE_MAIN 102
19
-#define SUBCAT_INTERFACE_CONTROL 103
20
-#define SUBCAT_INTERFACE_HOTKEYS 104
21
-
22
-#define CAT_AUDIO 2
23
-#define SUBCAT_AUDIO_GENERAL 201
24
-#define SUBCAT_AUDIO_AOUT 202
25
-#define SUBCAT_AUDIO_AFILTER 203
26
-#define SUBCAT_AUDIO_VISUAL 204
27
-#define SUBCAT_AUDIO_RESAMPLER 206
28
-
29
-#define CAT_VIDEO 3
30
-#define SUBCAT_VIDEO_GENERAL 301
31
-#define SUBCAT_VIDEO_VOUT 302
32
-#define SUBCAT_VIDEO_VFILTER 303
33
-#define SUBCAT_VIDEO_SUBPIC 305
34
-#define SUBCAT_VIDEO_SPLITTER 306
35
-
36
-#define CAT_INPUT 4
37
-#define SUBCAT_INPUT_GENERAL 401
38
-#define SUBCAT_INPUT_ACCESS 402
39
-#define SUBCAT_INPUT_DEMUX 403
40
-#define SUBCAT_INPUT_VCODEC 404
41
-#define SUBCAT_INPUT_ACODEC 405
42
-#define SUBCAT_INPUT_SCODEC 406
43
-#define SUBCAT_INPUT_STREAM_FILTER 407
44
-
45
-#define CAT_SOUT 5
46
-#define SUBCAT_SOUT_GENERAL 501
47
-#define SUBCAT_SOUT_STREAM 502
48
-#define SUBCAT_SOUT_MUX 503
49
-#define SUBCAT_SOUT_ACO 504
50
-#define SUBCAT_SOUT_PACKETIZER 505
51
-#define SUBCAT_SOUT_VOD 507
52
-#define SUBCAT_SOUT_RENDERER 508
53
-
54
-#define CAT_ADVANCED 6
55
-#define SUBCAT_ADVANCED_MISC 602
56
-#define SUBCAT_ADVANCED_NETWORK 603
57
-
58
-#define CAT_PLAYLIST 7
59
-#define SUBCAT_PLAYLIST_GENERAL 701
60
-#define SUBCAT_PLAYLIST_SD 702
61
-#define SUBCAT_PLAYLIST_EXPORT 703
62
+/* Config category */
63
+enum vlc_config_cat
64
+{
65
+    /* Hidden category.
66
+       Any options under this will be hidden in the GUI preferences, but will
67
+       be listed in cmdline help output. */
68
+    CAT_HIDDEN    = -1,
69
+
70
+    CAT_UNKNOWN   = 0,
71
+
72
+    CAT_INTERFACE = 1,
73
+    CAT_AUDIO     = 2,
74
+    CAT_VIDEO     = 3,
75
+    CAT_INPUT     = 4,
76
+    CAT_SOUT      = 5,
77
+    CAT_ADVANCED  = 6,
78
+    CAT_PLAYLIST  = 7,
79
+};
80
 
81
+/* Config subcategory */
82
+enum vlc_config_subcat
83
+{
84
+    /* Hidden subcategory.
85
+       Any options under this will be hidden in the GUI preferences, but will
86
+       be listed in cmdline help output. */
87
+    SUBCAT_HIDDEN              = -1,
88
+
89
+    SUBCAT_UNKNOWN             = 0,
90
+
91
+    SUBCAT_INTERFACE_GENERAL   = 101,
92
+    SUBCAT_INTERFACE_MAIN      = 102,
93
+    SUBCAT_INTERFACE_CONTROL   = 103,
94
+    SUBCAT_INTERFACE_HOTKEYS   = 104,
95
+
96
+    SUBCAT_AUDIO_GENERAL       = 201,
97
+    SUBCAT_AUDIO_AOUT          = 202,
98
+    SUBCAT_AUDIO_AFILTER       = 203,
99
+    SUBCAT_AUDIO_VISUAL        = 204,
100
+    SUBCAT_AUDIO_RESAMPLER     = 206,
101
+
102
+    SUBCAT_VIDEO_GENERAL       = 301,
103
+    SUBCAT_VIDEO_VOUT          = 302,
104
+    SUBCAT_VIDEO_VFILTER       = 303,
105
+    SUBCAT_VIDEO_SUBPIC        = 305,
106
+    SUBCAT_VIDEO_SPLITTER      = 306,
107
+
108
+    SUBCAT_INPUT_GENERAL       = 401,
109
+    SUBCAT_INPUT_ACCESS        = 402,
110
+    SUBCAT_INPUT_DEMUX         = 403,
111
+    SUBCAT_INPUT_VCODEC        = 404,
112
+    SUBCAT_INPUT_ACODEC        = 405,
113
+    SUBCAT_INPUT_SCODEC        = 406,
114
+    SUBCAT_INPUT_STREAM_FILTER = 407,
115
+
116
+    SUBCAT_SOUT_GENERAL        = 501,
117
+    SUBCAT_SOUT_STREAM         = 502,
118
+    SUBCAT_SOUT_MUX            = 503,
119
+    SUBCAT_SOUT_ACO            = 504,
120
+    SUBCAT_SOUT_PACKETIZER     = 505,
121
+    SUBCAT_SOUT_VOD            = 507,
122
+    SUBCAT_SOUT_RENDERER       = 508,
123
+
124
+    SUBCAT_ADVANCED_MISC       = 602,
125
+    SUBCAT_ADVANCED_NETWORK    = 603,
126
+
127
+    SUBCAT_PLAYLIST_GENERAL    = 701,
128
+    SUBCAT_PLAYLIST_SD         = 702,
129
+    SUBCAT_PLAYLIST_EXPORT     = 703,
130
+};
131
 
132
 /**
133
  * Current plugin ABI version
134
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/modules/codec/avcodec/video.c -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/modules/codec/avcodec/video.c Changed
11
 
1
@@ -529,7 +529,9 @@
2
     i_thread_count = __MIN( i_thread_count, p_codec->id == AV_CODEC_ID_HEVC ? 32 : 16 );
3
     msg_Dbg( p_dec, "allowing %d thread(s) for decoding", i_thread_count );
4
     p_context->thread_count = i_thread_count;
5
+#if LIBAVCODEC_VERSION_MAJOR < 60
6
     p_context->thread_safe_callbacks = true;
7
+#endif
8
 
9
     switch( p_codec->id )
10
     {
11
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/modules/demux/Makefile.am -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/modules/demux/Makefile.am Changed
11
 
1
@@ -45,6 +45,9 @@
2
 libnsv_plugin_la_SOURCES = demux/nsv.c
3
 demux_LTLIBRARIES += libnsv_plugin.la
4
 
5
+libhx_plugin_la_SOURCES = demux/hx.c
6
+demux_LTLIBRARIES += libhx_plugin.la
7
+
8
 libps_plugin_la_SOURCES = demux/mpeg/ps.c demux/mpeg/ps.h demux/mpeg/pes.h
9
 demux_LTLIBRARIES += libps_plugin.la
10
 
11
_service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/modules/demux/hx.c Added
201
 
1
@@ -0,0 +1,385 @@
2
+/*****************************************************************************
3
+ * hx.c : raw video / audio IP cam demuxer
4
+ *****************************************************************************
5
+ * Copyright (C) 2022 - VideoLabs, VLC authors and VideoLAN
6
+ *
7
+ * This program is free software; you can redistribute it and/or modify it
8
+ * under the terms of the GNU Lesser General Public License as published by
9
+ * the Free Software Foundation; either version 2.1 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Lesser General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Lesser General Public License
18
+ * along with this program; if not, write to the Free Software Foundation,
19
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
20
+ *****************************************************************************/
21
+#ifdef HAVE_CONFIG_H
22
+# include "config.h"
23
+#endif
24
+
25
+#include <vlc_common.h>
26
+#include <vlc_plugin.h>
27
+#include <vlc_demux.h>
28
+
29
+/* All Marker formats:
30
+ * [tag.4][size.4][tag dependant.8] */
31
+static const char HXVS[4] = { 'H', 'X', 'V', 'S' }; /* H264 file tag */
32
+static const char HXVT[4] = { 'H', 'X', 'V', 'T' }; /* HEVC */
33
+static const char HXVF[4] = { 'H', 'X', 'V', 'F' }; /* Video samples */
34
+static const char HXAF[4] = { 'H', 'X', 'A', 'F' }; /* Audio samples */
35
+static const char HXFI[4] = { 'H', 'X', 'F', 'I' }; /* RAP Index */
36
+
37
+#define HX_HEADER_SIZE 16
38
+#define HX_INDEX_SIZE 200000
39
+
40
+struct hxfi_index
41
+{
42
+    uint32_t offset;
43
+    uint32_t time;
44
+};
45
+
46
+typedef struct
47
+{
48
+    es_out_id_t *p_es_video;
49
+    es_out_id_t *p_es_audio;
50
+    vlc_tick_t video_pts;
51
+    vlc_tick_t audio_pts;
52
+    vlc_tick_t pcr;
53
+    uint32_t video_pts_offset;
54
+    uint32_t audio_pts_offset;
55
+    uint32_t duration;
56
+    DECL_ARRAY(struct hxfi_index) index;
57
+} hx_sys_t;
58
+
59
+static int LoadIndex(demux_t *p_demux)
60
+{
61
+    hx_sys_t *p_sys  = p_demux->p_sys;
62
+
63
+    /* From what I understand:
64
+     * Header HXFI[size.4][duration.4][?.4]
65
+     * Size is always 200K, predictable file offset
66
+     * All indexes entries are 4/4 bytes
67
+     * zero filled empty entries
68
+     */
69
+
70
+    uint64_t size;
71
+    if(vlc_stream_GetSize(p_demux->s, &size) != VLC_SUCCESS ||
72
+       size < HX_INDEX_SIZE + HX_HEADER_SIZE)
73
+        return VLC_EGENERIC;
74
+
75
+    if(vlc_stream_Seek(p_demux->s, size - HX_INDEX_SIZE - HX_HEADER_SIZE) != VLC_SUCCESS)
76
+        return VLC_EGENERIC;
77
+
78
+    uint8_t temp[HX_HEADER_SIZE];
79
+    if(vlc_stream_Read(p_demux->s, temp, HX_HEADER_SIZE) != HX_HEADER_SIZE ||
80
+       memcmp(temp, HXFI, 4))
81
+    {
82
+        msg_Warn(p_demux, "Could not find index at expected location");
83
+        return VLC_EGENERIC;
84
+    }
85
+
86
+    p_sys->duration = GetDWLE(temp + 8);
87
+    msg_Dbg(p_demux, "Reading Index Length @%" PRIu32 "ms", p_sys->duration);
88
+
89
+    uint32_t prevtime = UINT32_MAX;
90
+    for(;;)
91
+    {
92
+        if(vlc_stream_Read(p_demux->s, temp, 8) != 8)
93
+            break;
94
+        struct hxfi_index entry;
95
+        entry.offset = GetDWLE(temp);
96
+        entry.time = GetDWLE(temp + 4);
97
+        if(entry.offset == 0)
98
+            break;
99
+        if(entry.time != prevtime)
100
+        {
101
+            prevtime = entry.time;
102
+            ARRAY_APPEND(p_sys->index, entry);
103
+        }
104
+    }
105
+    msg_Dbg(p_demux, "Using %d entries from HXFI index", p_sys->index.i_size);
106
+    return VLC_SUCCESS;
107
+}
108
+
109
+static struct hxfi_index LookupIndex(hx_sys_t *p_sys, uint32_t time)
110
+{
111
+    struct hxfi_index entry = { 0, 0 };
112
+    if(p_sys->index.i_size)
113
+    {
114
+        unsigned l = 0, h = p_sys->index.i_size - 1;
115
+        while(l <= h)
116
+        {
117
+            unsigned m = (l + h) >> 1;
118
+            if(p_sys->index.p_elems[m].time > time)
119
+            {
120
+                if(m == 0)
121
+                    break;
122
+                h = m -1;
123
+            }
124
+            else
125
+            {
126
+                /* store lowest as temp result */
127
+                entry = p_sys->index.p_elems[m];
128
+                if(entry.time == time)
129
+                    break;
130
+                l = m + 1;
131
+            }
132
+        };
133
+    }
134
+    return entry;
135
+}
136
+
137
+static int Demux(demux_t *p_demux)
138
+{
139
+    hx_sys_t *p_sys  = p_demux->p_sys;
140
+
141
+    uint8_t header[HX_HEADER_SIZE];
142
+    if(vlc_stream_Read(p_demux->s, header, HX_HEADER_SIZE) != HX_HEADER_SIZE)
143
+        return VLC_DEMUXER_EOF;
144
+
145
+    es_out_id_t *es = NULL;
146
+    vlc_tick_t *ppts;
147
+    uint32_t *ppts_offset;
148
+
149
+    if(!memcmp(header, HXVF, 4))
150
+    {
151
+        es = p_sys->p_es_video;
152
+        ppts = &p_sys->video_pts;
153
+        ppts_offset = &p_sys->video_pts_offset;
154
+    }
155
+    else if(!memcmp(header, HXAF, 4))
156
+    {
157
+        es = p_sys->p_es_audio;
158
+        ppts = &p_sys->audio_pts;
159
+        ppts_offset = &p_sys->audio_pts_offset;
160
+    }
161
+    else if(!memcmp(header, HXVS, 4) || !memcmp(header, HXVT, 4))
162
+    {
163
+        return VLC_DEMUXER_SUCCESS;
164
+    }
165
+    else
166
+    {
167
+        msg_Dbg(p_demux, "EOF on %4.4s", (const char *) header);
168
+        return VLC_DEMUXER_EOF;
169
+    }
170
+
171
+    uint32_t sz = GetDWLE(header + 4);
172
+    int i_ret = VLC_DEMUXER_SUCCESS;
173
+
174
+    if(es)
175
+    {
176
+        /* [HXAF.4][size.4][pts.4][?.4] */
177
+        /* [HXVF.4][size.4][pts.4][?.4] */
178
+        *ppts = VLC_TICK_0;
179
+        if(*ppts_offset != UINT32_MAX)
180
+            *ppts += VLC_TICK_FROM_MS(GetDWLE(&header[8]) - *ppts_offset);
181
+        else
182
+            *ppts_offset = GetDWLE(&header[8]);
183
+
184
+        block_t *p_block = vlc_stream_Block(p_demux->s, sz);
185
+        if(p_block == NULL)
186
+            return VLC_DEMUXER_EOF;
187
+
188
+        if(p_block->i_buffer < sz)
189
+            i_ret = VLC_DEMUXER_EOF;
190
+
191
+        if(p_sys->p_es_audio == es)
192
+        {
193
+            /* HXAF sample format prefix [?.1/channels.1/rate.1/?.1] */
194
+            const uint8_t audioprefix[4] = {0x00, 0x01, 0x50, 0x00};
195
+            if(p_block->i_buffer >= 4 &&
196
+               !memcmp(p_block->p_buffer, audioprefix, 4))
197
+            {
198
+                p_block->i_buffer -= 4;
199
+                p_block->p_buffer += 4;
200
+            }
201
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/modules/gui/macosx/preferences/prefs.m -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/modules/gui/macosx/preferences/prefs.m Changed
136
 
1
@@ -111,25 +111,25 @@
2
 @interface VLCTreeBranchItem : VLCTreeItem
3
 {
4
     enum VLCTreeBranchType _branchType;
5
-    int _category;
6
-    int _subcategory;
7
+    enum vlc_config_cat _category;
8
+    enum vlc_config_subcat _subcategory;
9
     /* for plugin type */
10
     module_config_t * _configItems;
11
     unsigned int _configSize;
12
 }
13
-+ (VLCTreeBranchItem *)newCategoryTreeBranch:(int)category;
14
-+ (VLCTreeBranchItem *)newSubcategoryTreeBranch:(int)subcategory;
15
++ (VLCTreeBranchItem *)newCategoryTreeBranch:(enum vlc_config_cat)category;
16
++ (VLCTreeBranchItem *)newSubcategoryTreeBranch:(enum vlc_config_subcat)subcategory;
17
 + (VLCTreeBranchItem *)newPluginTreeBranch:(module_t *)plugin;
18
 
19
-- (id)initWithCategory:(int)category;
20
-- (id)initWithSubcategory:(int)subcategory;
21
+- (id)initWithCategory:(enum vlc_config_cat)category;
22
+- (id)initWithSubcategory:(enum vlc_config_subcat)subcategory;
23
 - (id)initWithPlugin:(module_t *)plugin;
24
 
25
-- (VLCTreeBranchItem *)childRepresentingSubcategory:(int)category;
26
+- (VLCTreeBranchItem *)childRepresentingSubcategory:(enum vlc_config_cat)category;
27
 
28
 - (enum VLCTreeBranchType)branchType;
29
-- (int)category;
30
-- (int)subcategory;
31
+- (enum vlc_config_cat)category;
32
+- (enum vlc_config_subcat)subcategory;
33
 - (module_config_t *)configItems;
34
 - (unsigned int)configSize;
35
 @end
36
@@ -148,7 +148,7 @@
37
 {
38
     module_config_t * _configItems;
39
 }
40
-- (VLCTreeBranchItem *)childRepresentingCategory:(int)category;
41
+- (VLCTreeBranchItem *)childRepresentingCategory:(enum vlc_config_cat)category;
42
 @end
43
 
44
 #pragma mark -
45
@@ -446,7 +446,7 @@
46
 #pragma mark -
47
 @implementation VLCTreeMainItem
48
 
49
-- (VLCTreeBranchItem *)childRepresentingCategory:(int)category
50
+- (VLCTreeBranchItem *)childRepresentingCategory:(enum vlc_config_cat)category
51
 {
52
     NSUInteger childrenCount = [[self children] count];
53
     for (int i = 0; i < childrenCount; i++) {
54
@@ -476,8 +476,8 @@
55
         VLCTreeBranchItem * subcategoryItem = nil;
56
         VLCTreeBranchItem * pluginItem = nil;
57
         module_config_t *p_configs = NULL;
58
-        int cat = CAT_UNKNOWN;
59
-        int subcat = SUBCAT_UNKNOWN;
60
+        enum vlc_config_cat cat = CAT_UNKNOWN;
61
+        enum vlc_config_subcat subcat = SUBCAT_UNKNOWN;
62
         bool subcat_is_general = false;
63
         bool plugin_node_added = false;
64
         bool pending_tree_node_creation = false;
65
@@ -503,7 +503,7 @@
66
             int configType = p_configs[j].i_type;
67
 
68
             if (configType == CONFIG_SUBCATEGORY) {
69
-                subcat = (int) p_configs[j].value.i;
70
+                subcat = (enum vlc_config_subcat) p_configs[j].value.i;
71
                 cat = vlc_config_cat_FromSubcat(subcat);
72
                 subcat_is_general = vlc_config_subcat_IsGeneral(subcat);
73
                 pending_tree_node_creation = true;
74
@@ -603,16 +603,16 @@
75
 
76
 #pragma mark -
77
 @implementation VLCTreeBranchItem
78
-+ (VLCTreeBranchItem *)newCategoryTreeBranch:(int)category
79
++ (VLCTreeBranchItem *)newCategoryTreeBranch:(enum vlc_config_cat)category
80
 {
81
     if (!vlc_config_cat_GetName(category)) {
82
-        msg_Err(getIntf(), "failed to get name for category %i", category);
83
+        msg_Err(getIntf(), "failed to get name for category %i", (int)category);
84
         return nil;
85
     }
86
     return [[[self class] alloc] initWithCategory:category];
87
 }
88
 
89
-+ (VLCTreeBranchItem *)newSubcategoryTreeBranch:(int)subcategory
90
++ (VLCTreeBranchItem *)newSubcategoryTreeBranch:(enum vlc_config_subcat)subcategory
91
 {
92
     if (!vlc_config_subcat_GetName(subcategory))
93
         return nil;
94
@@ -624,7 +624,7 @@
95
     return [[[self class] alloc] initWithPlugin:plugin];
96
 }
97
 
98
-- (id)initWithCategory:(int)category
99
+- (id)initWithCategory:(enum vlc_config_cat)category
100
 {
101
     NSString * name = _NS(vlc_config_cat_GetName(category));
102
     if (self = [super initWithName:name]) {
103
@@ -638,7 +638,7 @@
104
     return self;
105
 }
106
 
107
-- (id)initWithSubcategory:(int)subcategory
108
+- (id)initWithSubcategory:(enum vlc_config_subcat)subcategory
109
 {
110
     NSString * name = _NS(vlc_config_subcat_GetName(subcategory));
111
     if (self = [super initWithName:name]) {
112
@@ -672,7 +672,7 @@
113
         module_config_free(_configItems);
114
 }
115
 
116
-- (VLCTreeBranchItem *)childRepresentingSubcategory:(int)subcategory
117
+- (VLCTreeBranchItem *)childRepresentingSubcategory:(enum vlc_config_subcat)subcategory
118
 {
119
     assert([self isKindOfClass:[VLCTreeBranchItem class]]);
120
     NSUInteger childrenCount = [[self children] count];
121
@@ -689,12 +689,12 @@
122
     return _branchType;
123
 }
124
 
125
-- (int)category
126
+- (enum vlc_config_cat)category
127
 {
128
     return _category;
129
 }
130
 
131
-- (int)subcategory
132
+- (enum vlc_config_subcat)subcategory
133
 {
134
     return _subcategory;
135
 }
136
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/modules/gui/qt/dialogs/preferences/complete_preferences.cpp -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/modules/gui/qt/dialogs/preferences/complete_preferences.cpp Changed
96
 
1
@@ -65,8 +65,8 @@
2
     main_module = module_get_main();
3
     assert( main_module );
4
 
5
-    int cat = CAT_UNKNOWN;
6
-    int subcat = SUBCAT_UNKNOWN;
7
+    enum vlc_config_cat cat = CAT_UNKNOWN;
8
+    enum vlc_config_subcat subcat = SUBCAT_UNKNOWN;
9
     QTreeWidgetItem *cat_item = nullptr;
10
 
11
     /* Create base cat/subcat tree from core config set */
12
@@ -80,7 +80,7 @@
13
         if( p_item->i_type != CONFIG_SUBCATEGORY )
14
             continue;
15
 
16
-        subcat = p_item->value.i;
17
+        subcat = (enum vlc_config_subcat) p_item->value.i;
18
         cat = vlc_config_cat_FromSubcat(subcat);
19
 
20
         if( cat == CAT_UNKNOWN || cat == CAT_HIDDEN )
21
@@ -124,7 +124,7 @@
22
 
23
             if( p_item->i_type == CONFIG_SUBCATEGORY )
24
             {
25
-                subcat = p_item->value.i;
26
+                subcat = (enum vlc_config_subcat) p_item->value.i;
27
                 cat = vlc_config_cat_FromSubcat( subcat );
28
                 continue;
29
             }
30
@@ -180,9 +180,9 @@
31
     resizeColumnToContents( 0 );
32
 }
33
 
34
-QTreeWidgetItem *PrefsTree::createCatNode( int cat )
35
+QTreeWidgetItem *PrefsTree::createCatNode( enum vlc_config_cat cat )
36
 {
37
-    int general_subcat = vlc_config_cat_GetGeneralSubcat( cat );
38
+    enum vlc_config_subcat general_subcat = vlc_config_cat_GetGeneralSubcat( cat );
39
     assert(general_subcat != SUBCAT_UNKNOWN && general_subcat != SUBCAT_HIDDEN);
40
 
41
     PrefsTreeItem *item = new PrefsTreeItem( PrefsTreeItem::CATEGORY_NODE );
42
@@ -212,8 +212,8 @@
43
     item->setIcon( 0, icon );
44
     //current_item->setSizeHint( 0, QSize( -1, ITEM_HEIGHT ) );
45
 
46
-    int cat_index = vlc_config_cat_IndexOf( cat );
47
-    int general_subcat_index = vlc_config_subcat_IndexOf( general_subcat );
48
+    int cat_index = (int) vlc_config_cat_IndexOf( cat );
49
+    int general_subcat_index = (int) vlc_config_subcat_IndexOf( general_subcat );
50
     this->catMap[cat_index] = item;
51
     this->subcatMap[general_subcat_index] = item;
52
 
53
@@ -223,7 +223,7 @@
54
     return item;
55
 }
56
 
57
-QTreeWidgetItem *PrefsTree::createSubcatNode( QTreeWidgetItem * cat, int subcat )
58
+QTreeWidgetItem *PrefsTree::createSubcatNode( QTreeWidgetItem * cat, enum vlc_config_subcat subcat )
59
 {
60
     assert( cat );
61
 
62
@@ -238,7 +238,7 @@
63
     item->setText( 0, item->name );
64
     //item->setSizeHint( 0, QSize( -1, ITEM_HEIGHT ) );
65
 
66
-    int subcat_index = vlc_config_subcat_IndexOf( subcat );
67
+    int subcat_index = (int) vlc_config_subcat_IndexOf( subcat );
68
     this->subcatMap[subcat_index] = item;
69
 
70
     cat->addChild( item );
71
@@ -269,13 +269,13 @@
72
     parent->addChild( item );
73
 }
74
 
75
-QTreeWidgetItem *PrefsTree::findCatItem( int cat )
76
+QTreeWidgetItem *PrefsTree::findCatItem( enum vlc_config_cat cat )
77
 {
78
     int cat_index = vlc_config_cat_IndexOf( cat );
79
     return this->catMap[cat_index];
80
 }
81
 
82
-QTreeWidgetItem *PrefsTree::findSubcatItem( int subcat )
83
+QTreeWidgetItem *PrefsTree::findSubcatItem( enum vlc_config_subcat subcat )
84
 {
85
     int subcat_index = vlc_config_subcat_IndexOf( subcat );
86
     return this->subcatMap[subcat_index];
87
@@ -461,7 +461,7 @@
88
 bool PrefsTreeItem::contains( const QString &text, Qt::CaseSensitivity cs )
89
 {
90
     bool is_core = this->node_type != PrefsTreeItem::PLUGIN_NODE;
91
-    int id = this->subcat_id;
92
+    enum vlc_config_subcat id = this->subcat_id;
93
 
94
     /* find our module */
95
     module_t *p_module;
96
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/modules/gui/qt/dialogs/preferences/complete_preferences.hpp -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/modules/gui/qt/dialogs/preferences/complete_preferences.hpp Changed
28
 
1
@@ -78,8 +78,8 @@
2
     AdvPrefsPanel *panel;
3
     QString name;
4
     QString help;
5
-    int cat_id;
6
-    int subcat_id;
7
+    enum vlc_config_cat cat_id;
8
+    enum vlc_config_subcat subcat_id;
9
     module_t *p_module;
10
     char *module_name;
11
     bool module_is_loaded;
12
@@ -101,11 +101,11 @@
13
     }
14
 
15
 private:
16
-    QTreeWidgetItem *createCatNode( int cat );
17
-    QTreeWidgetItem *createSubcatNode( QTreeWidgetItem * cat, int subcat );
18
+    QTreeWidgetItem *createCatNode( enum vlc_config_cat cat );
19
+    QTreeWidgetItem *createSubcatNode( QTreeWidgetItem * cat, enum vlc_config_subcat subcat );
20
     void createPluginNode( QTreeWidgetItem * parent, module_t *mod );
21
-    QTreeWidgetItem *findCatItem( int cat );
22
-    QTreeWidgetItem *findSubcatItem( int subcat );
23
+    QTreeWidgetItem *findCatItem( enum vlc_config_cat cat );
24
+    QTreeWidgetItem *findSubcatItem( enum vlc_config_subcat subcat );
25
     bool filterItems( PrefsTreeItem *item, const QString &text, Qt::CaseSensitivity cs );
26
     bool collapseUnselectedItems( PrefsTreeItem *item );
27
     void updateLoadedStatus( PrefsTreeItem *item , QSet<QString> *loaded );
28
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/modules/gui/qt/maininterface/compositor_win7.cpp -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/modules/gui/qt/maininterface/compositor_win7.cpp Changed
11
 
1
@@ -160,8 +160,8 @@
2
 
3
 void CompositorWin7::unloadGUI()
4
 {
5
-    commonGUIDestroy();
6
     m_qmlView.reset();
7
+    commonGUIDestroy();
8
 }
9
 
10
 bool CompositorWin7::setupVoutWindow(vout_window_t *p_wnd, VoutDestroyCb destroyCb)
11
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/modules/gui/qt/maininterface/compositor_x11.cpp -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/modules/gui/qt/maininterface/compositor_x11.cpp Changed
11
 
1
@@ -188,8 +188,8 @@
2
 void CompositorX11::unloadGUI()
3
 {
4
     m_renderWindow->stopRendering();
5
-    commonGUIDestroy();
6
     m_qmlView.reset();
7
+    commonGUIDestroy();
8
 }
9
 
10
 void CompositorX11::onSurfacePositionChanged(const QPointF& position)
11
_service:obs_scm:vlc-beta-20220119.f850dd9155.obscpio/modules/gui/qt/maininterface/mainui.cpp -> _service:obs_scm:vlc-beta-20220120.44414977b8.obscpio/modules/gui/qt/maininterface/mainui.cpp Changed
111
 
1
@@ -66,49 +66,29 @@
2
 template<class T>
3
 class SingletonRegisterHelper
4
 {
5
-    static QPointer<QObject> m_instance;
6
-    static QQmlEngine::ObjectOwnership m_ownership;
7
+    static QPointer<T> m_instance;
8
 
9
 public:
10
     static QObject* callback(QQmlEngine *engine, QJSEngine *)
11
     {
12
         assert(m_instance);
13
-        engine->setObjectOwnership(m_instance, m_ownership);
14
+        engine->setObjectOwnership(m_instance, QQmlEngine::ObjectOwnership::CppOwnership);
15
         return m_instance;
16
     }
17
 
18
-    template<class T2 = T, typename... Args>
19
-    static auto getCallback(Args&&... args)
20
-    {
21
-        if (!m_instance)
22
-        {
23
-            m_ownership = QQmlEngine::ObjectOwnership::JavaScriptOwnership;
24
-            m_instance = new T2(std::forward<Args>(args)...);
25
-            assert(!m_instance->parent());
26
-        }
27
-        else
28
-            assert(sizeof...(args) == 0);
29
-
30
-        return callback;
31
-    }
32
-
33
-    template<class T2 = T>
34
-    static void setInstance(T2& instance)
35
+    static void setInstance(T* instance)
36
     {
37
         assert(!m_instance);
38
-        m_ownership = QQmlEngine::ObjectOwnership::CppOwnership;
39
-        m_instance = &instance;
40
+        m_instance = instance;
41
     }
42
 
43
-    static auto getInstance()
44
+    static T* getInstance()
45
     {
46
-        return static_cast<T*>(m_instance);
47
+        return m_instance;
48
     }
49
 };
50
 template<class T>
51
-QQmlEngine::ObjectOwnership SingletonRegisterHelper<T>::m_ownership = QQmlEngine::ObjectOwnership::JavaScriptOwnership;
52
-template<class T>
53
-QPointer<QObject> SingletonRegisterHelper<T>::m_instance = nullptr;
54
+QPointer<T> SingletonRegisterHelper<T>::m_instance = nullptr;
55
 
56
 template<class T>
57
 void registerAnonymousType( const char *uri, int versionMajor )
58
@@ -135,18 +115,24 @@
59
     assert(m_mainCtx);
60
     assert(m_interfaceWindow);
61
 
62
-    SingletonRegisterHelper<MainCtx>::setInstance(*mainCtx);
63
+    SingletonRegisterHelper<MainCtx>::setInstance(mainCtx);
64
 
65
     assert(m_intf->p_mainPlayerController);
66
-    SingletonRegisterHelper<PlayerController>::setInstance(*m_intf->p_mainPlayerController);
67
+    SingletonRegisterHelper<PlayerController>::setInstance(m_intf->p_mainPlayerController);
68
 
69
     assert(DialogsProvider::getInstance());
70
-    SingletonRegisterHelper<DialogsProvider>::setInstance(*DialogsProvider::getInstance());
71
+    SingletonRegisterHelper<DialogsProvider>::setInstance(DialogsProvider::getInstance());
72
+
73
+    SingletonRegisterHelper<NavigationHistory>::setInstance( new NavigationHistory(this) );
74
+    SingletonRegisterHelper<I18n>::setInstance( new I18n(this) );
75
+    SingletonRegisterHelper<SystemPalette>::setInstance( new SystemPalette(this) );
76
+    SingletonRegisterHelper<DialogModel>::setInstance( new DialogModel(m_intf, this));
77
+    SingletonRegisterHelper<QmlKeyHelper>::setInstance( new QmlKeyHelper(this) );
78
 
79
     if (m_mainCtx->hasMediaLibrary())
80
     {
81
         assert(m_mainCtx->getMediaLibrary());
82
-        SingletonRegisterHelper<MediaLib>::setInstance(*m_mainCtx->getMediaLibrary());
83
+        SingletonRegisterHelper<MediaLib>::setInstance(m_mainCtx->getMediaLibrary());
84
     }
85
 
86
     registerQMLTypes();
87
@@ -217,13 +203,13 @@
88
         const int versionMinor = 1;
89
 
90
         qmlRegisterSingletonType<MainCtx>(uri, versionMajor, versionMinor, "MainCtx", SingletonRegisterHelper<MainCtx>::callback);
91
-        qmlRegisterSingletonType<NavigationHistory>(uri, versionMajor, versionMinor, "History", SingletonRegisterHelper<NavigationHistory>::getCallback());
92
+        qmlRegisterSingletonType<NavigationHistory>(uri, versionMajor, versionMinor, "History", SingletonRegisterHelper<NavigationHistory>::callback);
93
         qmlRegisterSingletonType<PlayerController>(uri, versionMajor, versionMinor, "Player", SingletonRegisterHelper<PlayerController>::callback);
94
-        qmlRegisterSingletonType<I18n>(uri, versionMajor, versionMinor, "I18n", SingletonRegisterHelper<I18n>::getCallback());
95
+        qmlRegisterSingletonType<I18n>(uri, versionMajor, versionMinor, "I18n", SingletonRegisterHelper<I18n>::callback);
96
         qmlRegisterSingletonType<DialogsProvider>(uri, versionMajor, versionMinor, "DialogsProvider", SingletonRegisterHelper<DialogsProvider>::callback);
97
-        qmlRegisterSingletonType<SystemPalette>(uri, versionMajor, versionMinor, "SystemPalette", SingletonRegisterHelper<SystemPalette>::getCallback());
98
-        qmlRegisterSingletonType<DialogModel>(uri, versionMajor, versionMinor, "DialogModel", SingletonRegisterHelper<DialogModel>::getCallback(m_intf));
99
-        qmlRegisterSingletonType<QmlKeyHelper>(uri, versionMajor, versionMinor, "KeyHelper", SingletonRegisterHelper<QmlKeyHelper>::getCallback());
100
+        qmlRegisterSingletonType<SystemPalette>(uri, versionMajor, versionMinor, "SystemPalette", SingletonRegisterHelper<SystemPalette>::callback);
101
+        qmlRegisterSingletonType<DialogModel>(uri, versionMajor, versionMinor, "DialogModel", SingletonRegisterHelper<DialogModel>::callback);
102
+        qmlRegisterSingletonType<QmlKeyHelper>(uri, versionMajor, versionMinor, "KeyHelper", SingletonRegisterHelper<QmlKeyHelper>::callback);
103
 
104
         qmlRegisterUncreatableType<QAbstractItemModel>(uri, versionMajor, versionMinor, "QtAbstractItemModel", "");
105
         qmlRegisterUncreatableType<QWindow>(uri, versionMajor, versionMinor, "QtWindow", "");
106
@@ -349,4 +335,3 @@
107
         msg_Warn( m_intf, "qml error %s:%i %s", qtu(error.url().toString()), error.line(), qtu(error.description()) );
108
     }
109
 }
110
-
111
_service:obs_scm:vlc-beta.obsinfo Changed
10
 
1
@@ -1,5 +1,5 @@
2
 name: vlc-beta
3
-version: 20220119.f850dd9155
4
-mtime: 1642600189
5
-commit: f850dd91554acc829dd0160e69382dfaa701f991
6
+version: 20220120.44414977b8
7
+mtime: 1642685637
8
+commit: 44414977b87af755837bc6ef6c66b5d19ed11c57
9
 
10