mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
remove the d3d12->d3d11 workaround (d3d12 is now fixed)
This commit is contained in:
@@ -999,10 +999,11 @@ used.</p>
|
||||
<code><videosink></code> are <code>d3d12videosink</code>,
|
||||
<code>d3d11videosink</code>, <code>d3dvideosink</code>,
|
||||
<code>glimagesink</code>, <code>gtksink</code>,
|
||||
<code>autovideosink</code>. If you do not specify the videosink, the
|
||||
d3d11videosink will be used (users have reported segfaults of the newer
|
||||
d3d12 videodecoder on certain older Nvidia cards when the image
|
||||
resolution changes: d3d11 will used by default until this is fixed).</p>
|
||||
<code>autovideosink</code>. <em>There have been reports of segfaults of
|
||||
the newer d3d12 videodecoder on certain older Nvidia cards when the
|
||||
image resolution changes, e.g., when the iOS client is rotated between
|
||||
portrait and landcape modes: this was a GStreamer issue that is
|
||||
apparently now fixed (a workaround is to use d3d11).</em></p>
|
||||
<ul>
|
||||
<li>With Direct3D 11.0 or greater, various options can be set using
|
||||
e.g. <code>-vs "d3d11videosink <options>"</code> (see the
|
||||
|
||||
@@ -987,10 +987,11 @@ like `\{0.0.0.00000000\}.\{98e35b2b-8eba-412e-b840-fd2c2492cf44\}`. If
|
||||
|
||||
If you wish to specify the videosink using the `-vs <videosink>` option,
|
||||
some choices for `<videosink>` are `d3d12videosink`, ``d3d11videosink``, ```d3dvideosink```,
|
||||
`glimagesink`, ``gtksink``, ```autovideosink```. If you do not specify the videosink,
|
||||
the d3d11videosink will be used (users have reported segfaults of the newer d3d12 videodecoder
|
||||
on certain older Nvidia cards when the image resolution changes:
|
||||
d3d11 will used by default until this is fixed).
|
||||
`glimagesink`, ``gtksink``, ```autovideosink```. _There have been reports of
|
||||
segfaults of the newer d3d12 videodecoder
|
||||
on certain older Nvidia cards when the image resolution changes, e.g., when the iOS client
|
||||
is rotated between portrait and landcape modes: this was a GStreamer issue
|
||||
that is apparently now fixed (a workaround is to use d3d11)._
|
||||
|
||||
- With Direct3D 11.0 or greater, various options can be set
|
||||
using e.g. `-vs "d3d11videosink <options>"` (see the gstreamer videosink
|
||||
|
||||
11
README.txt
11
README.txt
@@ -1011,11 +1011,12 @@ like `\{0.0.0.00000000\}.\{98e35b2b-8eba-412e-b840-fd2c2492cf44\}`. If
|
||||
|
||||
If you wish to specify the videosink using the `-vs <videosink>` option,
|
||||
some choices for `<videosink>` are `d3d12videosink`, `d3d11videosink`,
|
||||
`d3dvideosink`, `glimagesink`, `gtksink`, `autovideosink`. If you do not
|
||||
specify the videosink, the d3d11videosink will be used (users have
|
||||
reported segfaults of the newer d3d12 videodecoder on certain older
|
||||
Nvidia cards when the image resolution changes: d3d11 will used by
|
||||
default until this is fixed).
|
||||
`d3dvideosink`, `glimagesink`, `gtksink`, `autovideosink`. *There have
|
||||
been reports of segfaults of the newer d3d12 videodecoder on certain
|
||||
older Nvidia cards when the image resolution changes, e.g., when the iOS
|
||||
client is rotated between portrait and landcape modes: this was a
|
||||
GStreamer issue that is apparently now fixed (a workaround is to use
|
||||
d3d11).*
|
||||
|
||||
- With Direct3D 11.0 or greater, various options can be set using
|
||||
e.g. `-vs "d3d11videosink <options>"` (see the gstreamer videosink
|
||||
|
||||
4
uxplay.1
4
uxplay.1
@@ -91,7 +91,9 @@ UxPlay 1.72: An open\-source AirPlay mirroring (+ audio streaming) server:
|
||||
.IP
|
||||
choices: ximagesink,xvimagesink,vaapisink,glimagesink,
|
||||
.IP
|
||||
gtksink,waylandsink,osxvideosink,kmssink,d3d11videosink,...
|
||||
gtksink,waylandsink,kmssink,fbdevsink,osxvideosink,
|
||||
.IP
|
||||
d3d11videosink,d3d12videosink ...
|
||||
.PP
|
||||
.TP
|
||||
\fB\-vs\fR 0 Streamed audio only, with no video display window.
|
||||
|
||||
19
uxplay.cpp
19
uxplay.cpp
@@ -806,7 +806,7 @@ static void print_info (char *name) {
|
||||
printf("-s wxh[@r]Request to client for video display resolution [refresh_rate]\n");
|
||||
printf(" default 1920x1080[@60] (or 3840x2160[@60] with -h265 option)\n");
|
||||
printf("-o Set display \"overscanned\" mode on (not usually needed)\n");
|
||||
printf("-fs Full-screen (only with X11, Wayland, VAAPI, D3D11, kms)\n");
|
||||
printf("-fs Full-screen (only with X11, Wayland, VAAPI, D3D11/12, kms)\n");
|
||||
printf("-p Use legacy ports UDP 6000:6001:7011 TCP 7000:7001:7100\n");
|
||||
printf("-p n Use TCP and UDP ports n,n+1,n+2. range %d-%d\n", LOWEST_ALLOWED_PORT, HIGHEST_PORT);
|
||||
printf(" use \"-p n1,n2,n3\" to set each port, \"n1,n2\" for n3 = n2+1\n");
|
||||
@@ -821,7 +821,8 @@ static void print_info (char *name) {
|
||||
printf(" another choice when using v4l2h264dec: v4l2convert\n");
|
||||
printf("-vs ... Choose the GStreamer videosink; default \"autovideosink\"\n");
|
||||
printf(" some choices: ximagesink,xvimagesink,vaapisink,glimagesink,\n");
|
||||
printf(" gtksink,waylandsink,osxvideosink,kmssink,d3d11videosink etc.\n");
|
||||
printf(" gtksink,waylandsink,kmssink,fbdevsink,osxvideosink,\n");
|
||||
printf(" d3d11videosink,d3v12videosink, etc.\n");
|
||||
printf("-vs 0 Streamed audio only, with no video display window\n");
|
||||
printf("-v4l2 Use Video4Linux2 for GPU hardware h264 decoding\n");
|
||||
printf("-bt709 Sometimes needed for Raspberry Pi models using Video4Linux2 \n");
|
||||
@@ -2608,20 +2609,6 @@ int main (int argc, char *argv[]) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
/* because of issues in videosink dvd312videosink (segfault when resolution changes
|
||||
with certain Nvdia graphics cards) make the default videosink d3d11videosink, and
|
||||
use its decoder */
|
||||
if (videosink == "autovideosink") {
|
||||
videosink.erase();
|
||||
videosink.append("d3d11videosink");
|
||||
}
|
||||
if (videosink == "d3d11videosink") {
|
||||
video_decoder.erase();
|
||||
video_decoder.append("d3d11h264dec");
|
||||
}
|
||||
#endif
|
||||
|
||||
if (videosink == "0") {
|
||||
use_video = false;
|
||||
videosink.erase();
|
||||
|
||||
Reference in New Issue
Block a user