<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">thanks Nicolas.</div><div dir="ltr"><br><div>I tried to add more restriction of my capfilter, then it works. </div></div><div>diff --git a/cow/src/components/gst-test/codec-appsink.c b/cow/src/components/gst-test/codec-appsink.c</div><div>index de420b3..a39f3f9 100644</div><div>--- a/cow/src/components/gst-test/codec-appsink.c</div><div>+++ b/cow/src/components/gst-test/codec-appsink.c</div><div>@@ -223,6 +223,8 @@ main (gint   argc,</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>+                  "interlace-mode", G_TYPE_STRING, "progressive",</div><div>+                  "colorimetry", G_TYPE_STRING, "bt709",</div><div>                   NULL);</div><div>   if (!strcmp(g_src_name, "videotestsrc")) {</div><div>       DEBUG("uses videotestsrc");</div><div><br></div><div>I'm using gst 1.14 version, and from the link here: <a href="https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/423">https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/423</a></div><div>the work around hasn't been included in 1.14 release.</div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Nicolas Dufresne <<a href="mailto:nicolas@ndufresne.ca">nicolas@ndufresne.ca</a>> 于2019年5月1日周三 上午5:25写道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Le mardi 30 avril 2019 à 15:16 +0800, Halley Zhao a écrit :<br>
> i can see Vinod Kesti's reply at :<a href="https://lists.freedesktop.org/archives/gstreamer-devel/2019-April/date.html" rel="noreferrer" target="_blank">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.<br>
<br>
It's GMail fighting against Yahoo email. They pretend that Yahoo is<br>
doing something wrong and randomly mark yahoo email as spam. What I did<br>
is that I have a filter for this ML to place that into a directory and<br>
in the Gmail web-ui there is a check box for no-spam-check for this<br>
label.<br>
<br>
> <br>
> according to Kesti's reply:<br>
> 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.<br>
<br>
I know NXP had a patchset recently that they wanted to upload to<br>
GStreamer, they didn't say for which HW. But instead of doing a merge<br>
request, they pasted the patches. We ask for an MR and they simply<br>
closed the ticket and never came back to us. Maybe that fixes your<br>
issues ?<br>
<br>
<a href="https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/587" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/587</a><br>
<br>
> <br>
> Halley Zhao <<a href="mailto:aihua.halley.zhao@gmail.com" target="_blank">aihua.halley.zhao@gmail.com</a>> 于2019年4月30日周二 下午2:24写道:<br>
> > Hi expert:<br>
> > 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".<br>
> > while if I use videotestsrc-->videoencode-->appsink, there is no such error. I don't know where is the mistake:<br>
> > “<br>
> > 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<br>
> > 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<br>
> > (cb_need_data, 126)#######################<br>
> > (readTestData, 91)<br>
> > (readTestData, 102)target frame num: 0, read_ret: 460800<br>
> > 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<br>
> > 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<br>
> > (free_data, 111)<br>
> > 0:00:00.162342000 30661      0xabcff20 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<source> error: Internal data stream error.<br>
> > 0:00:00.162377125 30661      0xabcff20 WARN                 basesrc gstbasesrc.c:3055:gst_base_src_loop:<source> error: streaming stopped, reason not-negotiated (-4)<br>
> > (bus_call, 75)Error: Internal data stream error.<br>
<br>
format=NV12 might not be the thing that fails to match. Maybe you could<br>
set "GST_DEBUG="v4l2*:7" and attach the log, we could try and find what<br>
is found to be supported by v4l2h264enc.<br>
<br>
> > ”<br>
> > <br>
> > my code piece is as following, and the complete source file as attachment,<br>
> > "<br>
> >   // video source<br>
> >   g_object_set (G_OBJECT (videosrc), "num-buffers", 50, NULL);<br>
> >   GstCaps *capsSource = gst_caps_new_simple("video/x-raw", "format", G_TYPE_STRING,"NV12",<br>
> >                   "width", G_TYPE_INT, g_video_width,<br>
> >                   "height", G_TYPE_INT, g_video_height,<br>
> >                   "framerate", GST_TYPE_FRACTION, 25, 1,<br>
> >                   NULL);<br>
> >   if (!strcmp(g_src_name, "videotestsrc")) {<br>
> >       DEBUG("uses videotestsrc");<br>
> >   } else if (!strcmp(g_src_name, "appsrc")) {<br>
> >     g_signal_connect (videosrc, "need-data", G_CALLBACK (cb_need_data), NULL);<br>
> >     g_object_set(G_OBJECT (videosrc), "caps", capsSource, NULL);<br>
> >   } else {<br>
> >     ERROR("Not considered yet");<br>
> >   }<br>
> >   ret = gst_element_link_filtered(videosrc, videoencode, capsSource);<br>
> >   gst_caps_unref(capsSource);<br>
> >   capsSource = NULL;<br>
> >   if (ret != TRUE) {<br>
> >       WARN("fail to link elements");<br>
> >       return -1;<br>
> >   }"<br>
> > <br>
> <br>
> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></blockquote></div></div></div></div>