vlc.git
2 months agoresource: inline RequestSout()
Rémi Denis-Courmont [Tue, 19 Jan 2021 18:15:31 +0000 (20:15 +0200)]
resource: inline RequestSout()

(no functional changes)

2 months agoresource: remove now dead code
Rémi Denis-Courmont [Tue, 19 Jan 2021 18:09:26 +0000 (20:09 +0200)]
resource: remove now dead code

This is dead because psz_sout can no longer be NULL.

2 months agoresource: inline RequestSout()
Rémi Denis-Courmont [Tue, 19 Jan 2021 18:07:04 +0000 (20:07 +0200)]
resource: inline RequestSout()

... into input_resource_PutSout() - with constant expansion.

(No functional changes, except trivially if !ENABLE_SOUT)

2 months agoresource: remove now always NULL parameter
Rémi Denis-Courmont [Tue, 19 Jan 2021 18:03:27 +0000 (20:03 +0200)]
resource: remove now always NULL parameter

2 months agoresource: add an assertion
Rémi Denis-Courmont [Tue, 19 Jan 2021 18:03:13 +0000 (20:03 +0200)]
resource: add an assertion

(This is trivially verified by the only call site.)

2 months agoinput: add input_resource_PutSout()
Rémi Denis-Courmont [Tue, 19 Jan 2021 17:56:51 +0000 (19:56 +0200)]
input: add input_resource_PutSout()

This mimicks input_resource_PutVout(), except in the case that the
second parameter is NULL:
- PutVout() asserts that that is not the case.
- PutSout() destroys the resource sout.
It is unclear if this is really intended. If not, this should be
addressed later on (this patch makes no functional changes).

2 months agoresource: inline propagate RequestSout()
Rémi Denis-Courmont [Tue, 19 Jan 2021 17:42:16 +0000 (19:42 +0200)]
resource: inline propagate RequestSout()

...and input_resource_RequestSout() into input_resource_TerminateSout().
No functional changes.

2 months agoinput: call input_resource_TerminateSout()
Rémi Denis-Courmont [Tue, 19 Jan 2021 17:39:47 +0000 (19:39 +0200)]
input: call input_resource_TerminateSout()

(no functional changes)

2 months agoresource: check if sout is NULL just once
Rémi Denis-Courmont [Tue, 19 Jan 2021 17:36:20 +0000 (19:36 +0200)]
resource: check if sout is NULL just once

2 months agosout: remove unused variable
Rémi Denis-Courmont [Tue, 19 Jan 2021 17:29:06 +0000 (19:29 +0200)]
sout: remove unused variable

2 months agoRevert "video_output:control: merge the two wait conditions"
Steve Lhomme [Wed, 20 Jan 2021 11:26:48 +0000 (12:26 +0100)]
Revert "video_output:control: merge the two wait conditions"

This reverts commit 6d31fe007b20dbe07eba5420de8ec84653c7c7c9.

The waiting and signaling of the same condition variable in the same thread
seems to be a no-no. And because of this commit some playback tests failed
as well as tsan checks.

2 months agocontrib: update rav1e to 0.4.0
Tristan Matthews [Wed, 20 Jan 2021 21:08:28 +0000 (16:08 -0500)]
contrib: update rav1e to 0.4.0

Release notes: https://github.com/xiph/rav1e/releases/tag/v0.4.0

2 months agoextras: ci: bump debian-unstable for cmake
Alexandre Janniaux [Tue, 19 Jan 2021 15:07:12 +0000 (16:07 +0100)]
extras: ci: bump debian-unstable for cmake

It avoids rebuilding cmake 3.17.0, meson 0.54.2 and nasm 2.14 at every
build, speeding up the CI.

2 months agocontrib: aom: update to v2.0.1
Tristan Matthews [Tue, 19 Jan 2021 19:59:08 +0000 (14:59 -0500)]
contrib: aom: update to v2.0.1

2 months agompjpeg mux: do not use block_FifoCount()
Rémi Denis-Courmont [Mon, 12 Oct 2020 18:05:24 +0000 (21:05 +0300)]
mpjpeg mux: do not use block_FifoCount()

2 months agosout: remove the instance lock
Rémi Denis-Courmont [Sun, 11 Oct 2020 14:24:27 +0000 (17:24 +0300)]
sout: remove the instance lock

This becomes redundant with the previous change.

2 months agosout: lock sout_stream_t individually
Rémi Denis-Courmont [Sun, 11 Oct 2020 14:17:29 +0000 (17:17 +0300)]
sout: lock sout_stream_t individually

The stream output is called from multiple threads without
synchronisation, notably at least one thread per ES decoder. Normally,
the stream output instance (sout_instance_t) lock will serialise all
calls to the first stream output module instance (sout_stream_t) in the
stream output chain.

This is not practical if there is also concurrency within the chain.
One notable case is when the select/duplicate module is used in filter
mode and one of the select/duplicate target is threaded, e.g.:

 #duplicate{dst=transcode{...},dst=transcode{...}}:std{...}

In that example, the standard output can be called from both transcode
filters.

To solve this, add a lock for each element in the stream output chain.
Alternatively, we could drop filter mode from select/duplicate, leaving
only the (more common) output mode where duplicate is the last element
in the chain.

2 months agodemux: adaptive: make commandsqueue to use only abstract objects
Francois Cartegnie [Fri, 15 Jan 2021 09:09:25 +0000 (10:09 +0100)]
demux: adaptive: make commandsqueue to use only abstract objects

2 months agodemux: adaptive: add missing override specifier
Francois Cartegnie [Thu, 14 Jan 2021 22:39:35 +0000 (23:39 +0100)]
demux: adaptive: add missing override specifier

2 months agodemux: adaptive: fix commands comparison
Francois Cartegnie [Thu, 14 Jan 2021 19:38:04 +0000 (20:38 +0100)]
demux: adaptive: fix commands comparison

strictly weak ordering was not preserved with same pts pkts
(assumed a & b were compared in stored order)

Causing corruption with non standard split IFrames as < 2^16
PES size.

refs #25380

2 months agodemux: adaptive: fix empty commandqueue duration
Francois Cartegnie [Mon, 18 Jan 2021 14:18:59 +0000 (15:18 +0100)]
demux: adaptive: fix empty commandqueue duration

2 months agovideo_output: avoid potential NULL dereference of displayed.current
Steve Lhomme [Tue, 17 Nov 2020 13:44:40 +0000 (14:44 +0100)]
video_output: avoid potential NULL dereference of displayed.current

ThreadDisplayPreparePicture() can call ThreadChangeFilters() which will reset
displayed.current (via ThreadFilterFlush) so we need to ensure we don't release
it again after a call to ThreadDisplayPreparePicture().

2 months agovideo_output:control: merge the two wait conditions
Steve Lhomme [Fri, 18 Dec 2020 06:26:01 +0000 (07:26 +0100)]
video_output:control: merge the two wait conditions

The code using the is_held (outside the vout thread doing things on the vout)
is still blocked by the cond_timedwait but doesn't need an extra boolean for
that.

The wait for is_held is done earlier as it's more logical to wait for outside
calls to be finished blocking the vout thread loop before actually waiting for
a deadline, which may have passed anyway. In both cases (before and now), new
calls to control_Hold() were/are blocked until control_Pop() is done.

Moving this code also mimicks better the way control_Hold/control_Release are
using is_held and the (shared) wait condition. Once the timed wait is done we
are back to a (signaled) state similar to control_Release.

2 months agovideo_output:control: rename can_sleep to forced_awake
Steve Lhomme [Fri, 18 Dec 2020 07:15:15 +0000 (08:15 +0100)]
video_output:control: rename can_sleep to forced_awake

Invert the values as it means the opposite.
Explain why we keep forced_awake true while there are pending mouse events in
the FIFO.

This might also be handled out of control.c. The wake could just cause the
cond_timedwait to exit but the state to ignore the deadline and keep popping
mouse states from the control FIFO could be handled in video_output.c.

2 months agovideo_output: terminate the vout thread if stop was called during rendering
Steve Lhomme [Tue, 19 Jan 2021 08:32:47 +0000 (09:32 +0100)]
video_output: terminate the vout thread if stop was called during rendering

As the termination may happen during ThreadDisplayPicture we also check if we
have to terminate the thread when it is done. We don't want to handle the
deadline and wait for nothing.

2 months agovideo_output: handle the termination of the vout thread outside of control.c
Steve Lhomme [Fri, 18 Dec 2020 06:06:52 +0000 (07:06 +0100)]
video_output: handle the termination of the vout thread outside of control.c

To terminate the thread ASAP we need to set the terminate flag (from whatever
thread) and wake up the loop if it was waiting for anything.

The control_Pop still waits for the is_held to be false, meaning other threads
doing things on the vout to be done. This was done when the vout thread loop
was just receiving VOUT_CONTROL_TERMINATE to signify the end of the thread.

2 months agovideo_output: pop mouse events and terminated state from the control FIFO
Steve Lhomme [Thu, 17 Dec 2020 15:18:24 +0000 (16:18 +0100)]
video_output: pop mouse events and terminated state from the control FIFO

The terminate state is always reported by vout_control_Pop(). So we don't wait
anymore until all mouse events are processed before the TERMINATE command is
handled.

The command array is now a mouse state array.

2 months agovideo_output:control: handle the terminate state internally in the control FIFO
Steve Lhomme [Thu, 17 Dec 2020 09:57:34 +0000 (10:57 +0100)]
video_output:control: handle the terminate state internally in the control FIFO

It doesn't push a dummy command anymore but sets an internal flag.

If the control FIFO is terminated we don't wait for new commands before
returning. There might be some pending mouse commands before the TERMINATED
command (that is now removed).

2 months agovideo_output:control: de-factorize vout_control_Push code
Steve Lhomme [Thu, 17 Dec 2020 09:08:53 +0000 (10:08 +0100)]
video_output:control: de-factorize vout_control_Push code

2 months agovideo_output: remove the dead (don't push) control handling in video_output
Steve Lhomme [Thu, 17 Dec 2020 09:19:03 +0000 (10:19 +0100)]
video_output: remove the dead (don't push) control handling in video_output

When vout_control_Dead() was called the vout thread was already dead. But
before that call happened, other threads may have been pushing commands in the
control FIFO. So this call only helped a bit.

In the end all previously enqueued commands will be ignored anyway. The control
FIFO will just be cleaned a few lines later in vout_Release().

2 months agovideo_output: make a function per push command
Steve Lhomme [Thu, 17 Dec 2020 09:07:23 +0000 (10:07 +0100)]
video_output: make a function per push command

We pass the mouse data directly to vout_control_PushMouse(). No need to know
about vout_control_cmd_Init in video_output.c. It doesn't create commands
anymore.

2 months agovideo_output:control: remove unused vout_control_WaitEmpty declaration
Steve Lhomme [Fri, 18 Dec 2020 06:20:42 +0000 (07:20 +0100)]
video_output:control: remove unused vout_control_WaitEmpty declaration

2 months agosubtitle: fix AQT subtitle parsing
Steve Lhomme [Mon, 18 Jan 2021 14:36:53 +0000 (15:36 +0100)]
subtitle: fix AQT subtitle parsing

The numbers we read are frame numbers. There's a start and a stop frame number,
not just the start frame. The stop frame number was discarded so far as the
next start frame.
(based on http://web.archive.org/web/20070210095721/http://www.volny.cz/aberka/czech/aqt.html
and libavformat)

2 months agoUpdate Copyright Years to 2021
Jean-Baptiste Kempf [Mon, 18 Jan 2021 17:10:46 +0000 (18:10 +0100)]
Update Copyright Years to 2021

2 months agoForwardPorts NEWS from 3.0
Jean-Baptiste Kempf [Mon, 18 Jan 2021 16:36:43 +0000 (17:36 +0100)]
ForwardPorts NEWS from 3.0

2 months agotranscode: Fix typos in the video encoder config
Alaric Senat [Mon, 18 Jan 2021 13:37:56 +0000 (14:37 +0100)]
transcode: Fix typos in the video encoder config

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2 months agodemux: mkv: fix PCR not starting in some cases
Steve Lhomme [Mon, 18 Jan 2021 13:33:00 +0000 (14:33 +0100)]
demux: mkv: fix PCR not starting in some cases

By default the index contains cluster positions with an unknown timestamp. In
some cases this unknown timestamp may end up being the only one we know (yet)
for some tracks. It's not a valid timestamp and should not overwrite valid
"last DTS" we found on other tracks when finding the PCR.

In the end we always end up never sending the PCR which ends up not starting
playback, which ends up not feeding more DTS, which ends up never getting any
PCR.

2 months agocontrib: cddb: get rid of gettext dependency
Konstantin Pavlov [Thu, 14 Jan 2021 17:19:02 +0000 (20:19 +0300)]
contrib: cddb: get rid of gettext dependency

We build cddb --without-iconv so it's not needed anyway

Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
2 months agodecoder: fix abort on vout failure
Thomas Guillem [Thu, 14 Jan 2021 11:01:34 +0000 (12:01 +0100)]
decoder: fix abort on vout failure

Don't notify the format changed if the output creation failed.

Regression from 0abed25515a492896c89cf36ab1e4befc7dd23b6

Fixes #25387

2 months agopuzzle: group in subdirectory
Lyndon Brown [Sat, 27 Apr 2019 08:15:35 +0000 (09:15 +0100)]
puzzle: group in subdirectory

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
2 months agodirect3d11: use a ID3D11Fence to tell when the rendering is done
Steve Lhomme [Fri, 15 Jan 2021 13:29:54 +0000 (14:29 +0100)]
direct3d11: use a ID3D11Fence to tell when the rendering is done

This is a lot more accurate and wastes a lot less time than the Query approach.
The D3D11 Fence value is set when the GPU is done doing the previous
(rendering) commands. Then we can wait in the CPU for this event and return when
it's done. All decoder/filter commands seem to not have any impact so that's
really the signal we're looking for to tell the core we're done rendering.

This is only supported on newer mingw toolchains and only on Windows 10
Creators Update, which should cover pretty much all Win10 installed machines.

Better fixes #21600

2 months agodirect3d11: rework the rendering wait
Steve Lhomme [Fri, 15 Jan 2021 10:32:37 +0000 (11:32 +0100)]
direct3d11: rework the rendering wait

The core needs to know how long the rendering takes place to estimate when a
frame needs to be dropped preemptively or not.

So far we waited until the render (plus decoding and filtering?) is done before
we allowed the picture swap to happen. Now we only wait until (almost) the swap
date. If we still have to wait, we'll do it after the swap, hoping it will
still happen in time.

It is reversing the strict waiting (all?) commands issued to be processed,
including all decoder threads and filters on the ID3D11DeviceContext. We no
longer allow waiting past the display date and we do the swap when we're told.

We no longer release the ID3D11DeviceContext lock either as it allows more
commands in and makes the waiting time/performance worse.

We do wait until the initial wait condition is done, if anything to silence
some D3D11 warnings saying we wanted to wait for something but never got to the
point it was actually finished. It also keeps the waiting in the display thread
so it doesn't think it can do more things when it's still busy with the
previous call. This will allow it do drop frames more accurately.

A cleaner way would be to count the Display call in the time to render of the
core, but it's not possible as in some case we wait and the work is actually
finished and in some others we wait and the work is not finished. We can't tell
the difference in the core.

Fixes #21600

2 months agotranscode: use transcode_video_size_config_apply to get the encoder input format
Steve Lhomme [Thu, 14 Jan 2021 12:47:25 +0000 (13:47 +0100)]
transcode: use transcode_video_size_config_apply to get the encoder input format

Use it via transcode_encoder_video_set_src() which does a bit more.

As opposed to before we set the output dimensions as the ones from the input,
not the other way around.

2 months agotranscode: update the encoder input format after we know the last filter output
Steve Lhomme [Wed, 13 Jan 2021 13:45:23 +0000 (14:45 +0100)]
transcode: update the encoder input format after we know the last filter output

This is done before the actual encoder that will be used is created.

2 months agotranscode: use the transcoder config to setup the test input format
Steve Lhomme [Thu, 14 Jan 2021 12:46:14 +0000 (13:46 +0100)]
transcode: use the transcoder config to setup the test input format

Don't use previously set values on the output format which have no good
significance. The format requested by the user is the combination of source
format + user configuration.

Set better encoder fmt_out values that the user configuration (which may be 0).

2 months agotranscode: rework the encoding size computing
Steve Lhomme [Wed, 13 Jan 2021 15:06:59 +0000 (16:06 +0100)]
transcode: rework the encoding size computing

The transcode_video_size_config_apply() and transcode_video_scale_apply() calls
should give consistent results regardless of what width/height were previously
set on the output video_format_t.

The 16 pixels horizontal alignment was never done since the i_visible_width/height
was always set. Now we do it on the coded values, not the visible values. In the
end the encoder should tell which alignment it wants on the input.
The coded size is deduced from the actual visible sizes that will be used.
The visible width/height is still forced to the even values. Even though
it should be up to the encoder to tell if it can't support odd dimensions.

The width/height configured by the user are applied even if there's only one of
them (fixes Chromecast rescaling), and only if there's no user scaling.

2 months agotranscode: use the final converter to apply the scaling
Steve Lhomme [Wed, 13 Jan 2021 13:31:21 +0000 (14:31 +0100)]
transcode: use the final converter to apply the scaling

df0a715f3ffda6e7fb00b9ae6b70b438044db821 assumed the converter would do the
scaling, in addition to codec/chroma converters and orientation. But the code
to do it properly was missing.

We do not update the encoder source format anymore when the static/user filters
are added. The encoder should still encode at the size requested, regardless of
the extra filters. It may however use a different input codec/chroma if this
one wasn't forced.

The converter is always adapting between the decoder output (with the video
context in the picture) and the encoder input.

Fixes #25362

2 months agotranscode: don't reset the video encoder format to the one it was just init with
Steve Lhomme [Wed, 13 Jan 2021 13:32:08 +0000 (14:32 +0100)]
transcode: don't reset the video encoder format to the one it was just init with

transcode_encoder_update_format_in() sets the encoder->fmt_in but the encoder
was created a few lines above with encoder_tested_fmt_in.

2 months agoimage: remove always true test
Steve Lhomme [Wed, 13 Jan 2021 08:03:30 +0000 (09:03 +0100)]
image: remove always true test

At this stage the whole p_enc->fmt_out.video is initialized to 0 so the test
will always pass. Later the p_enc->fmt_out.video width/height is even set to
the input values.

2 months agomacosx: fix alignment of audio/video checkboxes
Dave Nicolson [Tue, 12 Jan 2021 18:13:54 +0000 (19:13 +0100)]
macosx: fix alignment of audio/video checkboxes

The video and audio checkboxes are now in alignment, to achieve this two vertical constraints were adjusted on the video codec view. This also fixes some layout issues that would appear in Xcode after making changes and as a result, a misplaced="YES" attribute has been removed.

Signed-off-by: Felix Paul Kühne <felix@feepk.net>
3 months agofilter_picture: fix false define continuation
Lyndon Brown [Sun, 27 Sep 2020 20:34:00 +0000 (22:34 +0200)]
filter_picture: fix false define continuation

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
3 months agodemux: avformat: handle AV_PKT_DATA_NEW_EXTRADATA
Zhao Zhili [Mon, 4 Jan 2021 13:11:00 +0000 (14:11 +0100)]
demux: avformat: handle AV_PKT_DATA_NEW_EXTRADATA

This is a best-effort solution. Seek may not work as expected.

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
3 months agodemux: avformat: initialize i_tracks to zero
Zhao Zhili [Mon, 4 Jan 2021 13:11:00 +0000 (14:11 +0100)]
demux: avformat: initialize i_tracks to zero

So we can use it in CloseDemux() in error path.

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
3 months agoqml: hide grid button for Music tracks list view
Prince Gupta [Wed, 6 Jan 2021 10:29:18 +0000 (15:59 +0530)]
qml: hide grid button for Music tracks list view

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: change background and foreground of AddressbarButton based on state
Prince Gupta [Mon, 28 Dec 2020 11:21:15 +0000 (16:51 +0530)]
qml: change background and foreground of AddressbarButton based on state

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: fix sorting in Network view
Prince Gupta [Thu, 24 Dec 2020 16:42:27 +0000 (22:12 +0530)]
qml: fix sorting in Network view

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: allow sorting in NetworkBrowseDisplay
Prince Gupta [Thu, 24 Dec 2020 16:42:01 +0000 (22:12 +0530)]
qml: allow sorting in NetworkBrowseDisplay

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqt: support sorting from SortFilterProxyModel
Prince Gupta [Thu, 24 Dec 2020 16:41:24 +0000 (22:11 +0530)]
qt: support sorting from SortFilterProxyModel

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: add sort model in VideoDisplay
Prince Gupta [Thu, 24 Dec 2020 15:06:51 +0000 (20:36 +0530)]
qml: add sort model in VideoDisplay

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: reset section property on sort criteria changed in VideoListDisplay
Prince Gupta [Thu, 24 Dec 2020 15:06:34 +0000 (20:36 +0530)]
qml: reset section property on sort criteria changed in VideoListDisplay

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqt: correctly convert role to sort criteria in mlvideomodel
Prince Gupta [Thu, 24 Dec 2020 15:05:14 +0000 (20:35 +0530)]
qt: correctly convert role to sort criteria in mlvideomodel

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: hide list grid button when appropriate in Network view
Prince Gupta [Wed, 23 Dec 2020 19:11:38 +0000 (00:41 +0530)]
qml: hide list grid button when appropriate in Network view

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: hide list grid button when appropriate in Discover view
Prince Gupta [Wed, 23 Dec 2020 19:07:04 +0000 (00:37 +0530)]
qml: hide list grid button when appropriate in Discover view

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: allow to hide list grid button in top banner
Prince Gupta [Wed, 23 Dec 2020 19:06:35 +0000 (00:36 +0530)]
qml: allow to hide list grid button in top banner

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: fix foreground color of playlist button in top banner
Prince Gupta [Wed, 23 Dec 2020 17:59:10 +0000 (23:29 +0530)]
qml: fix foreground color of playlist button in top banner

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: change foreground based on background in IconToolButton
Prince Gupta [Wed, 23 Dec 2020 17:56:08 +0000 (23:26 +0530)]
qml: change foreground based on background in IconToolButton

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: fix hover foreground color in Focusbackground
Prince Gupta [Wed, 23 Dec 2020 17:50:57 +0000 (23:20 +0530)]
qml: fix hover foreground color in Focusbackground

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: make default foreground color configurable in FocusBackground
Prince Gupta [Wed, 23 Dec 2020 17:50:20 +0000 (23:20 +0530)]
qml: make default foreground color configurable in FocusBackground

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: change color of Widgets.IconLabel
Prince Gupta [Wed, 23 Dec 2020 16:55:15 +0000 (22:25 +0530)]
qml: change color of Widgets.IconLabel

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: introduce constant for Icon color in VLCColors
Prince Gupta [Wed, 23 Dec 2020 16:53:49 +0000 (22:23 +0530)]
qml: introduce constant for Icon color in VLCColors

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: update icons used in top banner
Prince Gupta [Wed, 23 Dec 2020 14:16:57 +0000 (19:46 +0530)]
qml: update icons used in top banner

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: vertically center side buttons in local toolbar
Prince Gupta [Wed, 23 Dec 2020 14:13:19 +0000 (19:43 +0530)]
qml: vertically center side buttons in local toolbar

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: explicitly assign size of buttons in local toolbar from VLCStyle
Prince Gupta [Wed, 23 Dec 2020 14:14:31 +0000 (19:44 +0530)]
qml: explicitly assign size of buttons in local toolbar from VLCStyle

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: allow changing button width in SeachBox
Prince Gupta [Wed, 23 Dec 2020 14:16:14 +0000 (19:46 +0530)]
qml: allow changing button width in SeachBox

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: introduce sizes for buttons in local toolbar in VLCStyle
Prince Gupta [Wed, 23 Dec 2020 14:15:11 +0000 (19:45 +0530)]
qml: introduce sizes for buttons in local toolbar in VLCStyle

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: add side margins to local tool bar
Prince Gupta [Wed, 23 Dec 2020 13:59:54 +0000 (19:29 +0530)]
qml: add side margins to local tool bar

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: change banner icon size
Prince Gupta [Wed, 23 Dec 2020 13:55:28 +0000 (19:25 +0530)]
qml: change banner icon size

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: change height of local tool bar
Prince Gupta [Wed, 23 Dec 2020 13:54:34 +0000 (19:24 +0530)]
qml: change height of local tool bar

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: correctly set properties of sort control when contentmodel is not available
Prince Gupta [Tue, 22 Dec 2020 13:17:26 +0000 (18:47 +0530)]
qml: correctly set properties of sort control when contentmodel is not available

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: provide placeholder text for artist name
Prince Gupta [Tue, 22 Dec 2020 12:47:43 +0000 (18:17 +0530)]
qml: provide placeholder text for artist name

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: provide placeholder text for genre name
Prince Gupta [Tue, 22 Dec 2020 12:46:00 +0000 (18:16 +0530)]
qml: provide placeholder text for genre name

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: remove invalid connections from MusicGenres
Prince Gupta [Tue, 22 Dec 2020 12:40:43 +0000 (18:10 +0530)]
qml: remove invalid connections from MusicGenres

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: fix warnings in source loading of TableColumns.titleDelegate
Prince Gupta [Tue, 22 Dec 2020 12:36:19 +0000 (18:06 +0530)]
qml: fix warnings in source loading of TableColumns.titleDelegate

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: change tab display text for network tab
Prince Gupta [Mon, 21 Dec 2020 18:57:30 +0000 (00:27 +0530)]
qml: change tab display text for network tab

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: decrease font size of BannerTabButton
Prince Gupta [Mon, 21 Dec 2020 18:26:03 +0000 (23:56 +0530)]
qml: decrease font size of BannerTabButton

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: increase global tool bar height
Prince Gupta [Mon, 21 Dec 2020 18:23:53 +0000 (23:53 +0530)]
qml: increase global tool bar height

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: add current indicator in BannerTabButton
Prince Gupta [Mon, 21 Dec 2020 18:15:08 +0000 (23:45 +0530)]
qml: add current indicator in BannerTabButton

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: remove colorSelected property from BannerTabButton
Prince Gupta [Mon, 21 Dec 2020 17:55:25 +0000 (23:25 +0530)]
qml: remove colorSelected property from BannerTabButton

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: change foreground color according to background in BannerTabButton
Prince Gupta [Mon, 21 Dec 2020 17:51:01 +0000 (23:21 +0530)]
qml: change foreground color according to background in BannerTabButton

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: rearrange header of Music Artist list
Prince Gupta [Mon, 21 Dec 2020 15:04:59 +0000 (20:34 +0530)]
qml: rearrange header of Music Artist list

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: don't use Widgets.ListItem as delegate for Music Artist list
Prince Gupta [Mon, 21 Dec 2020 14:56:30 +0000 (20:26 +0530)]
qml: don't use Widgets.ListItem as delegate for Music Artist list

ListItem does more than required and follows old designs

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agoqml: add CurrentIndicator widget
Prince Gupta [Mon, 21 Dec 2020 14:54:51 +0000 (20:24 +0530)]
qml: add CurrentIndicator widget

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
3 months agodvbsub: don't remove a variable we never created
Steve Lhomme [Tue, 12 Jan 2021 09:24:31 +0000 (10:24 +0100)]
dvbsub: don't remove a variable we never created

3 months agorav1e: use a higher priority than AOM
Steve Lhomme [Mon, 11 Jan 2021 13:15:33 +0000 (14:15 +0100)]
rav1e: use a higher priority than AOM

3 months agoedummy: remove empty close callback
Steve Lhomme [Tue, 12 Jan 2021 09:49:11 +0000 (10:49 +0100)]
edummy: remove empty close callback

3 months agowebvtt: remove empty close callback
Steve Lhomme [Tue, 12 Jan 2021 09:23:32 +0000 (10:23 +0100)]
webvtt: remove empty close callback

3 months agot140: remove empty close callback
Steve Lhomme [Tue, 12 Jan 2021 09:22:29 +0000 (10:22 +0100)]
t140: remove empty close callback

3 months agox264: the frame rate of the output block is one of the output format
Steve Lhomme [Tue, 12 Jan 2021 09:07:34 +0000 (10:07 +0100)]
x264: the frame rate of the output block is one of the output format

3 months agox264: fallback to I420 only when there's no profile set
Steve Lhomme [Tue, 12 Jan 2021 09:07:02 +0000 (10:07 +0100)]
x264: fallback to I420 only when there's no profile set

No need to set a value and then resetting it to something else. This way the
i_codec and i_colorspace value is set the consistently in all cases.

3 months agox264: don't force the output ES format
Steve Lhomme [Tue, 12 Jan 2021 09:05:37 +0000 (10:05 +0100)]
x264: don't force the output ES format

If it's not set when calling Open there is a big problem.