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.
this allows to compare two lists and generate a list of insertions and deletion
from the old list to the new one.
This is useful to UI frontends to preform partial updates of their view when
data change on the backend.
Fix memstream stream being open but never closed when zero tracks were
to be displayed to the OSD. The code was opening the vlc_memstream from
the start but was freeing the pointer only when the close of the
memstream succeeded AND the number of tracks was non-null.
Instead, this patch reorder the code so that the vlc_memstream is
allocated only when there is at least one track to display and early
exit with the N/A OSD message otherwise.
Then it tries to close the memstream and exit in case of error.
Finally, the text is sent to the OSD and the pointer is freed.
It was raising an ASAN leak report on test_src_player through the
test_teletext test function.
Fixes#26732
Avoid the indentation level on the whole function, allowing to easily
document the early return case as a special edge case and clarifying the
rest of the block.
This change is required for the gapless rework, to identify 2 different
streams, using the same aout APIS. The gapless stream, will be created,
if it has the same format as the previous one, and will wait in the
first Play to make a transition with the previous stream.
This is also a prerequisite for the aout/stream rework (in all aout
modules) planned for VLC 5.0.
Splitting the 2 API internally partition the decoder.c code: the decoder
should only handle the aout stream and not the aout devices (like sound,
mute, selection...).
For now, the aout reference and ownership is still kept in the decoder.c
because the aout and input_resource don't allow creating more than one
streams from one aout. This will be fixed in VLC 5.0.
intially position localMenuView for `_alignHCenter == false`,
`on_AlignHCenterChanged` signal handler is not called on Component
completion if initially `_alignHCenter == false`
Browsing IPv6 servers is unsupported by libupnp on iOS and tvOS leading
to an empty content directory. This is mitigated by disabling IPv6
support just like for WinRT.
Fixes#26301
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).
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).
It seems that python3 is already specified in all the VLC
contribs/tools.
Fixes build on systems not having a shortcut python -> python3 (macOS
for example).
A mechanism was implemented to temporize on consecutive input errors, to
mitigate infinite busy loops (see commit
d06622651f).
Although it avoided the most common issues, this mechanism was not
triggered for other problematic cases:
- empty inputs;
- inputs with unreported errors from demuxers.
Therefore, to encompass these other cases, consider the number of
consecutive stops in a small period of time instead of relying on
reported errors:
- if a VLC_PLAYER_STATE_STOPPED occurs less than 100ms after the
previous one, then increment the EOS burst count;
- when more than 4 EOS burst count occur successively, start
temporizing:
- 100ms for the 5th
- 200ms for the 6th
- 400ms for the 7th
- 800ms for the 8th
- 1.6s for the 9th
- 3.2s for the following
Fixes#5901Fixes#26733
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.