<html><head></head><body><div style="color:#000; background-color:#fff; font-family:lucida console, sans-serif;font-size:13px"><div id="yui_3_16_0_ym19_1_1511940677137_12302">The -e option is valid when using gst-launch from the command line.</div><div id="yui_3_16_0_ym19_1_1511940677137_12312">Remove it from your pipeline as it is causing the syntax error.<br></div><div id="yui_3_16_0_ym19_1_1511940677137_12244"><span></span></div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: lucida console, sans-serif; font-size: 13px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"><font size="2" face="Arial"> Le Mercredi 29 novembre 2017 2h08, qjqj <quanjie@live.com> a écrit :<br></font></div>  <br><br> <div class="y_msg_container"><div dir="ltr">Hi,<br clear="none"><br clear="none">I tried both with -e and without -e, the error I got was this:<br clear="none"><br clear="none">[gstreamer] initialized gstreamer, version 1.8.3.0<br clear="none">[gstreamer] gstreamer decoder failed to create pipeline<br clear="none">[gstreamer]    (syntax error)<br clear="none">[gstreamer] failed to init gstCamera<br clear="none"><br clear="none">gst-camera:  failed to initialize video device<br clear="none"><br clear="none">Which is from parser, and here is my source code:<br clear="none"><br clear="none">bool gstCamera::buildLaunchStr()<br clear="none">{<br clear="none">    std::ostringstream ss;<br clear="none">    <br clear="none">    //open ip camera<br clear="none">    ss << " udpsrc port=15004 !";<br clear="none">    ss << " application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay !<br clear="none">h264parse !"; <br clear="none">    ss << " queue ! avdec_h264 ! xvimagesink sync=false async=false -e";<br clear="none">    <br clear="none">    mLaunchStr = ss.str();<br clear="none"><br clear="none">    printf(LOG_GSTREAMER "gstreamer decoder pipeline string:\n");<br clear="none">    printf("%s\n", mLaunchStr.c_str());<br clear="none">    return true;<br clear="none">}<br clear="none"><br clear="none">bool gstCamera::init()<br clear="none">{<br clear="none">    GError* err = NULL;<br clear="none"><br clear="none">    // build pipeline string<br clear="none">    if( !buildLaunchStr() )<br clear="none">    {<br clear="none">        printf(LOG_GSTREAMER "gstreamer decoder failed to build pipeline<br clear="none">string\n");<br clear="none">        return false;<br clear="none">    }<br clear="none"><br clear="none">    // launch pipeline<br clear="none">    mPipeline = gst_parse_launch(mLaunchStr.c_str(), &err);<br clear="none"><br clear="none">    if( err != NULL )<br clear="none">    {<br clear="none">        printf(LOG_GSTREAMER "gstreamer decoder failed to create pipeline\n");<br clear="none">        printf(LOG_GSTREAMER "   (%s)\n", err->message);<br clear="none">        g_error_free(err);<br clear="none">        return false;<br clear="none">    }<br clear="none"><br clear="none">    // get the appsrc<br clear="none">    GstElement* appsinkElement = gst_bin_get_by_name(GST_BIN(pipeline),<br clear="none">"mysink");<br clear="none">    GstAppSink* appsink = GST_APP_SINK(appsinkElement);<br clear="none"><br clear="none">    if( !appsinkElement || !appsink)<br clear="none">    {<br clear="none">        printf(LOG_GSTREAMER "gstreamer failed to retrieve AppSink element from<br clear="none">pipeline\n");<br clear="none">        return false;<br clear="none">    }<br clear="none">    <br clear="none">    mAppSink = appsink;<br clear="none">    <br clear="none">    // setup callbacks<br clear="none">    GstAppSinkCallbacks cb;<br clear="none">    memset(&cb, 0, sizeof(GstAppSinkCallbacks));<br clear="none">    <br clear="none">    cb.eos         = onEOS;<br clear="none">    cb.new_preroll = onPreroll;<br clear="none">    cb.new_sample  = onBuffer;<br clear="none">    <br clear="none">    gst_app_sink_set_callbacks(mAppSink, &cb, (void*)this, NULL);<br clear="none">    <br clear="none">    return true;<div class="yqt3735243324" id="yqtfd62603"><br clear="none">}<br clear="none"><br clear="none"><br clear="none"><br clear="none">--<br clear="none">Sent from: <a shape="rect" href="http://gstreamer-devel.966125.n4.nabble.com/" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/</a><br clear="none">_______________________________________________<br clear="none">gstreamer-devel mailing list<br clear="none"><a shape="rect" ymailto="mailto:gstreamer-devel@lists.freedesktop.org" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br clear="none"><a shape="rect" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br clear="none"></div></div><br><br></div>  </div> </div>  </div></div></body></html>