<div dir="ltr">i can see <i style="color:rgb(0,0,0);font-family:"PingFang SC";font-size:medium">Vinod Kesti's </i>reply at :<a href="https://lists.freedesktop.org/archives/gstreamer-devel/2019-April/date.html">https://lists.freedesktop.org/archives/gstreamer-devel/2019-April/date.html</a>; but i can't receive the mail in my box. it is strange.<div><br></div><div>according to Kesti's reply:</div><div>I use v4l2h264enc on nxp imx8 board, I don't think the reason is that v4l2h264enc doesn't support nv12 format. because if i use videotestsrc instead, the program runs ok.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Halley Zhao <<a href="mailto:aihua.halley.zhao@gmail.com">aihua.halley.zhao@gmail.com</a>> 于2019年4月30日周二 下午2:24写道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div id="gmail-m_-1148427201849366711gmail-:24a" class="gmail-m_-1148427201849366711gmail-ii gmail-m_-1148427201849366711gmail-gt" style="font-size:14px;direction:ltr;margin:8px 0px 0px;padding:0px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif"><div id="gmail-m_-1148427201849366711gmail-:249" class="gmail-m_-1148427201849366711gmail-a3s gmail-m_-1148427201849366711gmail-aXjCH" style="overflow:hidden;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:small;line-height:1.5;font-family:Arial,Helvetica,sans-serif"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi expert:<div>I try to use appsrc-->videoencode-->appsink, but got the following error. "transform could not transform video/x-raw, format=(string)NV12, width=(int)640, height=(int)480, framerate=(fraction)25/1 in anything we support".</div><div>while if I use videotestsrc-->videoencode-->appsink, there is no such error. I don't know where is the mistake:</div><div>“</div><div>0:00:00.159532875 30661 0xabcff20 FIXME default gstutils.c:3963:gst_pad_create_stream_id_internal:<source:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id</div><div>0:00:00.160083500 30661 0xabcff20 WARN basetransform gstbasetransform.c:1355:gst_base_transform_setcaps:<capsfilter0> transform could not transform video/x-raw, format=(string)NV12, width=(int)640, height=(int)480, framerate=(fraction)25/1 in anything we support</div><div>(cb_need_data, 126)#######################</div><div>(readTestData, 91)</div><div>(readTestData, 102)target frame num: 0, read_ret: 460800</div><div>0:00:00.161770500 30661 0xabcff20 WARN basetransform gstbasetransform.c:1355:gst_base_transform_setcaps:<capsfilter0> transform could not transform video/x-raw, format=(string)NV12, width=(int)640, height=(int)480, framerate=(fraction)25/1 in anything we support</div><div>0:00:00.161995625 30661 0xabcff20 WARN basetransform gstbasetransform.c:1355:gst_base_transform_setcaps:<capsfilter0> transform could not transform video/x-raw, format=(string)NV12, width=(int)640, height=(int)480, framerate=(fraction)25/1 in anything we support</div><div>(free_data, 111)</div><div>0:00:00.162342000 30661 0xabcff20 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<source> error: Internal data stream error.</div><div>0:00:00.162377125 30661 0xabcff20 WARN basesrc gstbasesrc.c:3055:gst_base_src_loop:<source> error: streaming stopped, reason not-negotiated (-4)</div><div>(bus_call, 75)Error: Internal data stream error.</div><div>”</div><div><br></div><div>my code piece is as following, and the complete source file as attachment,</div><div>"</div><div> // video source</div><div> g_object_set (G_OBJECT (videosrc), "num-buffers", 50, NULL);</div><div> GstCaps *capsSource = gst_caps_new_simple("video/x-raw", "format", G_TYPE_STRING,"NV12",</div><div> "width", G_TYPE_INT, g_video_width,</div><div> "height", G_TYPE_INT, g_video_height,</div><div> "framerate", GST_TYPE_FRACTION, 25, 1,</div><div> NULL);</div><div> if (!strcmp(g_src_name, "videotestsrc")) {</div><div> DEBUG("uses videotestsrc");</div><div> } else if (!strcmp(g_src_name, "appsrc")) {</div><div> g_signal_connect (videosrc, "need-data", G_CALLBACK (cb_need_data), NULL);</div><div> g_object_set(G_OBJECT (videosrc), "caps", capsSource, NULL);</div><div> } else {</div><div> ERROR("Not considered yet");</div><div> }</div><div> ret = gst_element_link_filtered(videosrc, videoencode, capsSource);</div><div> gst_caps_unref(capsSource);</div><div> capsSource = NULL;</div><div> if (ret != TRUE) {</div><div> WARN("fail to link elements");</div><div> return -1;</div><div> }"</div></div></div></div></div><div class="gmail-m_-1148427201849366711gmail-yj6qo"></div><div class="gmail-m_-1148427201849366711gmail-adL"></div></div></div><div class="gmail-m_-1148427201849366711gmail-hq gmail-m_-1148427201849366711gmail-gt gmail-m_-1148427201849366711gmail-a10" id="gmail-m_-1148427201849366711gmail-:252" style="margin:15px 0px;clear:both;font-size:14px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif"><br class="gmail-m_-1148427201849366711gmail-Apple-interchange-newline"></div></div>
</blockquote></div>