Commit Graph

56553 Commits

Author SHA1 Message Date
Pierre Lamot 5143536264 qt: fix model not refreshed when filter or parent is changed
invalidating the cache doesn't update the filter/sort order of the loader.
Changing the parent or the sort order completely change the model, so a reset is
preferable in the general case.
2022-04-03 15:38:18 +00:00
Zhao Zhili 2c1f181ea3 demux: h26x: relax requirement on AUD
According to the spec, when an AUD is present, it shall be the
first NAL unit. However, many samples don't follow this rule.
2022-04-03 14:43:34 +00:00
Francois Cartegnie 95f144cec2 demux: adaptive: fix relative merge last segment duplication 2022-04-03 13:56:55 +00:00
Prince Gupta f34f5a77a9 qml: fix network addressbar home button
Widgets.PageLoader/StackViewExt: load default page if viewProperties is empty

fixup 9457692d9a
2022-04-03 13:33:11 +00:00
Alaric Senat d9d32eeb61 upnp: prioritize `UpnpInit2()` over `UpnpInit()`
`UpnpInit` is deprecated since 1.8 and removed in 1.14. `UpnpInit2`
offer a better replacement, working for both ipv6 and ipv4. There is no
reason to keep using `UpnpInit` apart from keeping the module usable
with 1.6.
2022-04-03 11:57:52 +00:00
Alaric Senat aaef25ce7a upnp-wrapper: remove pointless `#if` guards
These functions are inline and will be removed by the compiler anyway if
unused. The #if guards add unecessary compexity.
2022-04-03 11:57:52 +00:00
Fatih Uzunoglu 63033c7cb7 qt: use singleton in OpenDialog 2022-04-02 09:35:29 +00:00
Fatih Uzunoglu 960a101ec8 qt: use Singleton in ExtensionsManager 2022-04-02 09:35:29 +00:00
Fatih Uzunoglu 824a3f8173 qt: use Singleton in ExtensionsDialogProvider 2022-04-02 09:35:29 +00:00
Fatih Uzunoglu 5b97f4cc32 qt: use Singleton in DialogsProvider 2022-04-02 09:35:29 +00:00
Fatih Uzunoglu 260eb14255 qt: use variadic template in Singleton to allow generic types 2022-04-02 09:35:29 +00:00
Prince Gupta 6c90087263 qml: fix mouse selection not working in title column of table view
don't capture mouse clicks in hoverhandler of title col delegate

fixup 10e096a3a5
2022-04-02 09:13:11 +00:00
Prince Gupta edecde7b0e qml: fix mouse selection not working in default column in table view
don't capture mouse clicks in hoverhandler of default col delegate

fixup e2440608e0
2022-04-02 09:13:11 +00:00
Fatih Uzunoglu 4333661cdf qt: remove unnecessary member in RoundImage 2022-04-01 12:24:27 +00:00
Fatih Uzunoglu 88c518596b qt: remove getPath() from RoundImage 2022-04-01 12:24:27 +00:00
Fatih Uzunoglu 38c2a7ecbf qt: avoid explicit QPainter calls in RoundImage 2022-04-01 12:24:27 +00:00
Fatih Uzunoglu 9cbeacfcf7 qt: handle case when radius is 0 in RoundImage 2022-04-01 12:24:27 +00:00
Fatih Uzunoglu f2df0011a4 qt: prefer Format_ARGB32_Premultiplied to Format_ARGB32 in RoundImage 2022-04-01 12:24:27 +00:00
Benjamin Arnaud 7ab09b01b3 qml/ControlbarControls: Add BOOKMARK_BUTTON 2022-04-01 09:52:14 +00:00
Benjamin Arnaud 6074a42931 qml/controlbarcontrols: Create BookmarkButton 2022-04-01 09:52:14 +00:00
Benjamin Arnaud cc16cb9b1e qt/BookmarkMenu: Update to ListMenuHelper implementation 2022-04-01 09:52:14 +00:00
Benjamin Arnaud c58c340df5 qt/qml_menu_wrapper: Create QmlBookmarkMenu 2022-04-01 09:52:14 +00:00
Benjamin Arnaud b4ad095f39 qt/player_controller: Add the 'getPlayer' function 2022-04-01 09:52:14 +00:00
Benjamin Arnaud cd3dfa4e69 qt/custom_menus: Create ListMenuHelper
Co-authored-by: Pierre Lamot <pierre@videolabs.io>
2022-04-01 09:52:14 +00:00
Benjamin Arnaud 1f61542b5f qt/pixmaps/toolbar: Add bookmark icon 2022-04-01 09:52:14 +00:00
Steve Lhomme bd124a4147 modules: remove unneeded vlc_fixups.h include
It's already included by config.h
2022-03-31 13:36:40 +00:00
Romain Vimont 25d66728eb opengl: simplify swizzle
The commit ca7d2ea4b6 introduced an xyzw
swizzle, whereas the previous code was using an rgba swizzle. No other
location used the xyzw swizzle for texture so unify and use rgba
everywhere.

Different version from aa5bec3b49
2022-03-31 13:21:02 +00:00
Alexandre Janniaux 802f36cf10 Revert "opengl: fix swizzle"
GL_LUMINANCE_ALPHA textures should be sampled through r and a swizzle
since it has a `(L,L,L,A)` layout.

This reverts commit 05f292874d.

Fixes #26767
Reintroduce #26735
2022-03-31 13:21:02 +00:00
Alexandre Janniaux 9251bc3480 Revert "opengl: simplify swizzle"
The swizzle of the texture should be different between
GL_LUMINANCE_ALPHA textures and GL_RG textures.

This reverts commit aa5bec3b49.

Refs #26767
2022-03-31 13:21:02 +00:00
Pierre Lamot 7e47fa5242 qt: add missing virtual destructor 2022-03-31 08:05:41 +00:00
Felix Paul Kühne 643fee9b6a upnp: implement IPv4 host IP lookup for AppleOS
This adds an additional info line to match the IPv6 implementation.
2022-03-30 18:28:33 +00:00
Prince Gupta 2c27f5e09e qml: use rounded values for position in NetworkThumbnailItem 2022-03-30 17:53:41 +00:00
Prince Gupta af41ad1819 qml: fix warnings in NetworkCustomCover 2022-03-30 17:53:41 +00:00
Prince Gupta c984a5946f qml: fix warnings in NetworkThumbnailItem 2022-03-30 17:53:41 +00:00
Prince Gupta ff3174d926 qml: fix play cover position in network views
fixup 4e2f82386a
2022-03-30 17:53:41 +00:00
Lyndon Brown 11c4e593ce musicbrainz: fix wrong url
inconsistent with that used in `coverartarchive_make_releasegroup_arturl()`.

i believe that with-dash is likely the correct form, since firstly, that
function is actually used unlike this one, and this function was also
fundamentally broken before the previous commit. also secondly, the info
at [1] seems to indicate that with-dash is correct.

[1]: https://github.com/Borewit/musicbrainz-api
2022-03-30 09:38:26 +00:00
Lyndon Brown 4d81c81c7e musicbrainz: fix inverted logic
and fix leak with the corrected logic.
2022-03-30 09:38:26 +00:00
Pierre Lamot 3f314c04fa qml: make the record button red and animate it
It is a common design language to have the record button red.

The animation provides a visual feedback when the user is currently recording.
2022-03-29 17:38:38 +00:00
Pierre Lamot d4b33b6a7a qt: update record icon 2022-03-29 17:38:38 +00:00
Pierre Lamot 460cd3d442 qml: instantiate video models on demand
having the three models always present, means that the data (at least the first
chuck) is loaded 3 times, and will be reloaded 3 times every time a database
event triggers a refresh of the model.
2022-03-29 08:11:20 +00:00
Pierre Lamot 4e67a7c03c qt: allow to detect moves in MLList cache
This remains is disabled by default, The extra cost isn't really worth it as
move operations originated from the database are very rare, move operations from
the user are usually handled "a priori".
2022-03-27 13:01:07 +00:00
Pierre Lamot 35de0a01f5 qt: update local cache "a priori" on user interaction in playlist model 2022-03-27 13:01:07 +00:00
Pierre Lamot 5e7e9cac35 qt: allow to move or remove range of items from the cache
this would allow to move or update elements in "a priori" before getting the
notification from the database
2022-03-27 13:01:07 +00:00
Pierre Lamot ed433cc7c1 qt: don't reset the model in sort setters when sorting doesn't changes 2022-03-27 13:01:07 +00:00
Pierre Lamot 64523537d8 qt: don't reset model on size change 2022-03-27 13:01:07 +00:00
Pierre Lamot 6bf9a88bac qt: use diff util algorithm to perform partial update of the model
this allows to submit to the view only the changes made on the model when the
database changes instead of invalidating and resetting the whole view.

data cache is changed from a windowed view over the data, to a model where data
is loaded from the start and loaded by chunk (append to the cache), when data is
invalidated the data is reloaded in background and the difference (insertions
and deletions) are propagated to the view.
2022-03-27 13:01:07 +00:00
Pierre Lamot d6ae28da1a qt: move begin/endResetModel calls inside MLBaseModel::clear 2022-03-27 13:01:07 +00:00
Pierre Lamot 9860b13b1b qt: partially update model when possible on media deletion/update 2022-03-27 13:01:07 +00:00
Pierre Lamot 65ed60190a qt: allow items to be updated or removed manually from cache 2022-03-27 13:01:07 +00:00
Pierre Lamot 3f4f441e46 qt: allow MLModels to load a given item from the medialibrary by id 2022-03-27 13:01:07 +00:00
Pierre Lamot f4bb9b1af0 qt: pass media type in medialib event 2022-03-27 13:01:07 +00:00
Pierre Lamot ff3329ffbc qt: make createLoader returns a unique_ptr<BaseModel> 2022-03-27 13:01:07 +00:00
Prince Gupta 10e096a3a5 qml: allow scrolling text on elision in title col delegate of table view 2022-03-26 11:14:23 +00:00
Prince Gupta e2440608e0 qml: allow scrolling text on elision in default col delegate of table view 2022-03-26 11:14:23 +00:00
Marvin Scholz f485b52be2 access: dvb: remove check for gone usdigital access 2022-03-26 09:54:37 +00:00
Marvin Scholz 10aae615ab demux: ts: remove check for gone usdigital access 2022-03-26 09:54:37 +00:00
Prince Gupta 9089021db1 qml: fix initial local menu position of BannerSource
intially position localMenuView for `_alignHCenter == false`,
`on_AlignHCenterChanged` signal handler is not called on Component
completion if initially `_alignHCenter == false`
2022-03-26 09:28:52 +00:00
Fatih Uzunoglu 1f22b3f3ae qml: use Item as root type 2022-03-26 08:49:35 +00:00
Fatih Uzunoglu 8cccbacd23 qml: further limit miniplayer background effect source 2022-03-26 08:49:35 +00:00
Benjamin Arnaud ee68529514 qt/pixmaps: Add a viewBox to the 'slower' svg
As mentioned in makeIconFont.py: 'SVG should have a viewbox equal to the size of the SVG'.

If we don't do this we generate a blank icon.
2022-03-26 08:28:44 +00:00
Francois Cartegnie ab2c960d47 demux: adaptive: we don't need to check availabilityStartTime
mandatory for templates and breaks with epoch 0
refs
https://livesim.dashif.org/livesim/sts_1647955042/sid_f95b592d/testpic_2s/Manifest.mpd
2022-03-25 14:43:42 +00:00
Mehdi Sabwat 5fde254a2c webvtt: rename css parser
ylwrap expects the generated scanner file to be lex.yy.c. The prefix feature in yacc and lex will make sure yy will be replaced by prefix (css in this case).

Functions used outside the generated code will have to be correctly named (exccept YYSTYPE).
2022-03-25 10:48:27 +00:00
Mehdi Sabwat e958bf5e99 demux: rename json parser
ylwrap expects the generated scanner file to be lex.yy.c. The prefix feature in yacc and lex will make sure yy will be replaced by prefix (json in this case).

Functions used outside the generated code will have to be correctly named (exccept YYSTYPE).
2022-03-25 10:48:27 +00:00
Rémi Denis-Courmont eca00803d0 drm: fix potential out of bound read
If the specified chroma had only 1 or 2 characters, this would overflow.
2022-03-24 09:31:37 +00:00
Rémi Denis-Courmont dc8f95ec89 drm: initialise sys explicitly 2022-03-24 09:31:37 +00:00
Rémi Denis-Courmont 743fa40aca drm: remove unnecessary private data fields 2022-03-24 09:31:37 +00:00
Rémi Denis-Courmont 570bed45a8 drm: remove no longer format negotiation code
This removes the notoriously nonreentrant global format table.
This also incidentally removes the dependency on `-ldrm`.
2022-03-24 09:31:37 +00:00
Rémi Denis-Courmont e3e92d8cca drm: select pixel format as other displays do
Use the helpers from the previous changesets and the follow the common
chroma fallback lists.

This should fix mismatched colour (masks) with RGB formats. This also
enables the use of a bunch of formats not included in the static table
from display.c.
2022-03-24 09:31:37 +00:00
Rémi Denis-Courmont e8b508626b drm/fourcc: add helper to convert DRM to VLC format
This extra function is needed to deal with the RGB masks.
2022-03-24 09:31:37 +00:00
Rémi Denis-Courmont 2f34395f06 drm/fourcc: fix copy-paste errors 2022-03-24 09:31:37 +00:00
Rémi Denis-Courmont 854bbb4a80 drm: add helper to negotiate a pixel format 2022-03-24 09:31:37 +00:00
Rémi Denis-Courmont 78af9d20ec drm: return number of formats
After selecting a plane, we presumably will need to query its formats.
Since we already know how many there are.
2022-03-24 09:31:37 +00:00
Marvin Scholz f1a9cf187b chroma: i420: fix condition for warning message 2022-03-24 07:55:49 +00:00
Steve Lhomme 9c6922e935 egl_surfacetexture: add missing vlc_picture_pool.h include 2022-03-23 19:42:26 +00:00
Steve Lhomme 50404ced25 mmal: remove unused picture pool code
pic_pool is always NULL
2022-03-23 19:42:26 +00:00
Steve Lhomme 7582609a7c nvdec: remove unused includes 2022-03-23 19:42:26 +00:00
Rémi Denis-Courmont ee3f780e52 drm: always use the primary plane
The code used the first plane that matched the wanted pixel format.
This has mostly been working as the primary plane is normally the first
plane, but it incorrectly assumed that other plane types would not
expose further pixel formats, or that VLC would not prefer any of them.
2022-03-23 16:57:10 +00:00
Rémi Denis-Courmont 3aa9536985 drm: helper to get the primary plane 2022-03-23 16:57:10 +00:00
Rémi Denis-Courmont 82056aa6da drm: use the CRTC index helper 2022-03-23 16:57:10 +00:00
Rémi Denis-Courmont 86a84951b9 drm: add helper to find the CRTC index
(for matching planes to the CRTC)
2022-03-23 16:57:10 +00:00
Alexandre Janniaux ee23251ddf avparser: remove trailing line 2022-03-23 15:51:22 +00:00
Alexandre Janniaux 72992236ed avparser: fix missing const 2022-03-23 15:51:22 +00:00
Romain Vimont aa5bec3b49 opengl: simplify swizzle
The commit ca7d2ea4b6 introduced an xyzw
swizzle, whereas the previous code was using an rgba swizzle. No other
location used the xyzw swizzle for texture so unify and use rgba
everywhere.

Refs #26735
2022-03-23 14:21:07 +00:00
Romain Vimont 05f292874d opengl: fix swizzle
The four components are, in order: x, y, z, w.

The U and V values are the first and second components in the second
texture.

Fixes #26735
2022-03-23 14:21:07 +00:00
Thomas Guillem ac95bf19f9 smb2: always use smb2 timeout
If the smb2_timeout was valid, then not valid (infinite), the last value
was not taken into account.
2022-03-22 15:16:00 +00:00
Thomas Guillem cf7d48cd02 smb2: remove teardown handling
If interrupted by the user, just close the connection whitout sending a
close request and don't save the context in the cache in that case.
2022-03-22 15:16:00 +00:00
Thomas Guillem 924c951518 smb2: destroy the context in case of error
This fixes a potential stack-buffer-overflow when destroying a context
from Close() if an operation was aborted. Indeed, the smb2_destroy()
function might trigger callbacks with private data that was allocated on
an old function stack. To fix this issue, always destroy the smb2
context immediately after an error (when the struct vlc_smb2_op is
valid).

This issue is currently hidden by the teardown mechanism (but still
possible), that always try to close gracefully in case of error.
2022-03-22 15:16:00 +00:00
Thomas Guillem c23709134c smb2: rework error handling
- Always call VLC_SMB2_SET_ERROR() in case of error,
 - Don't loose the returned error code
 - Fallback to -EINVAL in case of unknown error (very unlikely case)
2022-03-22 15:16:00 +00:00
Thomas Guillem 29b85334bf smb2: don't use sys->error_status while opening
But return it directly from function and sub functions.
2022-03-22 15:16:00 +00:00
Thomas Guillem dc4b8c6bc9 access: cache: don't call free_cb from entry_Delete
No functional changes, vlc_access_cache_entry_Delete() is not (yet)
called from the outside.
2022-03-22 15:16:00 +00:00
Alexandre Janniaux ff0e681fed adaptive: test: use unique_ptr for Segment
This ensure that memory leaks are not coming from the test, but from the
tested code instead.

Refs #26728
2022-03-22 09:46:57 +01:00
Alexandre Janniaux f3b27b087b adaptive: test: inline try{} and reindent
Now that catch{} is mostly doing nothing, and doesn't require the
segmentList pointers to be visible, we can align the whole function as a
try-catch function block, removing a useless indentation.

No functional changes.
2022-03-22 09:46:57 +01:00
Alexandre Janniaux 5c8ad2c37b adaptive: test: use std::unique_ptr
std::unique_ptr use RAII to release the pointers, removing the
requirement of `delete` in the catch{} block. They also help ensuring
error caught are from the tested code and not the test itself.
2022-03-22 09:46:57 +01:00
Rémi Denis-Courmont 96621930fc drm: don't spam logs
Do not print the list of plane formats every time. Also don't crash if
a new type of plane is exposed by the kernel.

One can get the list of plane formats and more with the modetest or
drm_info tools. VLC video outputs do not normally list all supported
options of the hardware (imagine if GL would list all extensions...).
2022-03-22 06:13:02 +00:00
Romain Vimont 70509c8a22 opengl: render YUY2 at full definition
Some YUV 4:2:2 formats are packed: two consecutive pixels are stored
using 4 values (for example [Y1 U Y2 V]).

But in OpenGL we cannot have both:
 - a single texture, and
 - a correct native interpolation for both Y and UV components.

To avoid the problem, the current implementation just dropped the Y2
value, so the pictures were rendered at half the horizontal resolution.

To render at full definition, upload the single plane into two separate
OpenGL textures:
 - one in GL_RG, to read each Y value in a different texel;
 - one in GL_RGBA, to read both U and V values in a single texel.

As a consequence, pic->i_planes is not necessarily equal to
interop->tex_count anymore (there might be 1 picture plane but 2
textures).

Fixes #26712
2022-03-21 16:53:55 +00:00
Rémi Denis-Courmont cf0b7fcb23 drm: remove stray typedef 2022-03-21 15:34:49 +00:00
Rémi Denis-Courmont 1a033eab84 drm: fix/clean up Display() error handling
drmModeSetPlane() is just a glorified ioctl(). Errors are negative
values, and the error code is in errno.
2022-03-21 15:34:49 +00:00
Steve Lhomme dbf45cea2a dav1d: fix compilation with (upcoming) dav1d 1.0 2022-03-21 05:30:37 +00:00
Francois Cartegnie dfe420ab66 demux: mp4: fix lack of tfdt fallback
refs #26341
2022-03-21 05:15:11 +00:00
Francois Cartegnie a151c9c40f demux: mp4: fix sidx lookup return timescale
refs #26341
2022-03-21 05:15:11 +00:00
Francois Cartegnie 3ee0bb4c28 demux: mp4: fix unaligned trun seek
refs #26719
2022-03-21 04:52:47 +00:00
Francois Cartegnie 8940fd6c10 demux: hls: fix timescale attribute duplication on update 2022-03-20 16:41:44 +00:00
Niklas Haas 7e912cbb7a libplacebo: update for new tone mapping API
Libplacebo v4.192 got a very significant overhaul of the tone-mapping
subsystem and associated APIs. For consistency's sake, present users
with only a UI based on the new configuration style, and use
backwards-compatibility code to map the new enums back to the old API's
set of options.

To avoid having to write this boilerplate twice, provide a common helper
that both the libplacebo vout and the opengl vout can use.
2022-03-20 15:45:35 +01:00
Prince Gupta 4fde969c22 qt: remove MainCtx.interfaceFullScreen
property is not used and broken
2022-03-20 08:40:48 +00:00
Prince Gupta f1fe1d3178 qt: make csd setting independent of window visibility at MainCtx level
1. The mechanism implemented to keep these two in-sync is broken
2. Interface changes some CSD controls based on window visibility, this
   causes conflicts (ref #26668)
2022-03-20 08:40:48 +00:00
Prince Gupta cc74697fbd qml: check window fullscreen directly 2022-03-20 08:40:48 +00:00
Prince Gupta 43bcb730cc qml: correctly check Window visibility
QWindows::visibility is not bitwise
2022-03-20 08:40:48 +00:00
Rémi Denis-Courmont 1171147b0b rawvideo: factor date increment
This works the same for the decoder and the packetiser.
2022-03-19 21:08:13 +00:00
Marvin Scholz 6de977a00d rav1e: fix incorrect include
The rav1e .pc file adds -I${includedir}/rav1e so including rav1e/rav1e.h
would expand to ${includedir}/rav1e/rav1e/rav1e.h which leads to the
header not being found.
2022-03-19 18:14:09 +00:00
Francois Cartegnie e3a42ec98f demux: avformat: use automake var for zlib 2022-03-19 12:24:37 +00:00
Benjamin Arnaud 3ceb6e9657 qt/mlbookmarkmodel: Add a default title in the 'add' function
This feature was missing on VLC4, the behavior on this patch is similar to VLC3.
2022-03-18 19:47:57 +00:00
Benjamin Arnaud 3da08ba544 qt/mlbookmarkmodel: Fix the 'setData' default role value 2022-03-18 19:47:57 +00:00
Benjamin Arnaud 628595ec6f qt/menus: Add the 'BookmarkMenu' in the navigation menu 2022-03-18 19:47:57 +00:00
Benjamin Arnaud b19c5f0468 qt/custom_menus: Create BookmarkMenu 2022-03-18 19:47:57 +00:00
Niklas Haas e33c274d94 libplacebo: support HDR output modes
Technically, this just requires forwarding the colorspace and HDR
metadata information to the libplacebo swapchain.

In practice, this does nothing at all on OpenGL, and for Vulkan it only
works with implementations that provide VK_KHR_swapchain_colorspace and
VK_EXT_hdr_metadata, which in practice means "Windows, Wayland and DRM
only", although we don't support DRM or wayland (yet) so it really just
means "Windows only".

We provide only a very short list of valid configurations, because
anything else is severely limited in practice.
2022-03-18 19:26:44 +00:00
Niklas Haas 4dda6c6a2c libplacebo: clarify option wording
These options are only *overrides* of the detected values. This needs to
be made clear to the user - e.g. setting this to PQ will *not* put the
display into PQ mode.
2022-03-18 19:26:44 +00:00
Niklas Haas a13bd62d4c libplacebo: set initial framebuffer size on init
Needed for OpenGL, to avoid printing an error on the first frame, before
the `control()` function is called.

Also allows us to bail out early on swapchain initialization errors.
2022-03-18 19:26:44 +00:00
Tristan Matthews 24bac21b5e rtpfmt: use lower case raw for RGB24 as well
Refs !1578
2022-03-18 17:10:17 +00:00
Francois Cartegnie 0eab7edb58 demux: libmp4: split as lib 2022-03-18 14:51:41 +00:00
Mehdi Sabwat 93b89c5e21 emscripten: disable youtubedl demux plugin 2022-03-18 13:31:32 +00:00
Steve Lhomme acad6ed0e1 modules: add LIBCOMCXXFLAGS to C++ modules using LIBCOM
Even though they don't use WRL or IID_PPV_ARGS yet.

Better safe than sorry.
2022-03-17 14:31:11 +00:00
Steve Lhomme 35263e7890 decklink: compile with LIBCOMCXXFLAGS on Windows
It's using IID_PPV_ARGS.
2022-03-17 14:31:11 +00:00
Steve Lhomme 89a3ca6f46 hw: d3d11: compile with LIBCOMCXXFLAGS
It's using WRL.
2022-03-17 14:31:11 +00:00
Steve Lhomme f39ff6c79d mft: compile with LIBCOMCXXFLAGS
It's using WRL.
2022-03-17 14:31:11 +00:00
Steve Lhomme de95c52927 access: screen: compile with LIBCOMCXXFLAGS on Windows
It's using WRL for the DXGI capture.
2022-03-17 14:31:11 +00:00
Steve Lhomme 3ee0d28d1c freetype: compile dwrite.cpp with LIBCOMCXXFLAGS
It's not using LIBCOM when linking but uses WRL with COM objects coming from
DWriteCreateFactory called indirectly. We could later clean the code with
WRL.
2022-03-17 14:31:11 +00:00
Steve Lhomme d8c930a8b1 direct3d11: compile with LIBCOMCXXFLAGS
It's using IID_PPV_ARGS and WRL.
2022-03-17 14:31:11 +00:00
Steve Lhomme cfafaa8768 qt: compile with LIBCOMCXXFLAGS on Windows
It's using IID_PPV_ARGS and WRL.
2022-03-17 14:31:11 +00:00
Steve Lhomme 7dc1ae3b93 access: dshow: compile with LIBCOMCXXFLAGS
It's using WRL.
2022-03-17 14:31:11 +00:00
Steve Lhomme 5a63197424 codec: remove bogus libqsv_plugin_la_CPPFLAGS
The statement is useless and misplaced.

It was added in ee8376da7c.
2022-03-17 14:31:11 +00:00
Fatih Uzunoglu 4db6521b34 qml: apply QTBUG-56075 workaround only when necessary 2022-03-17 10:36:59 +00:00
Fatih Uzunoglu 9144761ec5 qml: use BindingCompat instead of Binding 2022-03-17 10:36:59 +00:00
Rémi Denis-Courmont a9ffd6aec1 drm: add (back) P010 mapping 2022-03-17 09:40:06 +00:00
Rémi Denis-Courmont d19eda8b0e fourcc: clarify P010 and P016 2022-03-17 09:40:06 +00:00
Rémi Denis-Courmont 63a44e8d14 avcodec: make P010 and P016 little endian
Every involved modules other than FFmpeg's assume little endian (e.g.
VA, which derives from DRM which uses little endian always), or only
works on little endian systems at all.
2022-03-17 09:40:06 +00:00
Benjamin Arnaud 2eb7186a55 qt/custom_menus: Simplify the model events implementation 2022-03-17 09:17:17 +00:00
Benjamin Arnaud 12cfeb092c qt/custom_menus: Update the RecentMenu 'insert' implementation
Our previous implementation couldn't handle a random insert in the middle of the model.
2022-03-17 09:17:17 +00:00
Francois Cartegnie fafd64e06f demux: adaptive: properly prune relative segmentlist 2022-03-16 20:52:37 +00:00
Francois Cartegnie 8f8ea977e5 demux: adaptive: ensure es is created in test 2022-03-16 20:52:37 +00:00
Francois Cartegnie f2414d8642 demux: adaptive: fix init setting expected timestamp for non sms 2022-03-16 20:52:37 +00:00
Francois Cartegnie 4aa0143cf9 demux: adaptive: use timestamp 0 offset in timestamp mappings
Fixes returning INVALID timestamp when mapping to 0.
2022-03-16 20:52:37 +00:00
Francois Cartegnie 65d2dccfaf demux: hls: rename error prone method 2022-03-16 20:52:37 +00:00
Francois Cartegnie dff467b4ef adaptive: test: add low delay offset check 2022-03-16 20:52:37 +00:00
Francois Cartegnie 40ea2e85c1 demux: adaptive: use member for isContiguous 2022-03-16 20:52:37 +00:00
Francois Cartegnie 9819fd9b42 demux: adaptive: call queue to create ES on empty content/subtitles
otherwise it is delayed until first data/pcr
2022-03-16 20:52:37 +00:00
Francois Cartegnie 310f94ef93 demux: adaptive: rewrite media timeline fallback 2022-03-16 20:52:37 +00:00
Francois Cartegnie b2d6205d56 demux: adaptive: only return bufferized amount past deadline 2022-03-16 20:52:37 +00:00
Francois Cartegnie 235471cf99 demux: adaptive: no buffering on no deadline 2022-03-16 20:52:37 +00:00
Francois Cartegnie e136c8ac50 demux: adaptive: reset segment time context on segment gap 2022-03-16 20:52:37 +00:00
Francois Cartegnie 49f71855b9 demux: adaptive: refer to previous segment end time 2022-03-16 20:52:37 +00:00
Francois Cartegnie 5da424a668 demux: adaptive: add buffering media level to command queue 2022-03-16 20:52:37 +00:00
Francois Cartegnie e8be1a4ef4 demux: adaptive: force early output of first demuxed times 2022-03-16 20:52:37 +00:00
Romain Vimont 05572e3fd5 opengl: handle downscaled luminance components
Commit d8aebc365d said:

> The texture scaling factor represents how a plane is scaled compared
> to the first plane, so by definition, the first plane is not scaled
> (its ratio is 1:1).

However, with YUY2 pictures, half the horizontal resolution is currently
lost by the interop. Therefore, until this is fixed, the sampler must
scale accordingly.

This reverts commit d8aebc365d.

Fixes #26682
2022-03-16 15:39:54 +00:00
Rémi Denis-Courmont 75c7e781ae rtp: decoder for RTP video/raw (RFC4175)
This implements progressive content for most formats defined in
IETF RFC4175. This only takes care of converting the RTP payloads into
VLC picture buffers; parsing the RTP headers remains the job of the RTP
access module.

For consistency, this uses exclusively planar formats.
Later optimisations could substitute packed formats selectively.
2022-03-16 07:46:28 +00:00
Rémi Denis-Courmont ba8e70e2b6 rtp: raw video payload format parser 2022-03-16 07:46:28 +00:00
Rémi Denis-Courmont 2ba4b4e5e2 rtp: helpers to parse a=fmtp lines 2022-03-16 07:46:28 +00:00
Rémi Denis-Courmont aed74edea9 drm: remove redundant initialisation 2022-03-15 17:35:13 +00:00
Rémi Denis-Courmont 50a0bc433b drm: use the buffer allocation helpers
This rectifies ioctl parameters so that allocating frame buffers no
longer fails in kernel.

This also cleans up the triple-buffered frame buffer handling:
now we keep one picture buffer for each of the 3 front buffers, instead
of switching the property of a dummy picture all the time.
2022-03-15 17:35:13 +00:00
Rémi Denis-Courmont 03c5c6df61 drm: helpers for dumb buffers as pictures 2022-03-15 17:35:13 +00:00
Rémi Denis-Courmont 1c4a6484fa drm: add trivial wrapper for DRM ioctl() 2022-03-15 17:35:13 +00:00
Thomas Guillem 6b4b7225e5 dsm: fix interrupt context mismatch
The dsm interrupt context was also registered when calling the
credential API that can end up in keystore modules that need to register
an interrupt context. To fix this issue, register the interrupt context
only before dsm calls.
2022-03-15 14:26:22 +00:00
Rémi Denis-Courmont 3168e9296e xcb/x11: black out the borders
Fixes #26495.
2022-03-15 08:06:11 +00:00
Rémi Denis-Courmont 5e93159d04 xcb/x11: place non-SHM picture correctly 2022-03-15 08:06:11 +00:00
Rémi Denis-Courmont 9223f0d82a xcb/x11: place SHM picture correctly 2022-03-15 08:06:11 +00:00
Rémi Denis-Courmont d321530ac5 xcb/x11: cover the whole parent window
To plot the black borders, we need our drawable to cover the entirety
of the parent window.

Refs #26495.

Note that this engenders two regressions that need fixing in following
changesets:
- The video is drawn in the top left, regardless of the video
  alignment setting.
- If the video is shrunk without moving the window (e.g. by cropping),
  damaged pixels are not blacked out.
2022-03-15 08:06:11 +00:00
Rémi Denis-Courmont 3d1449c264 xcb/x11: retain picture placement 2022-03-15 08:06:11 +00:00
Jeffrey Knockel a32bf92724 glx: set northwest bit gravity on output window
If necessary, set bit gravity on Open() and restore on Close().  This
fixes black flickering on resize.

Fixes #25716 for GLX.
2022-03-14 17:39:07 +00:00
Jeffrey Knockel 7251119ae7 egl: set northwest bit gravity on output window
If necessary, set bit gravity on Open() and restore on Close().  This
fixes black flickering on resize.

Fixes #25716 for EGL.
2022-03-14 17:39:07 +00:00
Jeffrey Knockel 96100d0519 xcb/render: remove background pixel from output window
The RENDER output is blanking its background explicitly at each frame.
This fixes black flickering on resize.

Fixes #25716 for RENDER output.
2022-03-14 17:39:07 +00:00
Jeffrey Knockel 58aaf06c14 xcb/x11: set northwest bit gravity on output window
This fixes black flickering on resize.

Fixes #25716 for xcb/x11 output.
2022-03-14 17:39:07 +00:00
Lyndon Brown 8737dcd134 qt: drop unnecessary `ClickLineEdit` widget
This widget has been a mere shadow of its former self even since
3001875707 left it just wrapping a call
to `QLineEdit::setPlaceholderText()`. Considering this, and that it's only
used in one place anyway, it's really not worth keeping.

I've cleaned up related copyright notices. They had mistakenly been left in
the customwidgets files by e14f47780d, and
having reviewed the history of `SearchLineEdit` there seems to be no
relevant link to the old `ClickLineEdit` code requiring these notices being
kept in the searchlineedit files.
2022-03-14 08:51:18 +00:00
Prince Gupta 40a81eeef8 qml: preserve sort criteria and order of views 2022-03-14 08:31:16 +00:00
Prince Gupta fa5af22cde qml: implement ModelSortSettinghandler 2022-03-14 08:31:16 +00:00
Prince Gupta 4ab7a510fa qt: implement viewPath property in History 2022-03-14 08:31:16 +00:00
Prince Gupta 9457692d9a qml: update History when loading defaultPage of PageLoader 2022-03-14 08:31:16 +00:00
Prince Gupta 2347cf713d qt: implement addLeaf function in navigation 2022-03-14 08:31:16 +00:00
Prince Gupta 9cc3f30292 qml/MainCtx: allow modification and quering of setting values 2022-03-14 08:31:16 +00:00
Benjamin Arnaud 6f82cea3b7 qml/ControlbarControls: Add REVERSE_BUTTON to the controlList 2022-03-13 14:13:24 +00:00
Benjamin Arnaud 330f7ad1f6 qml/controlbarcontrols: Create ReverseButton 2022-03-13 14:13:24 +00:00
Rémi Denis-Courmont e2a35909b4 rtp out: video/raw spells in lower case 2022-03-13 06:39:22 +00:00
Lyndon Brown 11f666b54a upnp: switch satip.com URL to HTTPS 2022-03-13 06:05:33 +00:00
Lyndon Brown e1194a5f29 Switch various user facing URLs to HTTPS
Fixes #26687.
2022-03-13 06:05:33 +00:00
Steve Lhomme 80cded3b6a modules: decklink: fix possible pointer aliasing issues
Decklink uses a COM like API on Linux and macOS but there's no WRL there or
__uuidof(). So we have to use the safe COM handling.
2022-03-12 15:27:08 +00:00
Steve Lhomme 6834aa4f84 demux: adaptive: don't force link with pthread
It is already handled by the CXXFLAGS on the platforms that need it.
2022-03-12 11:54:32 +00:00
Steve Lhomme 0ff2236c79 decklink: don't force link with pthread
Only the Linux and macOS targets probably require it. It should not be the case
on Windows. BlackMagic probably doesn't support other platforms than these 3.

For Linux we already build with -pthread. For macOS this is not even needed.
2022-03-12 11:54:32 +00:00
Steve Lhomme 09bf50d4b1 audiounit_ios: remove dead code
At line 580 above we return an error if the format is S/PDIF.
2022-03-12 11:41:16 +00:00
Lyndon Brown 8a88f1005c mp4: fix null deref
This used one too many derefs, and then due to the earlier write of null
near the beginning of the function (making a null write here redundant)
there was thus a null-deref.

Regression from 0e9db4f7e6.
2022-03-12 07:24:39 +00:00
Steve Lhomme de3a522abb access: dtv: define extra interfaces the same way as regular COM interfaces
We could also generate the header from an IDL
2022-03-12 07:00:35 +00:00
Steve Lhomme d9ec4ac46b access: dtv: rename guid_xxx variables to clsid_xxx
There are CLSID, not a random type of GUID. Test them against CLSID_NULL.
2022-03-12 07:00:35 +00:00
Steve Lhomme 8cdfe4e95e access: dtv: use classes found in Mingw64 qedit.h
This is not a header found in regular Windows SDK so don't include it. We would
need to copy the code when the SDK doesn't have it...
2022-03-12 07:00:35 +00:00
Steve Lhomme 5bc0bf7ad7 access: dtv: don't redefine classes/UUIDs defined in tuner.h
It's available in MSVC and Mingw64 since 2015

+ remove unused & undefined UUIDs
2022-03-12 07:00:35 +00:00
Steve Lhomme 1db9790cbd access: dtv: remove unused variables 2022-03-12 07:00:35 +00:00
Benjamin Arnaud dcc4520cd9 qml/ControlLayout: Update keyboard navigation implementation
Our prior implementation couldn't handle a model invalidate() properly and ended up corrupting
the keyboard navigation.
2022-03-11 09:41:32 +00:00
Benjamin Arnaud 50df9c288e qml/PlayerControlLayout: Add ControlListFilter(s) to hide unnecessary buttons
fix #26607
2022-03-11 09:41:32 +00:00
Benjamin Arnaud 026b9db3a9 qt: Create control_list_filter 2022-03-11 09:41:32 +00:00
Steve Lhomme a84e2e720c access: screen: limit the mouse to win32
The mac module shouldn't present the mouse options if it doesn't handle them.
2022-03-10 22:17:51 +00:00
Steve Lhomme 33fd050ec7 access: screen: move the screen-display-id/screen-index handling in mac code 2022-03-10 22:17:51 +00:00
Steve Lhomme 0afe4c145c access: screen: fix code usage depending on the defines 2022-03-10 22:17:51 +00:00
Steve Lhomme 3fe7d92e6e access: screen: move the win32 cursor blending code in the GDI code 2022-03-10 22:17:51 +00:00
Steve Lhomme 73895883a7 hw:d3d11: add a filter to turn D3D11 block into a picture 2022-03-10 22:17:51 +00:00