checks at the start
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc-send.cpp| 158 +
server/video-encoder.h | 13
2 files changed, 143 insertions(+), 28 deletions
that VIDEO_ENCODER_FRAME_UNSUPPORTED is returned when an
error is encountered in spice_gst_encoder_encode_dmabuf()
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
configure.ac | 2 +-
meson.build| 2
with the relevant DC.
v2: (suggestions from Frediano)
- Don't stop the stream regardless of whether gl_draw is ongoing
or not
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Acked-by: Frediano Ziglio
---
server/video-stream.cpp | 7
with the stream and instead keep the
ownerhip of the fd with the scanout
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc.cpp | 9 ++
server/display-channel-private.h | 1 +
server/display-channel.cpp
the appropriate Gst format.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc-send.cpp| 1 +
server/gstreamer-encoder.c | 103 +++--
server/video-encoder.h | 1 +
3 files changed
of XXX_CAST macro.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Acked-by: Frediano Ziglio
---
server/dcc.cpp | 22 --
server/dcc.h | 6 ++
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/server
ediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Vivek Kasireddy (6):
dcc: Check to see if the client supports multiple codecs (v2)
dcc: Create a stream associated with gl_draw for non-gl clients (v6)
dcc-send: Encode and send gl_draw stream data to the remote client
of XXX_CAST macro.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Acked-by: Frediano Ziglio
---
server/dcc.cpp | 22 --
server/dcc.h | 6 ++
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/server
with the relevant DC.
v2: (suggestions from Frediano)
- Don't stop the stream regardless of whether gl_draw is ongoing
or not
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Acked-by: Frediano Ziglio
---
server/video-stream.cpp | 7
checks at the start
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc-send.cpp| 158 +
server/video-encoder.h | 13
2 files changed, 143 insertions(+), 28 deletions
with the stream and instead keep the
ownerhip of the fd with the scanout
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc.cpp | 9 ++
server/display-channel-private.h | 1 +
server/display-channel.cpp
that VIDEO_ENCODER_FRAME_UNSUPPORTED is returned when an
error is encountered in spice_gst_encoder_encode_dmabuf()
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
configure.ac | 2 +-
meson.build| 2
te all patches to address review comments from Frediano
- Tested this series with msdkh264enc/dec plugins that will be added
in another patch series
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Vivek Kasireddy (5):
dcc: Check to see if the client supports mu
: Marc-André Lureau
Cc: Dongwon Kim
Vivek Kasireddy (5):
dcc: Check to see if the client supports multiple codecs (v2)
dcc: Create a stream associated with gl_draw for non-gl clients (v5)
dcc-send: Encode and send gl_draw stream data to the remote client
(v3)
gstreamer-encode
that VIDEO_ENCODER_FRAME_UNSUPPORTED is returned when an
error is encountered in spice_gst_encoder_encode_dmabuf()
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
configure.ac | 2 +-
meson.build| 2
with the relevant DC.
v2: (suggestions from Frediano)
- Don't stop the stream regardless of whether gl_draw is ongoing
or not
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Acked-by: Frediano Ziglio
---
server/video-stream.cpp | 6
Signed-off-by: Vivek Kasireddy
---
server/dcc-send.cpp| 150 -
server/video-encoder.h | 13
2 files changed, 133 insertions(+), 30 deletions(-)
diff --git a/server/dcc-send.cpp b/server/dcc-send.cpp
index 2c40a231..5908fde1 100644
--- a/server/dcc
of XXX_CAST macro.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Acked-by: Frediano Ziglio
---
server/dcc.cpp | 22 --
server/dcc.h | 6 ++
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/server
, take
an additional reference on the fd to ensure that it is not closed
when the stream might still be using it
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc.cpp | 18 ++-
server/display-channel
Tested this series with msdkh264enc/dec plugins that will be added
in another patch series
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Vivek Kasireddy (5):
dcc: Check to see if the client supports multiple codecs (v2)
dcc: Create a stream associated with g
: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc.cpp | 19 +++-
server/display-channel-private.h | 1 +
server/display-channel.cpp | 1 +
server/video-stream.cpp | 166 +--
server/video-stream.h| 6 ++
5 files
that VIDEO_ENCODER_FRAME_UNSUPPORTED is returned when an
error is encountered in spice_gst_encoder_encode_dmabuf()
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
configure.ac | 2 +-
meson.build| 2
Signed-off-by: Vivek Kasireddy
---
server/dcc-send.cpp| 150 -
server/video-encoder.h | 13
2 files changed, 133 insertions(+), 30 deletions(-)
diff --git a/server/dcc-send.cpp b/server/dcc-send.cpp
index 2c40a231..5908fde1 100644
--- a/server/dcc
with the relevant DC.
v2: (suggestions from Frediano)
- Don't stop the stream regardless of whether gl_draw is ongoing
or not
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Acked-by: Frediano Ziglio
---
server/video-stream.cpp | 7
of XXX_CAST macro.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Acked-by: Frediano Ziglio
---
server/dcc.cpp | 22 --
server/dcc.h | 6 ++
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/server
with the relevant DC.
v2: (suggestions from Frediano)
- Don't stop the stream regardless of whether gl_draw is ongoing
or not
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/video-stream.cpp | 7 ++-
1 file changed, 6
code from display_channel_create_stream()
into a separate function that is reused when creating gl_draw_stream
v3:
- Create a new primary surface whenever a new stream gets created
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
of XXX_CAST macro.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc.cpp | 22 --
server/dcc.h | 6 ++
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/server/dcc.cpp b/server/dcc.cpp
-by: Vivek Kasireddy
---
meson.build| 2 +-
server/gstreamer-encoder.c | 164 ++---
2 files changed, 135 insertions(+), 31 deletions(-)
diff --git a/meson.build b/meson.build
index b1237e61..d6aea60a 100644
--- a/meson.build
+++ b/meson.build
@@ -131,7
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc-send.cpp| 153 +
server/video-encoder.h | 13
2 files changed, 137 insertions(+), 29 deletions(-)
diff --git a/server/dcc-send.cpp b/server
failed
- Rebase all patches on master
v2:
- Update all patches to address review comments from Frediano
- Tested this series with msdkh264enc/dec plugins that will be added
in another patch series
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Vivek Kasire
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc-send.cpp| 152 +
server/video-encoder.h | 13
2 files changed, 136 insertions(+), 29 deletions(-)
diff --git a/server/dcc-send.cpp b/server
-by: Vivek Kasireddy
---
meson.build| 2 +-
server/gstreamer-encoder.c | 164 ++---
2 files changed, 135 insertions(+), 31 deletions(-)
diff --git a/meson.build b/meson.build
index b1237e61..d6aea60a 100644
--- a/meson.build
+++ b/meson.build
@@ -131,7
code from display_channel_create_stream()
into a separate function that is reused when creating gl_draw_stream
v3:
- Create a new primary surface whenever a new stream gets created
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
with the relevant DC.
v2: (suggestions from Frediano)
- Don't stop the stream regardless of whether gl_draw is ongoing
or not
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/video-stream.cpp | 7 ++-
1 file changed, 6
surface creation from Qemu.
- Rebase all patches on master
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Vivek Kasireddy (5):
dcc: Check to see if the client supports multiple codecs (v2)
dcc: Create a stream associated with gl_draw for non-gl clients (v3)
dcc
of XXX_CAST macro.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc.cpp | 22 --
server/dcc.h | 6 ++
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/server/dcc.cpp b/server/dcc.cpp
Signed-off-by: Vivek Kasireddy
---
server/gstreamer-encoder.c | 41 +-
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/server/gstreamer-encoder.c b/server/gstreamer-encoder.c
index d08de35a..40882f69 100644
--- a/server/gstreamer-encoder.c
+++ b/server
the g_once mechanism to cache and return the preferred format
after validating it
Cc: Frediano Ziglio
Cc: Dongwon Kim
Based-on-patch-by: Hazwan Arif Mazlan
Signed-off-by: Jin Chung Teng
Signed-off-by: Vivek Kasireddy
---
server/gstreamer-encoder.c | 41
e elements to NULL after the call to gst_bin_add_many()
to indicate ownership transfer
- Don't forget to unref appsink and appsrc elements when an error occurs
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Signed-off-by: Hazwan A
hange type and determine plugins array length using G_N_ELEMENTS
- Free vpp_name immediately after using it to prevent leak
- Rebase on master
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Signed-off-by: Hazwan Arif Mazlan
Signed-o
strstr
- Include the string "_hw_" in function names that deal with
h/w based plugins
- Rebase on master
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Co-developed-by: Jin Chung Teng
Co-developed-by: Hazwan Arif Mazlan
---
the impact of overriding
the default encoding format (Frediano)
v3:
- Free converter when pipeline creation fails due to invalid codec
- Rebase on master
Cc: Frediano Ziglio
Cc: Dongwon Kim
Based-on-patch-by: Hazwan Arif Mazlan
Signed-off-by: Jin Chung Teng
Signed-off-by: Vivek Kasireddy
: Jin Chung Teng
Signed-off-by: Vivek Kasireddy
---
common/Makefile.am | 3 ++
common/meson.build | 2 ++
common/udev.c | 78 ++
common/udev.h | 33
configure.ac | 1 +
m4/spice-deps.m4 | 12 +++
meson.build
for playbin3 element as well
Cc: Frediano Ziglio
Cc: Dongwon Kim
Cc: Hazwan Arif Mazlan
Signed-off-by: Jin Chung Teng
Signed-off-by: Vivek Kasireddy
---
src/channel-display-gst.c | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/channel-display-gst.c b/src
Added relevant encoder options for mjpeg and vp9 codecs (Jin Chung)
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Co-developed-by: Jin Chung Teng
Co-developed-by: Hazwan Arif Mazlan
---
server/gstreamer-encoder.c
-by: Vivek Kasireddy
Signed-off-by: Hazwan Arif Mazlan
Signed-off-by: Jin Chung Teng
---
src/channel-display-gst.c | 216 ++
1 file changed, 194 insertions(+), 22 deletions(-)
diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
index 5c9927b
Signed-off-by: Vivek Kasireddy
---
common/meson.build | 2 ++
common/udev.c | 78 ++
common/udev.h | 33
configure.ac | 1 +
m4/spice-deps.m4 | 12 +++
meson.build| 7 +
6 files changed, 133
the impact of overriding
the default encoding format (Frediano)
Cc: Frediano Ziglio
Cc: Dongwon Kim
Based-on-patch-by: Hazwan Arif Mazlan
Signed-off-by: Jin Chung Teng
Signed-off-by: Vivek Kasireddy
---
server/gstreamer-encoder.c | 23 ++-
1 file changed, 18 insertions
zwan Arif Mazlan
Vivek Kasireddy (2):
channel-display-gst: Prefer playbin3 to playbin (v2)
channel-display-gst: Use h/w based decoders with Intel GPUs if
possible (v3)
src/channel-display-gst.c | 228 +-
1 file changed, 203 insertions(+), 25 deletions(-)
--
2.39.2
- Moved the code that launches the Gst pipeline into a helper that
is used while trying h/w based plugins
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Signed-off-by: Hazwan Arif Mazlan
Signed-off-by: Jin Chung Teng
---
src
: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Co-developed-by: Jin Chung Teng
Co-developed-by: Hazwan Arif Mazlan
---
server/gstreamer-encoder.c | 96 --
1 file changed, 93 insertions(+), 3 deletions(-)
diff --git a/
: Hazwan Arif Mazlan
Cc: Jin Chung Teng
Signed-off-by: Vivek Kasireddy
---
common/meson.build | 2 ++
common/udev.c | 60 ++
common/udev.h | 12 ++
meson.build| 7 ++
4 files changed, 81 insertions(+)
create mode 100644
: Dongwon Kim
Signed-off-by: Hazwan Arif Mazlan
Signed-off-by: Jin Chung Teng
Signed-off-by: Vivek Kasireddy
---
server/gstreamer-encoder.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/gstreamer-encoder.c b/server/gstreamer-encoder.c
index d8af91f1..057509b5 100644
s_bo_unreference:166: Input null ptr
[MOS]: CRITICAL - mos_bo_unreference:166: Input null ptr
Cc: Frediano Ziglio
Cc: Dongwon Kim
Cc: Jin Chung Teng
Cc: Hazwan Arif Mazlan
Signed-off-by: Vivek Kasireddy
---
src/channel-display-gst.c | 4
1 file changed, 4 deletions(-)
diff --git a/src/c
Adding the string "stream-format=byte-stream" to decoder capabilities
(dec_caps) for h264/h265 codecs stops Gstreamer from complaining
about missing stream format.
Cc: Frediano Ziglio
Cc: Dongwon Kim
Cc: Jin Chung Teng
Cc: Hazwan Arif Mazlan
Signed-off-by: Vivek Kasireddy
---
s
Chung Teng
Signed-off-by: Vivek Kasireddy
---
src/channel-display-gst.c | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/channel-display-gst.c b/src/channel-display-gst.c
index 36db3a3..3f46a65 100644
--- a/src/channel-display-gst.c
+++ b/src/channel-display-gst.c
to prioritize plugins in the order msdk > va > vaapi
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Cc: Jin Chung Teng
Cc: Hazwan Arif Mazlan
Vivek Kasireddy (4):
channel-display-gst: Prefer playbin3 to playbin
channel-display-gst: Add "byte-stream&quo
with the relevant DC.
v2: (suggestions from Frediano)
- Don't stop the stream regardless of whether gl_draw is ongoing
or not
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/video-stream.cpp | 7 ++-
1 file changed, 6
of XXX_CAST macro.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc.cpp | 22 --
server/dcc.h | 6 ++
2 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/server/dcc.cpp b/server/dcc.cpp
-by: Vivek Kasireddy
---
meson.build| 2 +-
server/gstreamer-encoder.c | 164 ++---
2 files changed, 135 insertions(+), 31 deletions(-)
diff --git a/meson.build b/meson.build
index ef8b41ad..d66fac10 100644
--- a/meson.build
+++ b/meson.build
@@ -131,7
patches to address review comments from Frediano
- Tested this series with msdkh264enc/dec plugins that will be added
in another patch series
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Vivek Kasireddy (5):
dcc: Check to see if the client supports multiple
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc-send.cpp| 152 +
server/video-encoder.h | 13
2 files changed, 136 insertions(+), 29 deletions(-)
diff --git a/server/dcc-send.cpp b/server
code from display_channel_create_stream()
into a separate function that is reused when creating gl_draw_stream
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc.cpp | 9 +++
server/display-channel
is h264, we then create
a pipeline using msdkh264dec and vaapipostproc elements instead of
avdec_h264 and videoconvert.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Signed-off-by: Mazlan, Hazwan Arif
Signed-off-by: Teng, Jin Chung
based encoder/decoder is to
remove the msdk and or vaapi plugins from GST_PLUGIN_PATH. This
might be desirable for debugging purposes or for other reasons.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Cc: Mazlan, Hazwan Arif
Cc: Teng, Jin Chung
Vivek Kasireddy (1
as the preferred codec format,
msdkh264enc and vaapipostproc will be added instead of x264enc
and videoconvert.
Cc: Frediano Ziglio
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
Signed-off-by: Mazlan, Hazwan Arif
Signed-off-by: Teng, Jin Chung
---
meson.build
fd as input), we then send it
over to the client. Also, as soon as the encoder notifies that
it is no longer using the dmabuf fd, we send a gl_draw_done async
to the application.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc-send.cpp
client (dcc).
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/video-stream.cpp | 21 -
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/server/video-stream.cpp b/server/video-stream.cpp
index 03a7d68d..b7f3d2c5
that the source_fps value is always non-zero.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
meson.build| 2 +-
server/gstreamer-encoder.c | 119 -
2 files changed, 118 insertions(+), 3 deletions(-)
diff --git
Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Vivek Kasireddy (5):
dcc: Check to see if the client supports multiple codecs
dcc: Create a stream associated with gl_draw for non-gl clients
dcc-send: Encode and send gl_draw stream data to the remote client
gstreamer-encoder: Add an encoder
Signed-off-by: Vivek Kasireddy
---
server/dcc-private.h| 2 ++
server/dcc.cpp | 14 +
server/video-stream.cpp | 44 +
server/video-stream.h | 2 ++
4 files changed, 62 insertions(+)
diff --git a/server/dcc-private.h b/server/dcc
We need to determine if the client is new enough to support multiple
codecs -- which might include any of the Gstreamer based ones.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc-private.h | 2 ++
server/dcc.cpp
If a drawable contains a valid dmabuf fd, then it makes sense to
create a stream for it right away.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/video-stream.cpp | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git
Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
meson.build| 2 +-
server/gstreamer-encoder.c | 48 +++---
server/video-encoder.h | 7 ++
3 files changed, 53 insertions(+), 4 deletions(-)
diff --git
is done using the fd.
v2:
- Used the already existing gl_scanout and gl_draw_async APIs instead
of adding new ones.
- Slightly refactored and improved the commits and their messages.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Vivek Kasireddy (5):
gstreamer-encoder: Use
Signed-off-by: Vivek Kasireddy
---
server/red-qxl.cpp | 14 ++
server/spice-qxl.h | 4 ++--
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/server/red-qxl.cpp b/server/red-qxl.cpp
index 48c293ae..14380a60 100644
--- a/server/red-qxl.cpp
+++ b/server/red-qxl.cpp
If the scanout has a valid dmabuf fd, then store a copy of it
in the drawable. This is one of the first steps needed to
share the dmabuf fd with the encoder.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/display-channel.cpp | 9
count for different situations
- Creates an object of type VideoEncoderDmabufData and populates
it with relevant data such as fd, callback, etc.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/dcc-send.cpp| 30
If the drawable contains a valid dmabuf fd, then allocate Gst memory
using a dmabuf allocator. And, register a callback with the pipeline
to trigger an async when the dmabuf is no longer in use.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
If the scanout has a valid dmabuf fd, then it is extracted and a
copy (of the fd) is stored in the drawable.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/red-parse-qxl.cpp | 8
server/red-parse-qxl.h | 1 +
2 files changed, 9
If the drawable contains a valid dmabuf fd, then a stream needs
to be created for all the display channels.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/video-stream.cpp | 14 +++---
1 file changed, 11 insertions(+), 3 deletions
This async is triggered by the encoder indicating that the
encoding process is completed.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Signed-off-by: Vivek Kasireddy
---
server/display-channel.cpp | 9 +
server/display-channel.h | 2 ++
server/red-qxl.cpp | 26
and remote-viewer using the x264enc/dec
codec to stream the Guest desktop but it can be extended to other
plugins and applications.
Cc: Gerd Hoffmann
Cc: Marc-André Lureau
Cc: Dongwon Kim
Vivek Kasireddy (4):
red-parse-qxl: Extract the dmabuf fd from the scanout
display-channel: Add the asyncs
84 matches
Mail list logo