Android client: gstreamer h264 crash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



spice-server: 0.15 spice-gtk: 0.39

I modified the spice-server to use h264 as default:
--- a/server/reds.cpp
+++ b/server/reds.cpp
@@ -3428,11 +3428,12 @@ err:
 
 static const char default_renderer[] = "sw";
 #if defined(HAVE_GSTREAMER_1_0) || defined(HAVE_GSTREAMER_0_10)
-#define GSTREAMER_CODECS "gstreamer:mjpeg;gstreamer:h264;gstreamer:vp8;gstreamer:vp9;"
+#define GSTREAMER_CODECS "gstreamer:h264;gstreamer:mjpeg;gstreamer:vp8;gstreamer:vp9;"
 #else
 #define GSTREAMER_CODECS ""
 #endif
-static const char default_video_codecs[] = "spice:mjpeg;" GSTREAMER_CODECS;
+//static const char default_video_codecs[] = "spice:mjpeg;" GSTREAMER_CODECS;
+static const char default_video_codecs[] = GSTREAMER_CODECS "spice:mjpeg;";
Then I test the linux client and windows client,they are all normal.But the Android client(aSPICE) crashed:
the server paly video with encode h264, the android client crashed.

2022-03-01 10:05:08.721 13727-13984/com.iiordanov.freeaSPICE D/GLib+GSpice: ../src/decode-glz.c:338 decode_header: 32x19, id 343, ref 0
2022-03-01 10:05:08.733 13727-13975/com.iiordanov.freeaSPICE E/GLib+GLib-GObject: g_type_set_qdata: assertion 'node != NULL' failed
2022-03-01 10:05:08.733 13727-13975/com.iiordanov.freeaSPICE E/GLib+GLib: g_once_init_leave: assertion 'result != 0' failed
2022-03-01 10:05:08.722 13727-13984/com.iiordanov.freeaSPICE D/GLib+GSpice: ../src/decode-glz.c:338 decode_header: 32x11, id 344, ref 0
2022-03-01 10:05:08.734 13727-13975/com.iiordanov.freeaSPICE E/GLib+GLib: g_once_init_leave: assertion 'result != 0' failed
2022-03-01 10:05:08.734 13727-13975/com.iiordanov.freeaSPICE E/signal_handler: Signal handler called with signal: 11,
2022-03-01 10:05:08.724 13727-13727/com.iiordanov.freeaSPICE W/RenderThread: type=1400 audit(0.0:95945): avc: denied { write } for name="sched_assist_boost_freq" dev="proc" ino=4026533817 scontext=u:r:untrusted_app:s0:c40,c257,c512,c768 tcontext=u:object_r:proc_slide_enable:s0 tclass=file permissive=0 app=com.iiordanov.freeaSPICE
2022-03-01 10:05:08.734 13727-13975/com.iiordanov.freeaSPICE I/disconnect: Disconnecting the session.
2022-03-01 10:05:08.733 13727-13975/com.iiordanov.freeaSPICE E/GLib+GLib-GObject: g_pointer_type_register_static: assertion 'g_type_from_name (name) == 0' failed
2022-03-01 10:05:08.734 13727-13975/com.iiordanov.freeaSPICE D/GLib+GSpice: ../src/spice-session.c:2025 session: disconnecting 0
2022-03-01 10:05:08.733 13727-13975/com.iiordanov.freeaSPICE E/GLib+GLib: g_once_init_leave: assertion 'result != 0' failed
2022-03-01 10:05:08.734 13727-13975/com.iiordanov.freeaSPICE E/GLib+GLib: g_once_init_leave: assertion 'result != 0' failed
2022-03-01 10:05:08.734 13727-13975/com.iiordanov.freeaSPICE E/signal_handler: Signal handler called with signal: 11,
2022-03-01 10:05:08.734 13727-13975/com.iiordanov.freeaSPICE I/disconnect: Disconnecting the session.
2022-03-01 10:05:08.734 13727-13975/com.iiordanov.freeaSPICE D/GLib+GSpice: ../src/spice-session.c:2025 session: disconnecting 0
I comment the signal_handle in JNI_OnLoad, and got the tombstone.The crash stack trace:
********** Crash dump: **********
gst_buffer_get_video_meta (GstBuffer * buffer)
{
  gpointer state = NULL;
  GstVideoMeta *out = NULL;
  GstMeta *meta;
  const GstMetaInfo *info = GST_VIDEO_META_INFO;

  while ((meta = gst_buffer_iterate_meta (buffer, &state))) {
    if (meta->info->api == info->api) {
      GstVideoMeta *vmeta = (GstVideoMeta *) meta;
      if (vmeta->id == 0)
        return vmeta;           /* Early out for id 0 */
      if (out == NULL || vmeta->id < out->id)
        out = vmeta;
    }
  }
  return out;
}

info->api, info is NULL。



 


[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]