<div dir="ltr">To make my GStreamer app unsinkable (sad to say the GStreamer sometimes freezes after a few days of intensive repetitive usage with dynamic pipes, caps, etc) I decided to start, monitor, and relaunch when needed my media player as a background process. Trouble is:<div>
<br></div><div>the background process fails in the very beginning at</div><div><br></div><div><div>if (gst_element_set_state (pipeline, GST_STATE_PLAYING) ==</div><div> GST_STATE_CHANGE_FAILURE) {</div>
<div> LOG_ERROR("failed to set pipeline to PLAYING");</div><div> EXIT(-1);</div><div>}</div></div><div><br></div><div>whereas it always works OK in the foreground mode.</div><div><br></div>
<div>Note that my</div><div><br></div><div>Display *display = XOpenDisplay (":0");</div><div><br></div><div>Window window = XCreateWindow(display, ...<br></div><div><br></div><div>gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(sink), window);<br>
</div><div><br></div><div>(where sink is ximagesink; I am trying to overlay my ximagesink over an X-window)</div><div><br></div><div>all work OK in the fore- and background modes.</div><div><br></div><div>Of course, I cannot test the void result of gst_video_overlay_set_window_handle.</div>
<div><br></div><div>Any ideas? Thanks!</div><div><br></div><div><br></div></div>