vlc.git
27 hours agomedialibrary: Fix and update the playlist 'Convert' function master
Benjamin Arnaud [Fri, 9 Apr 2021 08:00:44 +0000 (10:00 +0200)]
medialibrary: Fix and update the playlist 'Convert' function

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: use cached shadows in GridItem
Prince Gupta [Mon, 12 Apr 2021 11:50:20 +0000 (17:20 +0530)]
qml: use cached shadows in GridItem

improves creation time of GridItem

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: allow delegating cover background in GridItem
Prince Gupta [Mon, 12 Apr 2021 11:50:19 +0000 (17:20 +0530)]
qml: allow delegating cover background in GridItem

removes shadows

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: implement GridShadow widget
Prince Gupta [Mon, 12 Apr 2021 11:50:18 +0000 (17:20 +0530)]
qml: implement GridShadow widget

provides cached selected and unselected type shadows for use in GridItem

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: implement ShadowCoverGenerator
Prince Gupta [Mon, 12 Apr 2021 11:50:17 +0000 (17:20 +0530)]
qml: implement ShadowCoverGenerator

can generate shadows in a Component which then can be reused at
different places, note that shadows are only created once

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: remove unnecessary components from GridItem
Prince Gupta [Mon, 12 Apr 2021 11:50:16 +0000 (17:20 +0530)]
qml: remove unnecessary components from GridItem

improve instantiation times for GridItem component

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqt: fix controlbar profile model unique name generation
Fatih Uzunoglu [Sun, 11 Apr 2021 21:45:32 +0000 (00:45 +0300)]
qt: fix controlbar profile model unique name generation

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: fix reference error in language menu control
Fatih Uzunoglu [Sun, 11 Apr 2021 21:45:31 +0000 (00:45 +0300)]
qml: fix reference error in language menu control

fixes qml errors that happens when the toolbar editor
gets opened.

Intends to be a temporary solution for #25643.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: fix qml error in ButtonsLayout
Fatih Uzunoglu [Sun, 11 Apr 2021 21:45:30 +0000 (00:45 +0300)]
qml: fix qml error in ButtonsLayout

according to specifications, undefined can
not be assigned to qml type real

fixes part of #25601.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: fix qml error in PlaylistListView
Fatih Uzunoglu [Sun, 11 Apr 2021 21:45:29 +0000 (00:45 +0300)]
qml: fix qml error in PlaylistListView

according to specifications, null can
not be assigned to qml type point

fixes part of #25601.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: fix qml errors in OverlayMenu
Fatih Uzunoglu [Sun, 11 Apr 2021 21:45:28 +0000 (00:45 +0300)]
qml: fix qml errors in OverlayMenu

This patch fixes a component which tries to access
undefined object and tries to assign undefined to
QString.

fixes part of #25601.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: fix binding loop detected warning in PlaylistDelegate
Fatih Uzunoglu [Sun, 11 Apr 2021 21:45:27 +0000 (00:45 +0300)]
qml: fix binding loop detected warning in PlaylistDelegate

fixes part of #25601.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
28 hours agoqml: fix binding loop detected warning in PlaylistToolbar
Fatih Uzunoglu [Sun, 11 Apr 2021 21:45:26 +0000 (00:45 +0300)]
qml: fix binding loop detected warning in PlaylistToolbar

fixes part of #25601

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2 days agoinhibit: add UIKit-based inhibiter
Alexandre Janniaux [Wed, 14 Apr 2021 09:42:58 +0000 (11:42 +0200)]
inhibit: add UIKit-based inhibiter

The inhibiter code is taken from VLCKit inhibiter's handling, and is
meant to replace this handling.

2 days agoavcodec: encoder: fix comment location
Alexandre Janniaux [Wed, 14 Apr 2021 08:05:29 +0000 (10:05 +0200)]
avcodec: encoder: fix comment location

2 days agotest: Makefile.am: compile vlccoreios for tvOS
Alexandre Janniaux [Sat, 20 Feb 2021 15:59:34 +0000 (16:59 +0100)]
test: Makefile.am: compile vlccoreios for tvOS

2 days agotest: iosvlc: disable pinchRecognizer on tvOS
Alexandre Janniaux [Sun, 21 Feb 2021 13:35:51 +0000 (14:35 +0100)]
test: iosvlc: disable pinchRecognizer on tvOS

The pinch recognizer cannot work on tvOS, since tvOS doesn't have a
touchscreen.

3 days agoinput: rename vlc_input_event_times variables
Thomas Guillem [Thu, 11 Feb 2021 16:27:59 +0000 (17:27 +0100)]
input: rename vlc_input_event_times variables

3 days agocdda: fix format-truncation warning
Thomas Guillem [Wed, 7 Apr 2021 12:49:06 +0000 (14:49 +0200)]
cdda: fix format-truncation warning

3 days agocore: add --clock-master long description
Thomas Guillem [Mon, 12 Apr 2021 08:38:04 +0000 (10:38 +0200)]
core: add --clock-master long description

4 days agorist: add missing translations
Pierre Ynard [Tue, 13 Apr 2021 01:01:33 +0000 (03:01 +0200)]
rist: add missing translations

4 days agopo: add missing dav1d.c
Pierre Ynard [Tue, 13 Apr 2021 01:00:54 +0000 (03:00 +0200)]
po: add missing dav1d.c

5 days agovideo_output: fix comment and move do_snapshot
Alexandre Janniaux [Mon, 22 Mar 2021 09:14:40 +0000 (10:14 +0100)]
video_output: fix comment and move do_snapshot

The comment /* Get the subpicture to be displayed */ was written twice
in places where no subpictures were involved. In addition, do_snapshot
was computed where the rendering date was computed although it was not
used there.

Move the do_snapshot computation just before it's used, replace the
misplaced comments by comment actually describing what's follow, and
rewrite the removed comment where spu_Render actually returns the
subpicture.

5 days agoopengl: add plane filtering to mock filter
Romain Vimont [Tue, 30 Mar 2021 11:14:11 +0000 (13:14 +0200)]
opengl: add plane filtering to mock filter

This helps for testing plane filtering.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: add support for planes filtering
Romain Vimont [Tue, 30 Mar 2021 11:14:10 +0000 (13:14 +0200)]
opengl: add support for planes filtering

If config.filter_planes is set on a filter, generate one output texture
for each input texture, and call draw() for each plane separately.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: make direct sampler support multi-texture
Romain Vimont [Tue, 30 Mar 2021 11:14:09 +0000 (13:14 +0200)]
opengl: make direct sampler support multi-texture

A "direct" sampler (i.e. a sampler without interop) only supported one
texture, because the output of the previous filter was assumed to be
RGBA in a single plane.

A deinterlace filter will output several planes, so the sampler of the
next filter must be able to receive all of them.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: add support for plane samplers
Romain Vimont [Tue, 30 Mar 2021 11:14:08 +0000 (13:14 +0200)]
opengl: add support for plane samplers

A sampler gives access to the input picture, in RGBA.

Add support for giving access to individual input planes, selected by
vlc_gl_sampler_SelectPlane(), in their native format.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: expose texture sizes in sampler
Romain Vimont [Tue, 30 Mar 2021 11:14:07 +0000 (13:14 +0200)]
opengl: expose texture sizes in sampler

The number of input planes and their sizes might be useful to filters
implementation.

It could be retrieved by vlc_fourcc_GetChromaDescription(), but for
convenience, expose them in sampler.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: extract shader extensions
Romain Vimont [Tue, 30 Mar 2021 11:14:06 +0000 (13:14 +0200)]
opengl: extract shader extensions

Compute the shader extensions in a separate function, to be able to
reuse it.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: extract sampler and texture lookup names
Romain Vimont [Tue, 30 Mar 2021 11:14:05 +0000 (13:14 +0200)]
opengl: extract sampler and texture lookup names

The type and function to use depends on the texture target.

Extract the mapping to a separate function to be able to reuse it.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: replace multi-variables by arrays in GLSL
Romain Vimont [Tue, 30 Mar 2021 11:14:04 +0000 (13:14 +0200)]
opengl: replace multi-variables by arrays in GLSL

Variables were generated on the fly with an index in the name. For
example:

    uniform sampler2D Texture0;
    uniform mat3 TexCoordsMap0;
    uniform sampler2D Texture1;
    uniform mat3 TexCoordsMap1;
    uniform sampler2D Texture2;
    uniform mat3 TexCoordsMap2;

Replace them by arrays:

    uniform sampler2D Textures[3];
    uniform mat3 TexCoordsMaps[3];

This will enable to expose a GLSL function providing a color for a
particular plane number passed as a parameter.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: factorize sampler creation
Romain Vimont [Tue, 30 Mar 2021 11:14:03 +0000 (13:14 +0200)]
opengl: factorize sampler creation

Now that both types of samplers (interop and direct) use the same
fragment shader code generation, factorize their creation.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: use main shader for direct samplers
Romain Vimont [Tue, 30 Mar 2021 11:14:02 +0000 (13:14 +0200)]
opengl: use main shader for direct samplers

A sampler may receive their input picture either:
 - from an interop, uploading a picture_t
 - from a previous filter, giving an OpenGL texture directly (a "direct"
   sampler)

The fragment shader for a "direct" sampler was straightforward: the
input was always an RGBA texture. On the contrary, samplers from interop
always applied chroma conversion to expose individual pixels in RGBA.

However, deinterlace filters operate on individual input planes, so
the chroma conversion must be applied afterwards.

To prepare support for this feature, use the same fragment shader code
generation for both types of samplers.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: init fragment shader without interop
Romain Vimont [Tue, 30 Mar 2021 11:14:01 +0000 (13:14 +0200)]
opengl: init fragment shader without interop

This will allow to generate chroma conversion code for "direct"
samplers, in order to convert chroma between OpenGL filters.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: init swizzle without interop
Romain Vimont [Tue, 30 Mar 2021 11:14:00 +0000 (13:14 +0200)]
opengl: init swizzle without interop

Swizzle will be necessary even for "direct" samplers (samplers without
interop).

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoopengl: explicit texture scaling computation
Romain Vimont [Tue, 30 Mar 2021 11:13:59 +0000 (13:13 +0200)]
opengl: explicit texture scaling computation

In OpenGL, some values of picture planes scaling are hardcoded, and
might differ from the values provided by in a vlc_chroma_description_t.

Make the computation explicit and explain why.

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
5 days agoblock: double the possible allocation size
Alexandre Janniaux [Thu, 8 Apr 2021 13:07:25 +0000 (15:07 +0200)]
block: double the possible allocation size

An 8k RGB image doesn't fit within the maximum allocation size
constraint installed in block_Alloc. Indeed, 2^27 is 134217728 while
the RGB 8k jpeg image sample in #19979 will allocate 201326592.

In general, 8k with 4 byte per pixel can go up to 132710400, without
taking into account additional padding, so doubling the allocation size
is enough to handle those pictures, while keeping a limit for the
maximum allocation size.

Fixes #19979

5 days agoqt/mlplaylistmedia: Add the 'm_thumbnailStatus' initialize
Benjamin Arnaud [Thu, 1 Apr 2021 17:45:07 +0000 (19:45 +0200)]
qt/mlplaylistmedia: Add the 'm_thumbnailStatus' initialize

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqml/PlaylistMediaList: Remove the 'onItemDoubleClicked' event
Benjamin Arnaud [Thu, 1 Apr 2021 14:30:52 +0000 (16:30 +0200)]
qml/PlaylistMediaList: Remove the 'onItemDoubleClicked' event

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqml/PlaylistMediaDisplay: Remove deprecated '_actionAtIndex' function
Benjamin Arnaud [Tue, 30 Mar 2021 08:51:27 +0000 (10:51 +0200)]
qml/PlaylistMediaDisplay: Remove deprecated '_actionAtIndex' function

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqml/PlaylistMediaList: Update '_actionAtIndex' implementation
Benjamin Arnaud [Tue, 30 Mar 2021 08:51:38 +0000 (10:51 +0200)]
qml/PlaylistMediaList: Update '_actionAtIndex' implementation

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqt/mlplaylistmodel: Add the 'thumbnailUpdated' function
Benjamin Arnaud [Tue, 30 Mar 2021 10:54:47 +0000 (12:54 +0200)]
qt/mlplaylistmodel: Add the 'thumbnailUpdated' function

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqml/TableViewDelegate: Syntax cleanup
Benjamin Arnaud [Tue, 30 Mar 2021 08:52:14 +0000 (10:52 +0200)]
qml/TableViewDelegate: Syntax cleanup

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqt: improve volume slider control
Romain Vimont [Wed, 7 Apr 2021 16:27:06 +0000 (18:27 +0200)]
qt: improve volume slider control

The slider has some width, which must be taken into account to compute
the volume.

This avoids to control the left of the handle near 0% but the right of
the handle near 125%. Instead, it always controls the center of the
handle.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqt: fix volume slider control
Romain Vimont [Wed, 7 Apr 2021 16:27:05 +0000 (18:27 +0200)]
qt: fix volume slider control

When changing the volume slider with the mouse, the new value considered
the width of the complete component instead of the relevant visual part.

As a consequence, the slider did not follow the mouse correctly.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqt: improve right-click volume control
Romain Vimont [Wed, 7 Apr 2021 16:27:04 +0000 (18:27 +0200)]
qt: improve right-click volume control

Right-click allows to set the volume control to predefined steps (0%,
50%, 100% and 125%).

However, the last step (125%) was only reachable from the last pixel.

Instead, set to the nearest predefined value (and simplify the code for
readability).

         0%      50%      100% 125%
         |        |        |    |
         ^^^^^---------^^^^^^^^^-    (before)
         ^^^^^---------^^^^^^^---    (after)

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqml: fix foreground color handling in TabButtonExt
Prince Gupta [Mon, 5 Apr 2021 10:50:40 +0000 (16:20 +0530)]
qml: fix foreground color handling in TabButtonExt

fixes tab button not using accentText color when active

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqml: draw background from Player for resume dialog
Prince Gupta [Mon, 5 Apr 2021 10:50:39 +0000 (16:20 +0530)]
qml: draw background from Player for resume dialog

This makes all possible backgrounds for TopBar of Player at one place,
this is also necessary since application margin is applied in content
of TopBar but background don't need to follow the application margins
also controls like PlaylistView needs to overlap with TopBar's
background but not content.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agoqml: correctly align CSD decorations in ResumeDialog
Prince Gupta [Mon, 5 Apr 2021 10:50:38 +0000 (16:20 +0530)]
qml: correctly align CSD decorations in ResumeDialog

Amends 79b4f5290d921557151e013945f478458e16b88a

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
5 days agocore: use "auto" as the default clock-master source
Thomas Guillem [Thu, 1 Apr 2021 13:53:08 +0000 (15:53 +0200)]
core: use "auto" as the default clock-master source

5 days agocore: add the "auto" clock source
Thomas Guillem [Thu, 1 Apr 2021 13:31:49 +0000 (15:31 +0200)]
core: add the "auto" clock source

The "--clock-master=auto" option will select the input as the clock
source when the input can't pace (live content), and will fallback to
the "audio" source otherwise (most common case).

5 days agocore: add the "input" clock source
Thomas Guillem [Thu, 1 Apr 2021 13:31:38 +0000 (15:31 +0200)]
core: add the "input" clock source

The "--clock-master=input" option (disabled by default) allow to setup
the input_clock_t as the master clock. This will restore the VLC 3.0
behavior and use PCR update points as the clock source. Therefore, audio
and video tracks will be altered to catch-up with the input.

5 days agoes_out: constify p_master_clock
Thomas Guillem [Wed, 31 Mar 2021 13:59:34 +0000 (15:59 +0200)]
es_out: constify p_master_clock

Since it's used as a "weak ref" and should not be accessed directly.

5 days agoes_out: change clocks allocation order
Thomas Guillem [Wed, 31 Mar 2021 13:52:18 +0000 (15:52 +0200)]
es_out: change clocks allocation order

No functional changes.

5 days agoinput_clock: add the ability to drive the main_clock
Thomas Guillem [Wed, 31 Mar 2021 12:38:49 +0000 (14:38 +0200)]
input_clock: add the ability to drive the main_clock

5 days agoes_out: refactor clock_source cat selection
Thomas Guillem [Wed, 31 Mar 2021 13:33:33 +0000 (15:33 +0200)]
es_out: refactor clock_source cat selection

No functional changes.

5 days agocore: change the "--clock-master" type to string
Thomas Guillem [Wed, 31 Mar 2021 13:10:04 +0000 (15:10 +0200)]
core: change the "--clock-master" type to string

Keeping compatibility with the legacy type (0 and 1).

5 days agolibvlc: fix title count conditional for chapter descriptions
Mark Lee [Thu, 8 Apr 2021 17:30:53 +0000 (18:30 +0100)]
libvlc: fix title count conditional for chapter descriptions

Chapter descriptions were not being returned for valid title
indices.

The conditional check would return true (and therefore abort the
method) when the requested title index was less than the title
count, i.e. when it was valid.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
9 days agocontrib: rav1e: update to v0.4.1
Tristan Matthews [Thu, 8 Apr 2021 15:05:30 +0000 (11:05 -0400)]
contrib: rav1e: update to v0.4.1

 * Avoid a crash for 1pixel videos
 * Make write_color_config() spec compliant
 * Fix an intermittent test failure
 * Make sure Intel AVX512 support works
 * Update v_frame to 0.2.1

 Source: https://github.com/xiph/rav1e/releases/tag/v0.4.1

9 days agoinput: add url parsing of `input-slave` option
Alaric Senat [Fri, 2 Apr 2021 14:30:07 +0000 (16:30 +0200)]
input: add url parsing of `input-slave` option

As shown in #25549, we need to extract the path from the url in order to
check the file extension without the eventual HTTP's options noise.

Fixes: #25549
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
9 days agodemux: adaptive: delegate chunk source creation to manager
Francois Cartegnie [Thu, 18 Mar 2021 20:03:29 +0000 (21:03 +0100)]
demux: adaptive: delegate chunk source creation to manager

9 days agodemux: adaptive: always create chunk with range
Francois Cartegnie [Thu, 18 Mar 2021 12:48:11 +0000 (13:48 +0100)]
demux: adaptive: always create chunk with range

9 days agodemux: adaptive: add getter for chunk type
Francois Cartegnie [Thu, 18 Mar 2021 10:26:53 +0000 (11:26 +0100)]
demux: adaptive: add getter for chunk type

9 days agodemux: adaptive: add inheritable wrapper deleter
Francois Cartegnie [Sun, 10 Jan 2021 16:05:02 +0000 (17:05 +0100)]
demux: adaptive: add inheritable wrapper deleter

9 days agodemux: adaptive: add namespace on time
Francois Cartegnie [Tue, 5 Jan 2021 21:38:58 +0000 (22:38 +0100)]
demux: adaptive: add namespace on time

10 days agodemux: hls: compute pdt time for pre discontinuity
Francois Cartegnie [Tue, 30 Mar 2021 18:11:32 +0000 (20:11 +0200)]
demux: hls: compute pdt time for pre discontinuity

10 days agodemux: adaptive: no more need for probing fallback
Francois Cartegnie [Wed, 17 Mar 2021 23:48:16 +0000 (00:48 +0100)]
demux: adaptive: no more need for probing fallback

10 days agocontrib: harfbuzz: fix WINAPI detection
Steve Lhomme [Wed, 7 Apr 2021 06:51:20 +0000 (08:51 +0200)]
contrib: harfbuzz: fix WINAPI detection

The safe way to detect a UWP or Desktop app with mingw64 is to check the
WINAPI_PARTITION_DESKTOP partition.

10 days agopacketizer: avparser: remove useless realloc/copy
Francois Cartegnie [Tue, 6 Apr 2021 16:27:17 +0000 (18:27 +0200)]
packetizer: avparser: remove useless realloc/copy

10 days agopacketizer: avparser: set proper frame flags
Francois Cartegnie [Tue, 6 Apr 2021 16:21:05 +0000 (18:21 +0200)]
packetizer: avparser: set proper frame flags

10 days agopacketizer: avparser: properly propagate flags
Francois Cartegnie [Tue, 6 Apr 2021 16:16:37 +0000 (18:16 +0200)]
packetizer: avparser: properly propagate flags

11 days agovlm: remove wrong assertion
Romain Vimont [Tue, 15 Sep 2020 17:37:35 +0000 (19:37 +0200)]
vlm: remove wrong assertion

The vlm instance name may be NULL. The documentation (doc/vlm.txt)
states that the "instance_name" parameter is optional.

Fixes #23211

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
11 days agoegl_pbuffer: fix missing file for distcheck
Alexandre Janniaux [Wed, 31 Mar 2021 08:53:42 +0000 (10:53 +0200)]
egl_pbuffer: fix missing file for distcheck

11 days agoqml: hide header section text when not applicable
Prince Gupta [Thu, 18 Mar 2021 12:26:35 +0000 (17:56 +0530)]
qml: hide header section text when not applicable

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: fix colors in SearchBox
Prince Gupta [Fri, 19 Mar 2021 11:51:16 +0000 (17:21 +0530)]
qml: fix colors in SearchBox

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: move isValidInstanceOf function in Helpers
Prince Gupta [Wed, 17 Mar 2021 15:07:39 +0000 (20:37 +0530)]
qml: move isValidInstanceOf function in Helpers

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: remove unused properties from Langmenu
Prince Gupta [Tue, 16 Mar 2021 11:30:53 +0000 (17:00 +0530)]
qml: remove unused properties from Langmenu

also base LanguageMenu on PopUp component, LanguageMenu is more like a
Popup than a menu, also menus in qml are now native.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: update 'faster.svg' and 'slower.svg'
Prince Gupta [Thu, 11 Mar 2021 14:54:11 +0000 (20:24 +0530)]
qml: update 'faster.svg' and 'slower.svg'

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: add playback speed control widget
Prince Gupta [Tue, 9 Mar 2021 13:42:04 +0000 (19:12 +0530)]
qml: add playback speed control widget

fixes #22268

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: revise menu handling in Player
Prince Gupta [Mon, 15 Mar 2021 18:29:25 +0000 (23:59 +0530)]
qml: revise menu handling in Player

1. make _menu member public, it's already being used outside the class
2. support Popup like objects as a menu

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: lazily update availableRowWidth of KeyNaviagableTableView
Prince Gupta [Tue, 2 Mar 2021 11:20:43 +0000 (16:50 +0530)]
qml: lazily update availableRowWidth of KeyNaviagableTableView

solves slow animation of Playlist collapsing and expanding

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: enable text interactions in URL text box
Prince Gupta [Mon, 29 Mar 2021 17:47:30 +0000 (23:17 +0530)]
qml: enable text interactions in URL text box

fixes #25580

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: fix color handling in URL text box
Prince Gupta [Mon, 1 Mar 2021 16:09:32 +0000 (21:39 +0530)]
qml: fix color handling in URL text box

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqt: fullfill reset request if worker is already idle
Prince Gupta [Mon, 1 Mar 2021 15:59:09 +0000 (21:29 +0530)]
qt: fullfill reset request if worker is already idle

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqt: remove unnecessary invokeMethod call
Prince Gupta [Mon, 1 Mar 2021 15:51:42 +0000 (21:21 +0530)]
qt: remove unnecessary invokeMethod call

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: correctly add url media
Prince Gupta [Mon, 1 Mar 2021 15:27:27 +0000 (20:57 +0530)]
qml: correctly add url media

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: change itemDoubleClicked signal behaviour in KeyNavigableTableView
Prince Gupta [Mon, 1 Mar 2021 12:07:39 +0000 (17:37 +0530)]
qml: change itemDoubleClicked signal behaviour in KeyNavigableTableView

don't emit actionForSelection with itemDoubleClicked signal, this makes
table view's itemDoubleClicked signal same as grid item's double clicked
signal

fixes reduntant history point bugs in Album ListView and Genre ListView.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml, qt: remove duration_short property
Prince Gupta [Wed, 24 Feb 2021 14:09:43 +0000 (19:39 +0530)]
qml, qt: remove duration_short property

with duration_short property we have to map ml_sorting criteria with
multiple roles, which makes MLBaseModel::sortCriteria unstable, so
remove duration_short, have duration property return raw "msec" and
convert it to string in the view

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: move clamp function to Helpers
Prince Gupta [Wed, 17 Mar 2021 14:17:26 +0000 (19:47 +0530)]
qml: move clamp function to Helpers

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: add msToString helper function
Prince Gupta [Mon, 15 Mar 2021 12:51:03 +0000 (18:21 +0530)]
qml: add msToString helper function

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: fix focus in local menu group
Prince Gupta [Mon, 22 Feb 2021 17:24:11 +0000 (22:54 +0530)]
qml: fix focus in local menu group

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agodemux: adaptive: fix probing with multiple ID3
Francois Cartegnie [Tue, 6 Apr 2021 07:58:36 +0000 (09:58 +0200)]
demux: adaptive: fix probing with multiple ID3

regression regarding #24237 after chunk probe only change

11 days agoqml: disable highlight auto scroll in toolbar editor
Fatih Uzunoglu [Thu, 1 Apr 2021 22:22:41 +0000 (01:22 +0300)]
qml: disable highlight auto scroll in toolbar editor

This patch intends to fix #25576 /
https://code.videolan.org/videolan/vlc/-/issues/25576

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: fix drag auto scroll in toolbar editor
Fatih Uzunoglu [Thu, 1 Apr 2021 22:22:40 +0000 (01:22 +0300)]
qml: fix drag auto scroll in toolbar editor

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: make toolbar editor view's scroll bar always visible
Fatih Uzunoglu [Thu, 1 Apr 2021 22:22:39 +0000 (01:22 +0300)]
qml: make toolbar editor view's scroll bar always visible

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: show dirty mark in toolbar editor tab button
Fatih Uzunoglu [Thu, 1 Apr 2021 22:22:38 +0000 (01:22 +0300)]
qml: show dirty mark in toolbar editor tab button

in addition to the profile name dirty indication,
 indicate dirtiness of submodels too.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: dynamically create inner views in toolbar editor
Fatih Uzunoglu [Thu, 1 Apr 2021 22:22:37 +0000 (01:22 +0300)]
qml: dynamically create inner views in toolbar editor

even though the alignments are fixed (left, center, and right),
 this approach increases the maintainability of the code.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqml: dynamically populate the toolbar editor
Fatih Uzunoglu [Thu, 1 Apr 2021 22:22:36 +0000 (01:22 +0300)]
qml: dynamically populate the toolbar editor

Thanks to MOC, the PlayerIdentifier enum is iteratively
converted to a JavaScript object and passed to the QML-side
through the singleton type "PlayerlistModel" which is
registered with qmlRegisterSingletonType in mainui.cpp.
The new toolbar editor handles the returned object as
 a model and dynamically populates itself per player.

If there is a need to add a new player, just
add a new entry to the PlayerIdentifier enum and
set its identifier accordingly. With the new
approach the new player will automatically
appear in the toolbar editor.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqt: register qml singleton type PlayerListModel
Fatih Uzunoglu [Thu, 1 Apr 2021 22:22:35 +0000 (01:22 +0300)]
qt: register qml singleton type PlayerListModel

qmlRegisterSingletonType provides a convenient way
for the QML-side to invoke static methods of classes
that are not created or can not be created.

PlayerListModel singleton is generated from the
static function of
PlayerControlbarModel::getPlaylistIdentifierListModel.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
11 days agoqt: make player identifiers translatable
Fatih Uzunoglu [Thu, 1 Apr 2021 22:22:34 +0000 (01:22 +0300)]
qt: make player identifiers translatable

Signed-off-by: Pierre Lamot <pierre@videolabs.io>