Romain Vimont
a22a08af90
opengl: fix leak on error
...
Free the private instance on error.
2022-04-15 08:43:55 +00:00
Romain Vimont
c344522ff2
opengl: init textures properties from modules
...
All interop modules reused the util function opengl_interop_init()
(written for the software interop) to initialize the textures properties
from the chroma.
However, the actual texture format may not always be deduced from the
chroma: only the interop implementations have the full knowledge of the
texture details.
Therefore, initialize texture properties directly from each interop
implementation.
Fixes #26735
Fixes #26769
2022-04-15 08:43:55 +00:00
Romain Vimont
a4b20be00c
opengl: expose GetTexFormatSize() in interop
...
This will allow to call this function from interop modules.
This function is currently called from opengl_interop_init_impl() (the
init function pointer), which will be removed (so this narrows the scope
of helpers code exposed to modules).
In the future, more work will be needed to also remove this function
pointer.
2022-04-15 08:43:55 +00:00
Romain Vimont
9a22bbd93f
opengl: forward format to sampler
...
The interop determines the format (currently based on the chroma and the
existence of the extension "GL_ARB_texture_rg").
Store this format in the vlc_gl_format, so that the sampler doesn't have
to guess by performing the same checks.
2022-04-15 08:43:55 +00:00
Benjamin Arnaud
93626af823
qt/controlbar_profile_model: Update presets
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
981631302c
qt/controlbar_profile: Update Videoplayer default preset
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
282e6ac584
qt/player_controlbar_model: Rename 'Mainplayer' to 'Videoplayer'
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
999a8e9ad2
qml/Player: Add 'Audio Player' custom toolbar support
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
335b019ab7
qt/player_controlbar_model: Update dictionnary labels
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
ac5e73889e
qt/player_controlbar_model: Add 'Audio Player' and presets
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
406a08e2df
qt/control_list_filter: Add NAVIGATION_BUTTONS support
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
7b801110a3
qml/ControlbarControls: Add NAVIGATION_BUTTONS
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
387892ccb2
qt/controlbar_profile_model: Replace TELETEXT_BUTTONS with NAVIGATION_BUTTONS
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
76942f710e
qml/controlbarcontrols: Create NavigationWidget
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
02b7d2491e
qml/ControlLayout: Update the 'defaultSize' binding
2022-04-15 08:12:09 +00:00
Benjamin Arnaud
2d886b18ff
qt/control_list_model: Deprecate MENU_BUTTON and BACK_BUTTON
2022-04-15 08:12:09 +00:00
Rémi Denis-Courmont
a4f0a74f11
xcb/egl: bump priority above XLib
2022-04-14 09:56:27 +00:00
Rémi Denis-Courmont
dfa7a2e3ac
xcb/egl: add EGL OpenGL provider with XCB platform
2022-04-14 09:56:27 +00:00
Rémi Denis-Courmont
6d8cccee3c
vdpau/display: drain the event queue
...
This adds the vlc_xcb_Manage() call to match the behaviour of the other
XCB-based displays.
2022-04-13 16:16:02 +00:00
Rémi Denis-Courmont
1096398108
xcb/events: do not require a vout display
2022-04-13 16:16:02 +00:00
Rémi Denis-Courmont
c6b1580f3e
xcb/events: use logger internally
...
This uses a vout_display_t for historical reasons. We need to reuse this
code with another type of object now.
2022-04-13 16:16:02 +00:00
Rémi Denis-Courmont
90793652cc
xcb/window: remove stray #include
2022-04-13 16:16:02 +00:00
Rémi Denis-Courmont
857a8f9c65
xcb/window: missing #include
2022-04-13 16:16:02 +00:00
Steve Lhomme
6d8a6416ae
nvdec: get the output pitch without mapping a null frame
2022-04-13 14:30:53 +00:00
Steve Lhomme
44c37b182f
nvdec: don't depend on p_sys for CALL_CUDA_DEC()
2022-04-13 14:30:53 +00:00
Steve Lhomme
cef1adb34d
nvdec: decide the number of decoder pictures later
...
Once the sequence is fully parsed we can tell the profile. The return value of
HandleVideoSequence() is how many pictures the decoder should use internally.
p_format->min_num_decode_surfaces contains the minimum for that value.
2022-04-13 14:30:53 +00:00
Steve Lhomme
75d719f0cd
nvdec: always log issues in CUDA/nvdec calls
2022-04-13 14:30:53 +00:00
Steve Lhomme
2d0f393d06
nvdec: rename nvdec_pool to hw_pool
...
We may also move it in the core.
2022-04-13 14:30:53 +00:00
Francois Cartegnie
7ae7c53c5d
freetype: fix first glyph non zero bearing alignment offset
...
When box xMin is 0, lines starting with non 0 bearing can't
be aligned properly due to wrong offset
2022-04-13 08:02:44 +00:00
Marvin Scholz
c50ab587e7
auhal: remove write-only variable
...
This variable was only written to and never read, making it useless.
2022-04-13 05:52:25 +00:00
Marvin Scholz
52b5a5d683
sout: chromecast: silence unused variable warning
2022-04-13 05:52:25 +00:00
Marvin Scholz
311e0303c5
demux: adaptive: use correct format specifier
2022-04-13 05:52:25 +00:00
Marvin Scholz
bc298c2999
rtp/xiph: doc: fix file name
2022-04-13 02:51:32 +00:00
Marvin Scholz
38a2fa490c
access/http: doc: add some missing param docs
2022-04-13 02:51:32 +00:00
Steve Lhomme
a32031dc0f
dav1d: limit the number of extra frames needed by the decoder
...
The i_extra_picture_buffers is used to add pictures to the pool that the core
will allocate. dav1d is actually using n_threads frames. And the core is
allocating 10 frames per default for AV1. So we need to add the missing ones.
2022-04-12 18:13:42 +00:00
Francois Cartegnie
4f74c5ca37
meta_engine: fix junk at end or raw unterminated ID3 text
2022-04-12 12:57:37 +00:00
Alaric Senat
b9daafa91b
upnp: win32: accept net-intf that support both IPv4/6
...
Previously when libupnp was built with IPv6 enabled only the adapters
supporting IPv6 were accepted. libupnp does support IPv4 even when built
with IPv6, this commit accept both kinds of adapters instead of
excluding the ones that does not support IPv6 at all.
2022-04-10 16:12:29 +00:00
Alaric Senat
7628be6b1f
upnp: win32: simplify IPv6 handling
...
Use specialized libupnp defines instead of a boolean since
`GetIpv4ForMulticast` was dropped before.
2022-04-10 16:12:29 +00:00
Alaric Senat
6eed7670c1
upnp: removes code depending on libupnp < 1.8.3
...
Support for older versions was dropped by the previous commits.
2022-04-10 16:12:29 +00:00
Alaric Senat
8e05bad0c9
upnp: exclusively use `UpnpInit2`
...
`UpnpInit` is deprecated and unmaintained since 1.6. It is known to be
vulnerable (CVE-2020-12695). Dropping its support simplifies a lot the
network code as solely a net interface name is required by `UpnpInit2`
now.
2022-04-10 16:12:29 +00:00
Alaric Senat
e3d290383a
sout: dlna: simplify `GetServerIPAddress`
...
Prefer using the UPNP API calls to get the selected interface's IP
address. The code removed is unnecessarily complex as the correct IP
address should already be available and exposed by libupnp.
Also avoids an unhandled `strdup(nullptr)` in case of error.
2022-04-10 16:12:29 +00:00
Pierre Lamot
9bc631d74d
qml: remove useless traces
2022-04-10 06:49:31 +00:00
Pierre Lamot
e12115fd96
qml: fix placeholder not appearing in playlist Drag item
2022-04-10 06:49:31 +00:00
Pierre Lamot
24b5d4adde
qml: remove unused vlcstyle entry
2022-04-10 06:49:31 +00:00
Pierre Lamot
bc1bbb9b44
qml: update various placeholder pictures
2022-04-10 06:49:31 +00:00
Pierre Lamot
2abc4460ce
qt: remove obsolete VideoWidget native widget
2022-04-10 06:49:31 +00:00
Pierre Lamot
fba6947d1a
qml: differentiate DnD placeholder for medialib playlist views
2022-04-10 06:49:31 +00:00
Pierre Lamot
951f58418e
qml: update placeholder picture in player
2022-04-10 06:49:31 +00:00
Pierre Lamot
d054bae9a1
qml: update default placeholder of generated covers
2022-04-10 06:49:31 +00:00
Pierre Lamot
e669d03e17
qt: accept qrc:// url in covergenerator
2022-04-10 06:49:31 +00:00
Pierre Lamot
6fa7da4e1b
qml: udapte default placehoder in audio/video views
2022-04-10 06:49:31 +00:00
Pierre Lamot
0cc1855b18
qml: allow to specify the picture placeholder in table view
2022-04-10 06:49:31 +00:00
Pierre Lamot
26446fe9b1
qml: make the progressbar always use the accent color
2022-04-10 06:49:31 +00:00
Pierre Lamot
b54b8d2542
qt: mark qt-slider-colours as obsolete
...
volume slide was no longer customisable
2022-04-10 06:49:31 +00:00
Pierre Lamot
d5ec9c9ea8
qml: update volume widget colors
...
gradient was no longer used in design
2022-04-10 06:49:31 +00:00
Pierre Lamot
1596a77260
qml: add indicator when playlist is sorted
2022-04-10 06:49:31 +00:00
Steve Lhomme
8a60c1c4ad
avformat: demux: consider AV1 with no extra data as not packetized
...
In may come in packetized form but the extra data are not given (from raw OBU
files).
2022-04-09 16:41:52 +00:00
Felix Paul Kühne
2d52141e14
bonjour SD: resolve hostname to IP for SMB
...
The SMB modules cannot do the Bonjour lookup, so resolve the hostname
and forward the first IP, which typically is the preferred value.
This fixes vlc-ios#1319
2022-04-09 16:00:26 +00:00
Marvin Scholz
9907bdb58d
screen/mac: remove duplicate static keyword
2022-04-09 08:42:40 +00:00
Romain Vimont
02fcb4a008
qt: remove incorrect mouse event scaling
...
Since commit 66e86e159e
, m_sourceSize is
never written, and no scaling must be applied.
This makes hoverMoveEvent() consistent with mouseMoveEvent(), which did
not apply any scaling.
Fixes #25385
Fixes #26799
2022-04-08 21:10:28 +00:00
Steve Lhomme
c6d72dffef
access: cache: disable code not used without VLC_ACCESS_CACHE_CAN_REGISTER
2022-04-08 13:12:43 +00:00
Steve Lhomme
225e0c1ee6
skiptags: only check the extra footer size for APEv2
...
APEv1 should have flags set to 0 (no footer), but let's not assume writers set
this properly.
https://mutagen-specs.readthedocs.io/en/latest/apev2/apev2.html
2022-04-08 08:59:25 +00:00
Steve Lhomme
4c06a11cf9
skiptags: move the APE size constraint where it matters
...
The extra 32 octets are only needed if a certain flag is set.
The size constraint is on the max amount that GetDWLE can return which doesn't
have any limit in the specs:
https://mutagen-specs.readthedocs.io/en/latest/apev2/apev2.html
A different check on the size we actually allow to keep (MAX_TAG_SIZE) in
memory is done elsewhere and doesn't belong in the header size reporter.
2022-04-08 08:59:25 +00:00
Steve Lhomme
8cfa465d05
skiptags: don't skip more than SSIZE_MAX at once
...
vlc_stream_Read() cannot return properly more than that.
2022-04-08 08:59:25 +00:00
Steve Lhomme
7759e8e426
skiptags: separate the code to read the tag and skip data
2022-04-08 08:59:25 +00:00
Steve Lhomme
217857f033
mft: add support for AV1 decoding
...
It requires the free AV1 extension to be installed.
https://www.microsoft.com/en-us/p/av1-video-extension/9mvzqvxjbq9v
2022-04-07 20:44:36 +00:00
Steve Lhomme
69151effae
mft: support hardware decoders outputing separate textures
...
Modern DXVA decoders are not tied to a single Texture with all slices.
We have to allocate the Shader Resource View (SRV) each time.
2022-04-07 20:44:36 +00:00
Steve Lhomme
fa2c2019f6
mft: keep the decoder D3D format
2022-04-07 20:44:36 +00:00
Oneric
2608eb5c82
codec: libass: pass storage size to libass
...
Due to a quirk in the ASS format some tags do depend on the exact
storage size of the video not just the pixel aspect ratio, so tell
libass via ass_set_storage_size to achieve correct rendering.
For ASS, storage size refers to the size the video is encoded in (stored
at) with codec-level crop applied; further transforms like e.g.
anamorphic de-squeezing or container-level crop must not be applied.
This matches the used fmt_src values despite them being named
visible_{width,height} and the existing PAR calculation already relies
on this.
Fixes https://code.videolan.org/videolan/vlc/-/issues/26634
2022-04-07 20:22:24 +00:00
Prince Gupta
7611952912
qml: improve handling of defaultPage
...
delegate History update to the parent, instead of directly handling it
in PageLoader.
2022-04-07 16:32:40 +00:00
Alaric Senat
99c942f373
transcode: fix `_video_test` double-free
...
The encoder is now fully deallocated by `vlc_encoder_Destroy` below.
2022-04-07 16:04:35 +00:00
Benjamin Arnaud
399e96d320
custom_menus/ListMenuHelper: Fix event warning
2022-04-07 13:21:56 +00:00
Benjamin Arnaud
3864ec3ffb
qml/ControlbarControls: Add RENDERER_BUTTON
2022-04-07 13:21:56 +00:00
Benjamin Arnaud
eff2fe40a9
qml/controlbarcontrols: Create RendererButton
2022-04-07 13:21:56 +00:00
Benjamin Arnaud
97d60ade06
qt/qml_menu_wrapper: Create QmlRendererMenu
2022-04-07 13:21:56 +00:00
Thomas Guillem
da10267380
pulse: fix drain report if no samples
...
Report that the stream is drained if play was never called or in case of
overflow.
2022-04-06 07:39:59 +00:00
Thomas Guillem
08486a0bbe
pulse: fix drain with small samples
...
vlc_pa_get_latency() might return an invalid tick ("no timing info")
when the stream was just uncorked from the Drain callback.
To fix this issue, setup the drain timer from the latency callback when
the stream is draining.
2022-04-06 07:39:59 +00:00
Thomas Guillem
bfde09770c
pulse: add TriggerDrain()
2022-04-06 07:39:59 +00:00
Thomas Guillem
f3e0be3a1f
pulse: move drain_trigger_cb up
...
To avoid forward declaration in a future commit.
2022-04-06 07:39:59 +00:00
Thomas Guillem
0ee0dcf369
pulse: use vlc_pa_get_latency() directly when draining
...
TimeGet() check the corked state, but the stream is always uncorked here.
2022-04-06 07:39:59 +00:00
Steve Lhomme
ff5e2f7b88
srt: use srt_create_socket() instead of deprecated srt_socket()
...
The call is available since libsrt 1.3.0 which is the minimum we allow in
configure.
2022-04-06 07:25:36 +00:00
Steve Lhomme
d20f3e154c
skins2: fix warning in debug message
2022-04-06 07:25:36 +00:00
Steve Lhomme
509bc6b89b
skins2: remove unused variables in win32 classes
2022-04-06 07:25:36 +00:00
Steve Lhomme
beb4dd03b0
sout: sdi: remove unused function
2022-04-06 07:25:36 +00:00
Steve Lhomme
8ce1899c8f
panoramix: remove write-only variables
2022-04-06 07:25:36 +00:00
Steve Lhomme
e67935d9da
demux: ogg: remove write-only variables
...
Not sure why we don't keep the index values...
2022-04-06 07:25:36 +00:00
Steve Lhomme
e48fc2ac7f
sout: sdi: remove unused variable
2022-04-06 07:25:36 +00:00
Steve Lhomme
7c5cc30bc3
hw:d3d11: check the unlikely failure of using a shared texture
2022-04-06 07:25:36 +00:00
Steve Lhomme
aa01a9de95
waveout: fix pointer conversion warning
...
When calling aout_DrainedReport().
2022-04-06 07:25:36 +00:00
Pierre Lamot
572b5887c4
qt: fix deleting/updating items in cache before it's loaded
2022-04-04 17:01:17 +00:00
Fatih Uzunoglu
3035fa4ea2
qml: fix asynchronous handling of synchronous calls in shortcuts
2022-04-04 15:33:32 +00:00
Fatih Uzunoglu
35a4f48680
qt: don't allow PrefsDialog to open multiple times in DialogsProvider
...
allowing PrefsDialog to be opened multiple time causes massive freezing
2022-04-04 15:33:32 +00:00
Prince Gupta
db1abbe031
qml: add tooltip to subtitle of GridItem
2022-04-04 15:18:43 +05:30
Prince Gupta
33f6aef5ce
qml: handle mouse hover and tooltip directly in ScrollingText widget
2022-04-04 15:18:40 +05:30
Prince Gupta
c29b1a255c
qml: implement Helpers.contains
2022-04-04 15:08:03 +05:30
Francois Cartegnie
030c3045f4
freetype: android: process formatted text nodes
...
Trims filenames as they are not stored as attributes.
Also removes incorrect asprintf 0 return value handling
2022-04-03 20:54:16 +00:00
Thomas Guillem
beaf107e4a
amem: flush from stop
...
Because the documentation says that flush is called when stopped.
2022-04-03 20:31:32 +00:00
Thomas Guillem
0ed383a422
decklink: flush from stop
...
The stop cb was only resetting some variables. Also flush from stop
since the flush cb won't necessarily be called before a stop.
2022-04-03 20:31:32 +00:00
Thomas Guillem
338d4a1f15
adummy: reset variables from stop
2022-04-03 20:31:32 +00:00
Pierre Lamot
0768eef6ce
qt: fix warning when generating RoundImage with no source
...
fix : #26671
2022-04-03 16:39:51 +00:00