<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <meta http-equiv="CONTENT-TYPE" content="text/html; charset=UTF-8">
    <p class="western" style="margin-bottom: 0cm">I am getting
      frustrated
      making 'negative progress' with my project.</p>
    <p class="western" style="margin-bottom: 0cm">I have 2 machines.</p>
    <p class="western" style="margin-bottom: 0cm">The 'Live Machine'
      runs
      a 64 bit version of Fedora, and has a video capture card. Access
      to
      this machine is not very convenient and Internet access is also
      not
      convenient.</p>
    <p class="western" style="margin-bottom: 0cm">At home I have an old
      'Development Machine' which runs a 32 bit version of Fedora, does
      not
      have a video capture card, but does have a USB webcam. It has easy
      access to the Internet.</p>
    <p class="western" style="margin-bottom: 0cm">On the live machine I
      have a working program that records a video (mp4) file and an
      audio
      (wav) file concurrently. I want to tee the video off to create a
      small monitor window while the program is recording – a
      'viewfinder' if you like.</p>
    <p class="western" style="margin-bottom: 0cm">Thus far, the pipeline
      does not make it all the way to 'PLAYING' when I add into the
      pipeline the additional elements I think I need for my viewfinder
      –
      and I cannot see why. So, I tried to test it on my development
      machine. As part of the pipeline, I use “x264enc ! Mp4mux” - but
      on the development machine I see the message (in the trace log)</p>
    <pre class="western">0:00:03.937134344  1604  0x8990980 INFO               structure gststructure.c:2854:gst_structure_get_valist: Expected field 'channel-mask' in structure: audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1;
0:00:03.936178253  1604  0x8990a30 INFO                    task gsttask.c:302:gst_task_func:<vid-source:src> Task resume from paused
0:00:03.945953183  1604  0x8990a30 INFO                    v4l2 gstv4l2object.c:2729:gst_v4l2_object_get_caps:<vid-source> probed caps: video/x-raw, format=(string)I420, width=(int)352, height=(int)292, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YV12, width=(int)352, height=(int)292, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)BGR, width=(int)352, height=(int)292, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGB, width=(int)352, height=(int)292, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 100/1 ]
0:00:03.946255699  1604  0x8990a30 INFO                 x264enc gstx264enc.c:509:gst_x264_enc_add_x264_chroma_format: This x264 build supports 8-bit depth
0:00:03.946404915  1604  0x8990a30 INFO                 x264enc gstx264enc.c:509:gst_x264_enc_add_x264_chroma_format: This x264 build supports 8-bit depth
0:00:03.946987781  1604  0x8990a30 WARN                 basesrc gstbasesrc.c:2865:gst_base_src_loop:<vid-source> error: Internal data flow error.
0:00:03.948398246  1604  0x8990a30 WARN                 basesrc gstbasesrc.c:2865:gst_base_src_loop:<vid-source> error: streaming task paused, reason not-negotiated (-4)
0:00:03.948507201  1604  0x8990a30 INFO        GST_ERROR_SYSTEM gstelement.c:1835:gst_element_message_full:<vid-source> posting message: Internal data flow error.
0:00:03.948590508  1604  0x8990a30 INFO        GST_ERROR_SYSTEM gstelement.c:1858:gst_element_message_full:<vid-source> posted error message: Internal data flow error.
0:00:03.948641377  1604  0x8990a30 INFO                    task gsttask.c:300:gst_task_func:<vid-source:src> Task going to paused
Error: Internal data flow error.</pre>
    <p class="western" style="margin-bottom: 0cm">
      I don't know whether 'This x264 build supports 8-bit depth' is a
      boast or a complaint – or purely information, but coming just in
      front of the 'not-negotiated (-4)' leads me to suppose that it is
      a
      problem. I don't know what I might do to my pipeline to allow it
      to
      work, so I tried to find an alternative pair of video encoder and
      mux, so that (on my development PC) I could investigate why I
      can't
      tee off the video. I was not able to find anything which would
      work.</p>
    <p class="western" style="margin-bottom: 0cm">I then tried another
      tack – to see if I could simply code up the elements to make a
      monitor. So I tried a pipeline of “v4l2src ! videorate !
      videoscale ! video/x-raw,width=(int)352,height=(int)292 !
      autovideosink. Once again, I got a not-negotiated error</p>
    <pre class="western">gstbin.c:2656:gst_bin_change_state_func:<camera> child 'vidsrc' changed state to 4(PLAYING) successfully
0:00:05.370134748  2500  0x9493520 INFO        GST_ELEMENT_PADS gstelement.c:894:gst_element_get_static_pad: no such pad 'sink' in element "vidsrc"
0:00:05.386283440  2500  0x9493520 INFO                    v4l2 gstv4l2object.c:1247:gst_v4l2_object_fill_format_list:<vidsrc> got 4 format(s):
0:00:05.386626594  2500  0x9493520 INFO                    v4l2 gstv4l2object.c:1253:gst_v4l2_object_fill_format_list:<vidsrc>   YU12 (emulated)
0:00:05.386753887  2500  0x9493520 INFO                    v4l2 gstv4l2object.c:1253:gst_v4l2_object_fill_format_list:<vidsrc>   YV12 (emulated)
0:00:05.386875965  2500  0x9493520 INFO                    v4l2 gstv4l2object.c:1253:gst_v4l2_object_fill_format_list:<vidsrc>   BGR3 (emulated)
0:00:05.386959581  2500  0x9493520 INFO                    v4l2 gstv4l2object.c:1253:gst_v4l2_object_fill_format_list:<vidsrc>   RGB3 (emulated)
0:00:05.387345042  2500  0x9493520 INFO                    v4l2 gstv4l2object.c:2729:gst_v4l2_object_get_caps:<vidsrc> probed caps: video/x-raw, format=(string)I420, width=(int)352, height=(int)292, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)YV12, width=(int)352, height=(int)292, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)BGR, width=(int)352, height=(int)292, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 100/1 ]; video/x-raw, format=(string)RGB, width=(int)352, height=(int)292, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 100/1 ]
0:00:05.388117725  2500  0x9493520 WARN                 basesrc gstbasesrc.c:2865:gst_base_src_loop:<vidsrc> error: Internal data flow error.
0:00:05.391941259  2500  0x9493520 WARN                 basesrc gstbasesrc.c:2865:gst_base_src_loop:<vidsrc> error: streaming task paused, reason not-negotiated (-4)
0:00:05.392081470  2500  0x9493520 INFO        GST_ERROR_SYSTEM gstelement.c:1835:gst_element_message_full:<vidsrc> posting message: Internal data flow error.</pre>
    <p class="western" style="margin-bottom: 0cm">
      I have, previously, used camerabin on the development machine, and
      there the caps of “video/x-raw, format=(string)I420,
      width=(int)352, height=(int)292” worked.</p>
    <p class="western" style="margin-bottom: 0cm"><br>
    </p>
    <p class="western" style="margin-bottom: 0cm">Is my problem to do
      with using v4l2src as the source? Is there some other source I
      should
      use with my webcam? Should I use some other sink than
      autovideosink?
      Help!<br>
    </p>
    <p class="western" style="margin-bottom: 0cm"><br>
    </p>
    <title></title>
    <meta name="GENERATOR" content="OpenOffice 4.1.1 (Win32)">
    <style type="text/css">
        <!--
                @page { margin: 2cm }
                P { margin-bottom: 0.21cm }
        -->
        </style>
    <div class="moz-cite-prefix">On 17/11/2014 18:32, Ian Davidson
      wrote:<br>
    </div>
    <blockquote cite="mid:546A3F55.5000306@blueyonder.co.uk" type="cite">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      I have had another opportunity to test my program, both in its
      original form and with my attempted improvements.<br>
      <br>
      I notice that the 'working version' does set a timestamp in the
      Auto Ring Buffer to 99:99:99.999999999 several times, but it does
      eventually stop and then the pipeline reports that it has
      transitioned to the PLAYING state.  However, if I add my extra
      elements to the pipeline, whether I link them or not, the pipeline
      never transitions to the PLAYING state and is constantly filling
      the buffer with timestamps.<br>
      <br>
      I accept that I may have done something foolish - but if I could
      see it I would not be writing here.<br>
      <br>
      Any pointers would be appreciated.<br>
      <br>
      Ian<br>
      <div class="moz-cite-prefix">On 04/11/2014 16:00, Ian Davidson
        wrote:<br>
      </div>
      <blockquote cite="mid:5458F825.3040101@blueyonder.co.uk"
        type="cite">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        <meta http-equiv="CONTENT-TYPE" content="text/html;
          charset=UTF-8">
        <p class="western" style="margin-bottom: 0cm">I have a program
          (written in C and using GStreamer 1.0) which works. I take
          input from v4l2src and alsasrc and mux them together and save
          an mp4 file. I also tee off the audio early on and save it as
          a wav file.</p>
        <p class="western" style="margin-bottom: 0cm">However, I have no
          confirmation that I actually have a video signal to record.
          So, I decided to enhance the program by teeing the video off,
          right after the v4l2src and send it to an autovideosink to act
          as a monitor. The result was not 100% successful. The monitor
          window appears with a picture in it – but then everything
          seems to freeze up. Looking at a trace (--gst-debug-level=4)
          appears to loop for ever setting a timestamp to
          99:99:99.999999999.</p>
        <p class="western" style="margin-bottom: 0cm"><br>
        </p>
        <p class="western" style="margin-bottom: 0cm">I have copied part
          of my program below. The elements I have added are defined in
          the line GstElement *videotee, *queue5, *monscale,
          *moncapsfilter, *videosink;</p>
        <p class="western" style="margin-bottom: 0cm"><br>
        </p>
        <p class="western" style="margin-bottom: 0cm">I have also
          included the beginning of the Trace output. To my untrained
          eye, everything seems to link together OK, but then it gets
          stuck with the timestamps. Any pointers as to where I am going
          wrong would be appreciated.</p>
      </blockquote>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
gstreamer-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>