docs: Update for Windows specific parts
authorSeungha Yang <seungha@centricular.com>
Sat, 9 Apr 2022 19:11:02 +0000 (04:11 +0900)
committerSeungha Yang <seungha@centricular.com>
Wed, 13 Apr 2022 18:55:56 +0000 (03:55 +0900)
* glimagesink is not a recommended one on Windows
* Remove directdrawsink section
* d3dvideosink is legacy and should not be recommended
* Add d3d11videosink part
* directsoundsink should be deprecated
* Add wasapisink/wasapi2sink part

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2144>

subprojects/gst-docs/markdown/tutorials/basic/platform-specific-elements.md

index d4742f2..579bf7f 100644 (file)
@@ -20,7 +20,8 @@ This video sink is based on
 and filtering of the scaled image to alleviate aliasing. It implements
 the VideoOverlay interface, so the video window can be re-parented
 (embedded inside other windows). This is the video sink recommended on
-most platforms. In particular, on Android and iOS, it is the only
+most platforms except for Windows (On Windows, `d3d11videosink` is recommended).
+In particular, on Android and iOS, it is the only
 available video sink. It can be decomposed into
 `glupload ! glcolorconvert ! glimagesinkelement` to insert further OpenGL
 hardware accelerated processing into the pipeline.
@@ -73,14 +74,24 @@ This is the only audio sink available to GStreamer on Mac OS X.
 
 ## Windows
 
-### `directdrawsink`
+### `d3d11videosink`
 
-This is the oldest of the Windows video sinks, based on [Direct
-Draw](http://en.wikipedia.org/wiki/DirectDraw). It requires DirectX 7,
-so it is available on almost every current Windows platform. It supports
-rescaling and filtering of the scaled image to alleviate aliasing.
+This video sink is based on [Direct3D11](https://en.wikipedia.org/wiki/Direct3D#Direct3D_11)
+and is the recommended element on Windows.
+It supports VideoOverlay interface and rescaling/colorspace conversion
+in [zero-copy](https://en.wikipedia.org/wiki/Zero-copy) manner. This element
+is the most performant and featureful video sink element on Windows.
+
+### `d3dvideosink`
+
+This video sink is based on
+[Direct3D9](https://en.wikipedia.org/wiki/Direct3D#Direct3D_9).
+It supports rescaling and filtering of the scaled image to alleviate aliasing.
+It implements the VideoOverlay interface, so the video window can be re-parented (embedded inside other windows).
+This element is not recommended for applications targetting Windows 8 or more recent.
 
-### `dshowvideosink`
+
+### `dshowvideosink (deprecated)`
 
 This video sink is based on [Direct
 Show](http://en.wikipedia.org/wiki/Direct_Show).  It can use different
@@ -92,21 +103,21 @@ or
 EVR only being available on Windows Vista or more recent. It supports
 rescaling and filtering of the scaled image to alleviate aliasing. It
 implements the VideoOverlay interface, so the video window can be
-re-parented (embedded inside other windows).
+re-parented (embedded inside other windows). This element is not recommended
+in most cases.
 
-### `d3dvideosink`
+### `wasapisink` and `wasapi2sink`
 
-This video sink is based on
-[Direct3D](http://en.wikipedia.org/wiki/Direct3D) and it’s the most
-recent Windows video sink. It supports rescaling and filtering of the
-scaled image to alleviate aliasing. It implements the VideoOverlay
-interface, so the video window can be re-parented (embedded inside other
-windows).
+Those elements are the default audio sink elements on Windows, based on
+[WASAPI](https://docs.microsoft.com/en-us/windows/win32/coreaudio/wasapi),
+which is available on Vista or more recent. Note that `wasapi2sink` is
+a replacement of `wasapisink` and `wasapi2sink` is default for Windows 8 or
+more recent. Otherwise `wasapisink` will be default audio sink element.
 
-### `directsoundsink`
+### `directsoundsink (deprecated)`
 
-This is the default audio sink for Windows, based on [Direct
-Sound](http://en.wikipedia.org/wiki/DirectSound), which is available in
+This audio sink element is based on
+[DirectSound](http://en.wikipedia.org/wiki/DirectSound), which is available in
 all Windows versions.
 
 ### `dshowdecwrapper`