- Sep 07, 2022
-
-
Steve Lhomme authored
poll(), vlc_poll() and vlc_poll_i11e() set errno, not net_errno
-
Steve Lhomme authored
-
- Sep 02, 2022
-
-
Steve Lhomme authored
-
Steve Lhomme authored
-
- Aug 31, 2022
-
-
Audio latency callback is using the fifo lock, which cannot be released until the audio output is destroyed. In general, outputs can use the fifo, and we need to release/detach them from the input decoder before freeing the lock.
-
- Aug 30, 2022
-
-
1111 becomes 1111000064 due to imprecision
-
When sout_StreamDelete is called from sout_StreamNew, p_stream->psz_name is set to NULL, so don't pass it to msg_Dbg.
-
- Aug 22, 2022
-
-
Steve Lhomme authored
Only the base object should load all the modules descriptors.
-
Steve Lhomme authored
There's no other object that can handle the configuration loading/saving. We don't need to inherit the options, they can only be in the libvlc_int_t object. var_GetNonEmptyString() is equivalent to var_InheritString() in that case.
-
- Aug 20, 2022
-
-
After removing the WSAEWOULDBLOCK check from the Windows implementation, now that it's done in vlc_accept(). Both implementation are strictly the same.
-
It done in vlc_accept_i11e() but can be done in all cases.
-
If a user never wants colors (s)he should not have to write --no-color at each VLC call.
-
- Aug 19, 2022
-
-
Steve Lhomme authored
But don't use the dynamic plugin parameters when they should not exist. Before it was only called when HAVE_DYNAMIC_PLUGINS is defined because there were only parameters for that, but now there is more (on Windows for now).
-
Steve Lhomme authored
The value of the command line parameter will need to be known early, when we call vlc_threads_setup().
-
Steve Lhomme authored
The value of the command line parameter will need to be known early, when we call vlc_threads_setup().
-
Steve Lhomme authored
It is the default on 3.0 and might be useful when QueryPerformanceCounter() is not accurate or too slow to call. * https://docs.microsoft.com/en-US/troubleshoot/windows-server/performance/programs-queryperformancecounter-function-perform-poorly * https://www.virtualdub.org/blog2/entry_106.html * https://chromium.googlesource.com/chromium/src/base/+/refs/heads/main/time/time_win.cc Partially reverts fdbbae70. Now we link statically with winmm. It should be on all Win7+ machines. We also don't force a period value smaller than wPeriodMin.
-
Steve Lhomme authored
Their granularity are too small to provide a smooth playback.
-
Steve Lhomme authored
It's slower than the "perf" clock source and doesn't provide any extra precision. We don't need the UTC reference it provides. We keep it as the default source until the user/default preferences are applied since it provides an good granularity in a time where things may happen fast (libvlc startup). The 10/16 millisecond granularity of the other sources are not very useful there.
-
Steve Lhomme authored
-
Steve Lhomme authored
This also saves a call to vlc_tick_now() on timeout.
-
Steve Lhomme authored
DWORD is an unsigned long so it can use up to ULONG_MAX.
-
Steve Lhomme authored
DWORD is an unsigned long so it can use up to ULONG_MAX.
-
Steve Lhomme authored
First we convert the delay to int64_t (same width/sign as a vlc_tick_t) in milliseconds from vlc_tick_t/time_t. Then we check it fits in a DWORD, aka an unsigned long. If it doesn't fit we clip the value to ULONG_MAX.
-
Steve Lhomme authored
We either return 0 or ETIMEDOUT from the loop.
-
- Aug 15, 2022
-
-
Even in Win7 builds we can use it if it's available on the system.
-
This was taking more locks than necessary, causing a possible deadlock, because window events are not supposed to lock the window lock. The display lock is more than sufficient to guard access to this field. Fixes: 354f3aae
-
- Aug 14, 2022
-
-
Similar to dec06aec for UAP builds.
-
We can tell the end size faster than asprintf and replace the forward slash while filling the output string. (it is safe to replace in a UTF-8 string).
-
-
- Aug 13, 2022
-
-
-
If NULL, it continue to use default directories or the "input-record-path" variable.
-
- Aug 12, 2022
-
-
Thomas Guillem authored
Fixes #27204
-
Steve Lhomme authored
And then simplify the code locally. Now there's only one current_thread_ctx TLS lookup for the whole duration of vlc_tick_wait(). The killed variable is only check if it's a VLC thread and killable is true. Not sure why the Win8+ code differs from the rest, even the memory order loading of th->killed is different.
-
Steve Lhomme authored
This is what the documentation [1] says we should use. Kernel32.dll is just redirecting to api-ms-win-core-processthreads-l1-1-3.dll but kernelbase.dll is not a redirection. [1] https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-setthreaddescription
-
Steve Lhomme authored
None of this code block works if th is NULL (external thread), as there is no "killed" variable.
-
Steve Lhomme authored
No need for any conversion to int internally.
-
- Aug 11, 2022
-
-
It might provide better documentation to the user. And we don't need to reinvent the wheel to handle a default value in SelectClockSource().
-
Since vlc_threads_setup is only called once with the proper libvlc_int_t, we don't need a mechanism to check the first call, nor a special value to check if it's the first call or not.
-
Now that we always call it with a proper libvlc_int_t.
-
It relies on clk.perf.freq.QuadPart which is uninitialized and unknown until SelectClockSource() is called. So it calls vlc_threads_setup() each time until vlc_threads_setup() is called with the libvlc instance. Except vlc_threads_setup(NULL) will crash on the var_InheritBool(vlc, "high-priority") call. It's broken since d0c4c5a9 Usable candidates at startup are: * mdate_interrupt which is a counter in 100 ns, not a wall clock * mdate_tick which is a counter in 1 ms, not a wall clock * mdate_perf_100ns which is a clock in 100 ns but we don't know if the system uses that resolution * mdate_wall which is a clock in 100 ns resolution (slowest) mdate_wall gives the better results and should provide a safe transition with mdate_perf/mdate_perf_100ns values.
-