Romain Vimont [Tue, 20 Apr 2021 15:26:28 +0000 (17:26 +0200)]
qt: playlist: use item title if available
Use the meta title if it is available, use the item name otherwise.
Fixes #25648
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Jean-Baptiste Kempf [Wed, 21 Apr 2021 15:22:47 +0000 (17:22 +0200)]
Contribs: update libarchive to 3.5.1
Jean-Baptiste Kempf [Tue, 20 Apr 2021 15:50:56 +0000 (17:50 +0200)]
Contribs: update dvdnav to 6.1.1
Jean-Baptiste Kempf [Tue, 20 Apr 2021 15:41:22 +0000 (17:41 +0200)]
Contribs: update libdvcss to 1.4.3
Benjamin Arnaud [Thu, 18 Mar 2021 09:01:45 +0000 (10:01 +0100)]
qml: Create VideoGroupsDisplay
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Thu, 25 Mar 2021 13:59:47 +0000 (14:59 +0100)]
qml: Create MediaGroupDisplay
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Thu, 18 Mar 2021 09:01:33 +0000 (10:01 +0100)]
qml: Create MediaGroupList
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Thu, 25 Mar 2021 14:00:38 +0000 (15:00 +0100)]
qml/VideoAll: Add support for different models
qml/VideoGridItem: Remove the static 'onItemDoubleClicked' behavior
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Fri, 26 Mar 2021 10:44:15 +0000 (11:44 +0100)]
qml/VideoListDisplay: Add configuration for the 'mainCriteria'
This makes the item more versatile. Also a little bit of cleanup.
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Thu, 18 Mar 2021 09:01:01 +0000 (10:01 +0100)]
qt/mainui: Add QML group support
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Fri, 26 Mar 2021 15:18:55 +0000 (16:18 +0100)]
qt/qml_menu_wrapper: Add group support
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Tue, 30 Mar 2021 08:48:03 +0000 (10:48 +0200)]
qt/mlbasemodel: Add 'getData' function for QModelIndex
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Thu, 18 Mar 2021 09:01:19 +0000 (10:01 +0100)]
qt: Create MLGroupListModel
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Tue, 23 Mar 2021 08:30:02 +0000 (09:30 +0100)]
qt: Create MLGroup
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Tue, 13 Apr 2021 14:47:33 +0000 (16:47 +0200)]
qt/mlvideomodel: Add support for parented media(s) in the MLVideoModel::Loader
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Benjamin Arnaud [Thu, 18 Mar 2021 17:40:01 +0000 (18:40 +0100)]
medialibrary: Add comprehensive group support
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
Alexandre Janniaux [Sun, 4 Apr 2021 13:39:25 +0000 (15:39 +0200)]
skins2: window_manager: remove trailing lines
Alexandre Janniaux [Sun, 4 Apr 2021 14:34:22 +0000 (16:34 +0200)]
skins2: window_manager: use std::unique_ptr
Alexandre Janniaux [Sun, 4 Apr 2021 13:39:01 +0000 (15:39 +0200)]
skins2: window_manager: use C++ for: loops
Romain Vimont [Mon, 12 Apr 2021 15:58:57 +0000 (17:58 +0200)]
video_filter: opengl: fix error handling
There were 2 problems:
- if sys->filters could not be created, then vlc_gl_filters_Delete()
was called, causing a segfault;
- if the requested filters could not be loaded, then
vlc_gl_filters_Delete() was not called, leaking sys->filters.
Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
Romain Vimont [Mon, 12 Apr 2021 15:58:56 +0000 (17:58 +0200)]
opengl: do not overwrite output size
The opengl filter output size is provided by the caller.
Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
Romain Vimont [Mon, 12 Apr 2021 15:58:55 +0000 (17:58 +0200)]
opengl: determine shader version dynamically
In the future, we would like OpenGL and OpenGL ES2 versions of a filter
to be available without compiling it twice.
Co-authored-by: Alexandre Janniaux <ajanni@videolabs.io>
Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
Romain Vimont [Mon, 12 Apr 2021 17:04:14 +0000 (19:04 +0200)]
opengl: fix missing flag initialization
The flag filter_planes was not explicitly initialized, and non-plane
filters assume that it is set to false by default.
It still worked because the filter happens to be initialized by calloc()
in the end, but we shouldn't rely on this detail (and the other fields
are also explicitly initialized).
Signed-off-by: Alexandre Janniaux <ajanni@videolabs.io>
Alexandre Janniaux [Fri, 16 Apr 2021 18:26:40 +0000 (20:26 +0200)]
kms: fix use-after-free on device string
Alexandre Janniaux [Fri, 16 Apr 2021 08:34:35 +0000 (10:34 +0200)]
configure.ac: simplify bitstream package check
Alexandre Janniaux [Fri, 16 Apr 2021 08:28:06 +0000 (10:28 +0200)]
configure.ac: simplify GBM package check
Alexandre Janniaux [Thu, 18 Feb 2021 14:01:12 +0000 (15:01 +0100)]
VLCOpenGLES2VideoView: use dedicated CFRunLoop mode
The vlc_runloop mode is designed to be executed even when an event is
being reported by the vout_window used, ie when there is a call to
CFRunLoopInMode(CFRunLoopGetMain(), CFSTR("vlc_runloop"), ..).
By adding the default mode too, it ensures it would run in the normal
CFRunLoop too.
Async tasks can still be dispatched without the "vlc_runloop" mode but
every sync task in the display must be done under this mode to prevent
deadlock from happening between the main thread and the vout_thread.
Fixes #23571
Alexandre Janniaux [Thu, 18 Feb 2021 14:01:12 +0000 (15:01 +0100)]
VLCOpenGLES2VideoView: enforce initial frame size
The UIView should have a well-defined size from the start.
Alexandre Janniaux [Sat, 20 Feb 2021 09:23:59 +0000 (10:23 +0100)]
VLCVideoUIView: signal initial size during the opening
It avoids the display to open with a size bigger than the device's
screen, which could lead to out-of-memory failures.
Alexandre Janniaux [Thu, 18 Feb 2021 15:23:54 +0000 (16:23 +0100)]
VLCVideoUIView: report event in another thread
Report events from a different thread than the main thread, and continue
to execute the main CFRunLoop, but filter the events to only execute
the ones queued by potential display, ie. those tagged with the mode
"vlc_runloop".
The vlc_runloop mode is designed to be executed even when an event is
being reported by the vout_window used, ie. when there is a call to
CFRunLoopInMode(CFRunLoopGetMain(), CFSTR("vlc_runloop"), ..).
Clients should ensure they also tag their blocks with the default mode
too. Otherwise, they are likely to never be executed.
Async tasks can still be dispatched without the "vlc_runloop" mode but
every sync tasks in the display must be done under this mode to prevent
deadlock from happening between the main thread and the vout_thread,
typically with the following code:
/* The main loop to run the block into */
CFRunLoopRef runloop = CFRunLoopGetMain();
/* The modes to execute the block in */
CFStringRef modes_cfstrings[] = { kCFRunLoopDefaultMode, CFSTR("vlc_runloop") };
CFArrayRef modes = CFArrayCreate(NULL, (const void **)modes_cfstrings,
ARRAY_SIZE(modes_cfstrings), &kCFTypeArrayCallBacks);
CFRunLoopPerformBlock(runloop, modes, ^{
/* The block content to execute */
});
/* Don't forget to signal the runloop
CFRunLoopWakeUp(runloop);
CFRelease(modes);
To achieve a blocking/sync behaviour, clients can share a binary
semaphore between the block and the outside of the block. When using a
vlc_sem_t object, it must be qualified with __block to be modified
inside of the block.
Refs #23571
Francois Cartegnie [Thu, 18 Mar 2021 16:34:21 +0000 (17:34 +0100)]
demux: adaptive: change commands factory ownership
Francois Cartegnie [Thu, 15 Apr 2021 15:54:01 +0000 (17:54 +0200)]
demux: adaptive: fix possible bogus huge buffer level
Francois Cartegnie [Fri, 16 Apr 2021 14:47:37 +0000 (16:47 +0200)]
demux: adaptive: remove left indirect returns since lock removal
Jean-Baptiste Kempf [Sun, 18 Apr 2021 10:46:08 +0000 (12:46 +0200)]
Contribs: update dvdread to 6.1.2
Ref #18487
Jean-Baptiste Kempf [Sat, 10 Apr 2021 15:43:27 +0000 (17:43 +0200)]
NEWS: update from 3.0.x branch
Brad Smith [Sat, 3 Apr 2021 20:47:52 +0000 (16:47 -0400)]
thread: Have vlc_GetCPUCount make use of _SC_NPROCESSORS_ONLN
OpenBSD and other OS's use _SC_NPROCESSORS_ONLN to indicate the number
of online CPUs.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
Alexandre Janniaux [Wed, 14 Apr 2021 08:05:29 +0000 (10:05 +0200)]
avcodec: encoder: fix comment location
Alexandre Janniaux [Sat, 20 Feb 2021 15:59:34 +0000 (16:59 +0100)]
test: Makefile.am: compile vlccoreios for 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.
Thomas Guillem [Thu, 11 Feb 2021 16:27:59 +0000 (17:27 +0100)]
input: rename vlc_input_event_times variables
Thomas Guillem [Wed, 7 Apr 2021 12:49:06 +0000 (14:49 +0200)]
cdda: fix format-truncation warning
Thomas Guillem [Mon, 12 Apr 2021 08:38:04 +0000 (10:38 +0200)]
core: add --clock-master long description
Pierre Ynard [Tue, 13 Apr 2021 01:01:33 +0000 (03:01 +0200)]
rist: add missing translations
Pierre Ynard [Tue, 13 Apr 2021 01:00:54 +0000 (03:00 +0200)]
po: add missing dav1d.c
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Thomas Guillem [Thu, 1 Apr 2021 13:53:08 +0000 (15:53 +0200)]
core: use "auto" as the default clock-master 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).
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.
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.
Thomas Guillem [Wed, 31 Mar 2021 13:52:18 +0000 (15:52 +0200)]
es_out: change clocks allocation order
No functional changes.
Thomas Guillem [Wed, 31 Mar 2021 12:38:49 +0000 (14:38 +0200)]
input_clock: add the ability to drive the main_clock
Thomas Guillem [Wed, 31 Mar 2021 13:33:33 +0000 (15:33 +0200)]
es_out: refactor clock_source cat selection
No functional changes.
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).
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>
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
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>
Francois Cartegnie [Thu, 18 Mar 2021 20:03:29 +0000 (21:03 +0100)]
demux: adaptive: delegate chunk source creation to manager
Francois Cartegnie [Thu, 18 Mar 2021 12:48:11 +0000 (13:48 +0100)]
demux: adaptive: always create chunk with range
Francois Cartegnie [Thu, 18 Mar 2021 10:26:53 +0000 (11:26 +0100)]
demux: adaptive: add getter for chunk type
Francois Cartegnie [Sun, 10 Jan 2021 16:05:02 +0000 (17:05 +0100)]
demux: adaptive: add inheritable wrapper deleter