Changes of Revision 293

vlc-beta.spec Changed
x
 
1
@@ -37,8 +37,6 @@
2
 Source1:        %name.changes
3
 Source3:        %name-rpmlintrc
4
 Patch0:         vlc-beta.patch
5
-Patch1:         vlc.a52dec.patch
6
-Patch2:         vlc.hostname.patch
7
 
8
 %ifarch x86_64 aarch64
9
 Requires:       libqtquickcontrols2plugin.so()(64bit)
10
vlc-beta.patch Changed
35
 
1
@@ -27,6 +27,15 @@
2
            VLC_ADD_PLUGIN(mod)
3
            VLC_ADD_CXXFLAGS(mod,$LIBMODPLUG_CFLAGS)
4
            VLC_ADD_CFLAGS(mod,$LIBMODPLUG_CFLAGS) #modules/demux/mod.c needs CFLAGS_mod, not CXXFLAGS_mod
5
+@@ -4658,7 +4658,7 @@ AS_IF(test -z "$VLC_COMPILE_HOST",
6
+    VLC_COMPILE_HOST=`hostname -f 2>/dev/null || hostname`
7
+ )
8
+ AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "$VLC_COMPILE_HOST", host which ran configure)
9
+-AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", compiler)
10
++AC_DEFINE_UNQUOTED(VLC_COMPILER, "gcc", compiler)
11
+ dnl
12
+ dnl  Handle substvars that use $(top_srcdir)
13
+ dnl
14
 --- a/include/vlc/libvlc_version.h
15
 +++ b/include/vlc/libvlc_version.h
16
 @@ -54,7 +54,7 @@
17
@@ -38,6 +47,17 @@
18
  
19
  /** LibVLC ABI minor version number, updated when compatible changes are added */
20
  # define LIBVLC_ABI_VERSION_MINOR  (0)
21
+--- a/modules/codec/a52.c
22
++++ b/modules/codec/a52.c
23
+@@ -300,7 +300,7 @@ static int Open( vlc_object_t *p_this )
24
+     p_sys->i_flags |= A52_ADJUST_LEVEL;
25
+ 
26
+     /* Initialize liba52 */
27
+-    p_sys->p_liba52 = a52_init( 0 );
28
++    p_sys->p_liba52 = a52_init();
29
+     if( p_sys->p_liba52 == NULL )
30
+     {
31
+         msg_Err( p_this, "unable to initialize liba52" );
32
 --- a/modules/control/cli/cli.c
33
 +++ b/modules/control/cli/cli.c
34
 @@ -537,9 +537,8 @@ static void cli_client_delete(struct cli_client *cl)
35
vlc.a52dec.patch Deleted
13
 
1
@@ -1,11 +0,0 @@
2
---- a/modules/codec/a52.c
3
-+++ b/modules/codec/a52.c
4
-@@ -302,7 +302,7 @@ static int Open( vlc_object_t *p_this )
5
-     p_sys->i_flags |= A52_ADJUST_LEVEL;
6
- 
7
-     /* Initialize liba52 */
8
--    p_sys->p_liba52 = a52_init( 0 );
9
-+    p_sys->p_liba52 = a52_init();
10
-     if( p_sys->p_liba52 == NULL )
11
-     {
12
-         msg_Err( p_this, "unable to initialize liba52" );
13
vlc.hostname.patch Deleted
13
 
1
@@ -1,11 +0,0 @@
2
---- a/configure.ac
3
-+++ b/configure.ac
4
-@@ -4208,7 +4208,7 @@ AC_SUBST(VERSION_MINOR)
5
-    VLC_COMPILE_HOST=`hostname -f 2>/dev/null || hostname`
6
- )
7
- AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "$VLC_COMPILE_HOST", host which ran configure)
8
--AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", compiler)
9
-+AC_DEFINE_UNQUOTED(VLC_COMPILER, "gcc", compiler)
10
- dnl
11
- dnl  Handle substvars that use $(top_srcdir)
12
- dnl
13
_service:obs_scm:vlc-beta-20230420.b437cad568.obscpio/modules/gui/qt/medialibrary/medialib.cpp -> _service:obs_scm:vlc-beta-20230421.8d930c5670.obscpio/modules/gui/qt/medialibrary/medialib.cpp Changed
51
 
1
@@ -298,6 +298,26 @@
2
         return;
3
     }
4
 
5
+    auto it = m_inputItemQuery.find(variantList);
6
+
7
+    if (it == m_inputItemQuery.end())
8
+    {
9
+        it = m_inputItemQuery.insert(variantList, {callback});
10
+    }
11
+    else
12
+    {
13
+        // be patient
14
+
15
+        for (const auto& it2 : it.value())
16
+        {
17
+            if (callback.strictlyEquals(it2))
18
+                return;
19
+        }
20
+
21
+        it.value().push_back(callback); // FIXME: Use an ordered set
22
+        return;
23
+    }
24
+
25
     runOnMLThread<Ctx>(this,
26
     //ML thread
27
     mlIdList(vlc_medialibrary_t* ml, Ctx& ctx){
28
@@ -326,7 +346,7 @@
29
         }
30
     },
31
     //UI thread
32
-    this, callback(quint64, Ctx& ctx) mutable
33
+    this, it(quint64, Ctx& ctx) mutable
34
     {
35
         auto jsEngine = qjsEngine(this);
36
         if (!jsEngine)
37
@@ -341,7 +361,12 @@
38
             i++;
39
         }
40
 
41
-        callback.call({jsArray});
42
+        for (auto cb : qAsConst(it.value())) // TODO: Qt 6 use const reference
43
+        {
44
+            cb.call({jsArray});
45
+        }
46
+
47
+        m_inputItemQuery.erase(it);
48
     });
49
 }
50
 
51
_service:obs_scm:vlc-beta-20230420.b437cad568.obscpio/modules/gui/qt/medialibrary/medialib.hpp -> _service:obs_scm:vlc-beta-20230421.8d930c5670.obscpio/modules/gui/qt/medialibrary/medialib.hpp Changed
10
 
1
@@ -218,6 +218,8 @@
2
     quint64 m_taskId = 1;
3
     QMap<quint64, RunOnMLThreadBaseRunner*> m_runningTasks;
4
     QMultiMap<const QObject*, quint64> m_objectTasks;
5
+
6
+    QMap<QVariantList, QVector<QJSValue>> m_inputItemQuery;
7
 };
8
 
9
 class RunOnMLThreadBaseRunner : public QObject, public QRunnable
10
_service:obs_scm:vlc-beta-20230420.b437cad568.obscpio/modules/gui/qt/medialibrary/qml/PlaylistMedia.qml -> _service:obs_scm:vlc-beta-20230421.8d930c5670.obscpio/modules/gui/qt/medialibrary/qml/PlaylistMedia.qml Changed
18
 
1
@@ -161,9 +161,13 @@
2
 
3
         // NOTE: Dropping medialibrary content into the playlist.
4
         } else if (Helpers.isValidInstanceOf(item, Widgets.DragItem)) {
5
-            item.getSelectedInputItem(function(inputItems) {
6
-                model.insert(inputItems, destinationIndex)
7
-            })
8
+            if (item.inputItems) {
9
+                model.insert(item.inputItems, destinationIndex)
10
+            } else {
11
+                item.getSelectedInputItem(function(inputItems) {
12
+                    model.insert(inputItems, destinationIndex)
13
+                })
14
+            }
15
         }
16
 
17
         root.forceActiveFocus()
18
_service:obs_scm:vlc-beta-20230420.b437cad568.obscpio/modules/gui/qt/playlist/qml/PlaylistListView.qml -> _service:obs_scm:vlc-beta-20230421.8d930c5670.obscpio/modules/gui/qt/playlist/qml/PlaylistListView.qml Changed
26
 
1
@@ -102,13 +102,17 @@
2
 
3
         // NOTE: Dropping medialibrary content into the queue.
4
         } else if (Helpers.isValidInstanceOf(item, Widgets.DragItem)) {
5
-            item.getSelectedInputItem(function(inputItems) {
6
-                if (!Array.isArray(inputItems) || inputItems.length === 0) {
7
-                    console.warn("can't convert items to input items");
8
-                    return
9
-                }
10
-                mainPlaylistController.insert(index, inputItems, false)
11
-            })
12
+            if (item.inputItems) {
13
+                mainPlaylistController.insert(index, item.inputItems, false)
14
+            } else {
15
+                item.getSelectedInputItem(function(inputItems) {
16
+                    if (!Array.isArray(inputItems) || inputItems.length === 0) {
17
+                        console.warn("can't convert items to input items");
18
+                        return
19
+                    }
20
+                    mainPlaylistController.insert(index, inputItems, false)
21
+                })
22
+            }
23
 
24
         // NOTE: Dropping an external item (i.e. filesystem) into the queue.
25
         } else if (drop.hasUrls) {
26
_service:obs_scm:vlc-beta-20230420.b437cad568.obscpio/modules/gui/qt/widgets/qml/DragItem.qml -> _service:obs_scm:vlc-beta-20230421.8d930c5670.obscpio/modules/gui/qt/widgets/qml/DragItem.qml Changed
55
 
1
@@ -60,6 +60,8 @@
2
     // string => role
3
     property string titleRole: "title"
4
 
5
+    readonly property var inputItems: _inputItems
6
+
7
     function coversXPos(index) {
8
         return VLCStyle.margin_small + (coverSize / 3) * index;
9
     }
10
@@ -82,6 +84,8 @@
11
         if (!dragItem._active)
12
             return
13
 
14
+        Qt.callLater(dragItem.getSelectedInputItem, dragItem.setInputItems)
15
+
16
         var covers = 
17
         var titleList = 
18
 
19
@@ -107,6 +111,16 @@
20
         _title = titleList.join(",") + (indexes.length > _maxCovers ? "..." : "")
21
     }
22
 
23
+    function setInputItems(inputItems) {
24
+        if (!Array.isArray(inputItems) || inputItems.length === 0) {
25
+            console.warn("can't convert items to input items");
26
+            dragItem._inputItems = null
27
+            return
28
+        }
29
+
30
+        dragItem._inputItems = inputItems
31
+    }
32
+
33
     //---------------------------------------------------------------------------------------------
34
     // Private
35
 
36
@@ -118,6 +132,8 @@
37
 
38
     readonly property int _displayedCoversCount: Math.min(_indexesSize, _maxCovers + 1)
39
 
40
+    property var _inputItems
41
+
42
     property var _data: 
43
 
44
     property var _covers: 
45
@@ -131,6 +147,9 @@
46
         // TODO: Rework D&D positioning
47
         if (!Drag.active)
48
             x = y = -1
49
+
50
+        if (!Drag.active)
51
+            dragItem._inputItems = undefined
52
     }
53
 
54
     //---------------------------------------------------------------------------------------------
55
_service:obs_scm:vlc-beta.obsinfo Changed
9
 
1
@@ -1,4 +1,4 @@
2
 name: vlc-beta
3
-version: 20230420.b437cad568
4
-mtime: 1682006141
5
-commit: b437cad5687aa36d6b5fe15a3f61e46e2bfb81ea
6
+version: 20230421.8d930c5670
7
+mtime: 1682043073
8
+commit: 8d930c56700387bddc399872c69ec88b4c0c6387
9