Claudio Cambra
5ac575314b
macosx: Make time label on detached audio window more readable
...
Bolden and add shadow
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
261d385c2e
macosx: Add ability to set enter/exit handling blocks to VLCTrackingView
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
c16d21f6f4
macosx: Disable border on bottom bar view of detached audio window
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
3fe20ba31f
macosx: Add option to disable border on bottom bar view
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
ccb43e668b
macosx: Customise overlay view in detached audio window for better visibility of controls
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
05236fc07b
macosx: Make darkest gradient colour for main video view overlay view settable
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
b78d3018dd
macosx: Make wrapper view within detached audio window a main video overlay view
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
5a813d78f7
macosx: Apply shadow effect to bottom control bar for detached audio window
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
be00b9a8fe
macosx: Apply Dark Aqua style on controls bar for detached audio window
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
c43d7c42c7
macosx: Constify pointers in detached audio window
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
6a333019f9
macosx: Use default image corner cropping behaviour by default on detached audio window image view
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
10c5a66683
macosx: Use actual titlebar instead of custom close button in detached audio window
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
db26555f4c
macosx: Use standard colour for time label in detached audio window
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Claudio Cambra
546a036f00
macosx: Make detached audio window control buttons more reasonably sized
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-17 04:50:56 +00:00
Marvin Scholz
1fb04ec98b
rtp: h265: use vlc_sdp helpers
...
Fixes parsing of these parameter names to be properly case-insensitive
as per RFC 4855 Section 3:
Similarly, parameter names are case-insensitive both
in media type strings and in the default mapping to the SDP a=fmtp
attribute.
2024-05-17 04:14:03 +00:00
Marvin Scholz
531530b0ad
rtp: h264: allow missing packetization-mode
...
According to RFC 6184 Section 6.2, a missing packetization-mode
indicates the Single NAS Unit Mode, the same as a mode of 0.
2024-05-17 04:14:03 +00:00
Marvin Scholz
a6bc2fd113
rtp: h264: use vlc_sdp helpers
...
Fixes parsing of these parameter names to be properly case-insensitive
as per RFC 4855 Section 3:
Similarly, parameter names are case-insensitive both
in media type strings and in the default mapping to the SDP a=fmtp
attribute.
2024-05-17 04:14:03 +00:00
Fatih Uzunoglu
5a5cd55056
qml: consider `loaderLeftRight` in PlayerControlLayout implicit height calculation
2024-05-16 14:26:26 +00:00
Fatih Uzunoglu
c2bd55599e
qml: hide PlayerControlLayout when the model is empty
2024-05-16 14:26:26 +00:00
Fatih Uzunoglu
86db4cadef
qt: add `empty` property to PlayerControlbarModel
2024-05-16 14:26:26 +00:00
Fatih Uzunoglu
10cee75606
qt: connect signals when component is complete in VideoSurface
...
Only after `QQuickItem::componentComplete()` is called, we
are sure that all bindings are assigned. Currently,
the signal handlers connected in construction depend
on other bindings.
This is not ideal, because there is no guarantee on the
binding evaluation ordering.
2024-05-16 13:56:43 +00:00
Prince Gupta
f2d708909c
qml: center align text of TextField
2024-05-16 13:17:54 +00:00
Prince Gupta
988da9a1b1
qml: fix placeholder text color
2024-05-16 13:17:54 +00:00
Fatih Uzunoglu
b6da2c77cc
qt: show quick window after the user interface is loaded successfully in compositor_dcomp
2024-05-16 12:39:09 +00:00
Fatih Uzunoglu
3ba29b8886
qt: show quick window after the user interface is loaded successfully in compositor_x11
2024-05-16 12:39:09 +00:00
Fatih Uzunoglu
88ef0727b8
qt: show quick window after the user interface is loaded successfully in compositor_win7
2024-05-16 12:39:09 +00:00
Fatih Uzunoglu
0bff17edfb
qt: show quick window after the user interface is loaded successfully in compositor_wayland
2024-05-16 12:39:09 +00:00
Thomas Guillem
b42481c79e
aout: handle pts in TimingReport()
...
Timing reports are now based on the pts of the first block.
This will allow finer controls by modules in case of PTS discontinuity
(not yet handled).
2024-05-16 05:40:20 +00:00
Thomas Guillem
79ecf3baef
coreaudio: don't send timing when not started
...
A first timing was sent with ts = 0 (so pts = 1, fixed by the core) with
a valid system date. This could cause invalid start (video glitches if
master, audio glitch if slave).
2024-05-16 05:40:20 +00:00
Claudio Cambra
7f73777104
macosx: Fix whitespace in collection view item if
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-16 01:27:15 +00:00
Claudio Cambra
2ddd86c844
macosx: Use default NSColor for header texts for collection view supplementary element view
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-13 11:16:54 +00:00
Claudio Cambra
7f94bd8563
macosx: Limit detail string for hero view to one line
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-12 14:28:22 +00:00
Claudio Cambra
8d1c820bbe
macosx: Lower compression resistance priority of stack view components
...
Prevents the child views of the stack view resizing the stack view past the size of the super view
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-12 14:28:22 +00:00
Claudio Cambra
a85531c4be
macosx: Limit trailing edge of hero view stack view
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-12 14:28:22 +00:00
Claudio Cambra
928e8fea7d
macosx: Log when receiving nil index path on mouse down of collection view item
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-12 13:19:00 +00:00
Claudio Cambra
f54dc525de
macosx: Avoid crashing upon clicking collection view item when receiving nil index path
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-12 13:19:00 +00:00
Claudio Cambra
f3693fe723
macosx: Set default value for song detail string in playlist table cell view
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-11 19:57:49 +00:00
Claudio Cambra
83a1b518d5
macosx: Fix valid album string check for length in playlist table cell view
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-11 19:57:49 +00:00
Claudio Cambra
bebcc89c38
macosx: Add elide to audio group header view title
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-11 16:17:57 +00:00
Claudio Cambra
1fa42f744e
macosx: Do not show horizontal scroller on audio grouping table view
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-11 14:47:33 +00:00
Prince Gupta
04ba6eb336
qml: fix grouping in video views
...
fixes a typo
2024-05-11 11:49:06 +00:00
Prince Gupta
4fc045f1ea
qml: fix double padding
2024-05-10 15:56:50 +00:00
Prince Gupta
4149672b53
qml: fix focus handling in BrowseTreeHeader
...
Control doesn't handle focusable children well
2024-05-10 15:56:50 +00:00
Prince Gupta
0c96e3b620
qml: separate loading and empty component in BrowseTreeDisplay
2024-05-10 15:56:50 +00:00
Prince Gupta
146575c06e
qt: remove shadowed member function
...
BaseModel has getCount
2024-05-10 15:56:50 +00:00
Prince Gupta
0d955392b9
qml: remove redundant property
2024-05-10 15:56:50 +00:00
Prince Gupta
ac3b18336a
qml: add more strict constaints for 'loadingComponent'
2024-05-10 15:56:50 +00:00
Prince Gupta
870911a642
qml: refactor loading view in MainViewLoader for clarity
2024-05-10 15:56:50 +00:00
Prince Gupta
dee7fb6e7b
qml: fix color handling in table view for some qt versions
...
fixes binding assignment,
using QObject/QGadget types in Qt.binding fails
see https://bugreports.qt.io/browse/QTBUG-125095
2024-05-10 10:06:20 +00:00
Fatih Uzunoglu
b12a7be7d3
qt: do not init `qtquickshapes_shaders` resource
...
Qt Quick Shapes is not used now, it is not
necessary to initialize its resources.
2024-05-10 09:23:25 +00:00
Fatih Uzunoglu
7b98948bbe
qt: use KWindowSystem to enable blur in CompositorX11
2024-05-09 16:05:51 +00:00
Fatih Uzunoglu
041b8f04e2
qt: enable acrylic blur for KWin in compositor_wayland
2024-05-09 16:05:51 +00:00
Fatih Uzunoglu
9fca2c36da
qt: use `CompositorVideo::setBlurBehind()` in compositor_dcomp
2024-05-09 16:05:51 +00:00
Fatih Uzunoglu
10134a4154
qt: add setBlurBehind() to CompositorVideo
2024-05-09 16:05:51 +00:00
Fatih Uzunoglu
e6a1738d9f
qt: add kwindowsystem_module and win32windoweffects_module
2024-05-09 16:05:51 +00:00
Prince Gupta
f9d948ca03
service_discovery: Add winvolumes module
...
implement SD_CAT_MYCOMPUTER based service discovery
module on Windows
allows to query volumes mounted on host computer
Ref #28597
2024-05-09 12:27:00 +00:00
Rémi Denis-Courmont
90dc0a023f
http: allow short response byte range
...
RFC9110 specifies that a client must handle a shorter response range
than requested in all circumstanges. Previously, RFC7233 only required
that behaviour for multipart ranges, which VLC did not use.
This matches the newer specification: VLC will try to resume from the
last received offset not only on unexpected error, but also on short
response.
Fixes #28627 .
2024-05-07 13:38:39 +00:00
Thomas Guillem
5762f3f17e
meson: fix build
...
Regression from 63f3e39652
2024-05-07 10:27:44 +02:00
Thomas Guillem
63f3e39652
aout: add avsamplebuffer
...
This module enables SpatialAudio when playing multi channels content.
This module has finer A/V sync delay:
- 15-40ms on speaker/HDMI
- -80ms with AirPlay
- 80ms with bluetooth devices (was 250ms before).
Airplay playback is now more stable, the VLC delay (via
aout_TimingReport) is less than 100ms, so audio and video will play
almost instantaneously.
With audiounit_ios, the delay was 2 seconds making it harder to sync
audio and video (since input tracks had to be delayed too).
Note that even if the audio seems to be playing from the VLC side, the
airplay will be silent for the first 2seconds. This can be improved by
increasing the pts-delay (file-caching): 7seconds of pts-delay remove
this latency (from 2secs to 100ms), but this is not something that could
be enabled by default.
One other improvement is that the airplay device will stop immediately
when pausing/stopping/seeking.
This module has a priority of 100, less than auhal, that can handle
passthrough, but more than audiunit_ios. Therefore, this module will be
the default one on iOS/tvOS, but can be selected by the user on macOS
(or deselected on iOS/tvOS). This is temporary as it might be
interesting for macOS users to use this aout as it can handle Spatial
Audio.
2024-05-07 06:35:17 +00:00
Thomas Guillem
97972a25a9
audiounit_ios: decrease priority
...
No changes since the other aout module is macOS only (auhal) and won't
interfere.
2024-05-07 06:35:17 +00:00
Thomas Guillem
c1420e41e3
aout: apple: export avas helpers
2024-05-07 06:35:17 +00:00
Thomas Guillem
49ea2f350c
aout: apple: export channel_layout_MapFromVLC
...
This will be used by the future avsamplebuffer aout.
2024-05-07 06:35:17 +00:00
Thomas Guillem
53d58abbe9
audiounit_ios: make avas_PrepareFormat standalone
...
And not module (sys) dependant.
2024-05-07 06:35:17 +00:00
Thomas Guillem
d35fce0a97
audiounit_ios: make avas_GetPortType standalone
...
And not module (sys) dependant.
2024-05-07 06:35:17 +00:00
Thomas Guillem
da27196e96
audiounit_ios: make avas_SetActive standalone
...
And not module (sys) dependant.
2024-05-07 06:35:17 +00:00
Thomas Guillem
2dea28625c
audiounit_ios: replace SessionManager with a static atomic
2024-05-07 06:35:17 +00:00
Thomas Guillem
8d79916319
audiounit_ios: handle spatial audio
...
Don't ask the core to downmix to stereo when spatialaudio is handled.
Notify when we are playing multi channels.
This is not supported by the audiounit_ios module but will be supported
by the future avsamplebuffer module.
2024-05-07 06:35:17 +00:00
Thomas Guillem
67149f7c34
Revert "aout iOS: add support for spatial audio"
...
This reverts commit 744248f5ee
.
SpatialAudio doesn't work with audiounit. This will be added back in the
avsamplebuffer aout.
2024-05-07 06:35:17 +00:00
Thomas Guillem
53e033bbc4
audiounit_ios: log more NSErrror
2024-05-07 06:35:17 +00:00
Thomas Guillem
ab8ebdeb39
audiounit_ios: move setPreferredSampleRate in avas_PrepareFormat
2024-05-07 06:35:17 +00:00
Thomas Guillem
7bbbb16f67
audiounit_ios: rename avas_setPreferredNumberOfChannels
2024-05-07 06:35:17 +00:00
Thomas Guillem
2c5912df4e
audiounit_ios: always set the preferred channel count
...
So that we don't have to reset it after playback.
Also, warn when the preferred channel count doesn't match with the
input.
2024-05-07 06:35:17 +00:00
Thomas Guillem
56a0d3d330
modules: move apple aouts to common folder
2024-05-07 06:35:17 +00:00
Fatih Uzunoglu
c7b294d94c
qml: avoid using `Array.isArray()`
...
See QTBUG-112291.
2024-05-07 05:58:14 +00:00
Fatih Uzunoglu
ba05d4613d
qml: add `isArray()` to Helpers.js
...
`Array.isArray()` does not seem to
work well with QML.
2024-05-07 05:58:14 +00:00
Fatih Uzunoglu
8b36c24451
qt: use `QVector<SharedInputItem>` instead of `QVariantList` as `NetworkMediaModel::getItemsForIndexes()` return type
2024-05-07 05:58:14 +00:00
Fatih Uzunoglu
37dd8a1e0b
qt: use `QVector<SharedInputItem>` instead of `QVariantList` as `NetworkDeviceModel::getItemsForIndexes()` return type
2024-05-07 05:58:14 +00:00
Fatih Uzunoglu
ee5566c8b5
qt: use `QVector<SharedInputItem>` instead of `QVariantList` as `PlaylistListModel::getItemsForIndexes()` return type
2024-05-07 05:58:14 +00:00
Claudio Cambra
ff02f0a950
macosx: Ensure loading indicator is visible above decorative view
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-07 03:32:49 +00:00
Claudio Cambra
32399ea662
macosx: Do not mark audio decorative view property as readwrite outlet
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-07 03:32:49 +00:00
Claudio Cambra
823f9a79a6
macosx: Hide main video view loading indicator on load
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-07 03:32:49 +00:00
Claudio Cambra
b4ec05374b
macosx: Run animation for main video view loading indicator
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-07 03:32:49 +00:00
Claudio Cambra
f11df7bc17
macosx: Show and hide loading indicator in main video view based on buffer fill state
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-07 03:32:49 +00:00
Claudio Cambra
f3a8d4afec
macosx: Add loading indicator to main video view XIB
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-07 03:32:49 +00:00
Fatih Uzunoglu
010853ff24
qml: determine resize handle width according to scroll bar width
...
Resize handle may overlap the scroll bar. In that case, using
scroll bar may be impossible because the resize handle might
have a width that is larger than the width of the scroll bar.
Since scroll bar is not customized, we have no control over
the width of the scroll bar. Therefore, in this patch it is
proposed to set the width of resize handle to half of the
scroll bar's width. This makes both scrolling and resizing
feasible.
2024-05-07 03:10:56 +00:00
Fatih Uzunoglu
8096817519
qml: filter rapid events on position change in seekbar
...
Qt has built-in event compression for certain events, such
as window resize. However, this is not the case with mouse
move event. In such cases, filtering needs to be handled
manually.
This approach is already followed in the volume slider.
It is not a good idea to request backend to do an operation
just to override it within the same event loop processing
cycle. Without filtering, CPU utilization increases a lot
and stuttering may be observed.
Volume or player position update must be asked to the
backend at most once per Qt event loop cycle. With
`Qt.callLater()` this can be satisfied.
2024-05-06 20:21:42 +00:00
Fatih Uzunoglu
3eb3ed2842
qml: try to fix polish loop in ArtworkInfoWidget
2024-05-06 18:44:35 +00:00
Fatih Uzunoglu
3529e880b2
qt: decouple scene graph and CompositorDirectComposition
2024-05-06 18:23:27 +00:00
Fatih Uzunoglu
64189b6e40
qt: destroy intf handler and the quick view in `CompositorDirectComposition::unloadGUI()`
2024-05-06 16:47:42 +00:00
Fatih Uzunoglu
85a93c00c2
qt: remove `blendColors()` in systempalette.cpp
2024-05-06 15:30:01 +00:00
Fatih Uzunoglu
e117034633
qml: remove blendColors property from VLCStyle
2024-05-06 15:30:01 +00:00
Fatih Uzunoglu
3011779189
qt: do not expose `blendColors()` anymore
2024-05-06 15:30:01 +00:00
Fatih Uzunoglu
908fc5aa96
qml: use built-in color tint instead of custom blend in AcrylicBackground
2024-05-06 15:30:01 +00:00
Fatih Uzunoglu
71e1ab15ee
qt: do not expose `setColorAlpha()` anymore
2024-05-06 15:30:01 +00:00
Fatih Uzunoglu
4a9e83a237
qml: remove setColorAlpha property from VLCStyle
2024-05-06 15:30:01 +00:00
Fatih Uzunoglu
0603a12baf
qml: use built-in color alpha function
2024-05-06 15:30:01 +00:00
Fatih Uzunoglu
48b919841c
qml: establish binding in `delegateItem` property of FadingEdgeForListView
...
When `listView.itemAtIndex(0)` is used, the delegate item is
not resolved when new items added which makes it remain
null.
When `listView.count` is referred as done here, the QML
engine establishes a relational binding and this causes
the property to be updated each time the count is updated.
Regression since 300b3b9c
.
2024-05-06 12:48:10 +00:00
Claudio Cambra
87636f2f7b
macosx: Set native full screen mode to on by default
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-06 10:58:05 +00:00
Claudio Cambra
ef1baaee65
macosx: Fix initial state of play queue toggle if the view is not present within the library split view
...
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2024-05-06 10:10:55 +00:00
Fatih Uzunoglu
07085e4ffb
qml: use template control in EditorDNDDelegate
...
Default Control may cause alignment and size
issues here. This is observed with KDE's
theme.
2024-05-06 07:36:48 +00:00