<br><br>
<div class="gmail_quote">2009/6/26 Julien Isorce <span dir="ltr">&lt;<a href="mailto:julien.isorce@gmail.com">julien.isorce@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Forgot this problem then we will use true and false, instead of 0 and 1. Sorry for waste of time.</blockquote>


<div> </div>
<div>No problem - without your help I would be completely stuck and end up being forced to do something drastic like hunt around in the source code before giving up!</div>
<div> </div>
<div> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Phil, can you tell me if <br>gst-launch-0.10.exe dshowvideosrc ! &quot;video/x-dv, systemstream=false, width=640, height=480, framerate=10&quot; ! fakesink<br>

leads to the same result as true ?</blockquote>
<div> </div>
<div>No, it doesn&#39;t. It gives me the usual link error:</div>
<div> </div>
<div>D:\Camera\Common\GStreamer\bin&gt;gst-launch-0.10.exe -v dshowvideosrc ! &quot;video/x-dv, systemstream=false, width=640, height=480, framerate=30&quot; ! fakesink</div>
<div>WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0</div>
<div> </div>
<div> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">About the screenshot. I can see that only the pin00 can be handled by dshowvideosrc because it&#39;s<br>MEDIATYPE_Video and MEDIASUBTYPE_dvsd<br>

but unfortunatelly grapedit does not tell us if it&#39;s FORMAT_DvInfo (case systemstream=true)<br>or FORMAT_VideoInfo (case systemstream=false)<br>About the warnings, do not care about it, it seems that granularityVideoWidth/Height are not set by your camera driver.<br>

Or has no sense in case of systemstream=true.</blockquote>
<div> </div>
<div>Ok, thanks.</div>
<div> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Anyway, for now I just do not know how to decode or render a video/x-dv, systemstream=true.<br>I am sure someone else knows ?</blockquote>


<div> </div>
<div>Good idea with the ffdemux_dv. The command you suggested didn&#39;t quite work, but once I added the dv decoder you suggested in a previous email and added a deinterlacer I managed to get something to display, although I ended up with a pretty bad 0.5-1 fps. Could I be doing something wrong?</div>


<div> </div>
<div>Thanks,</div>
<div> </div>
<div>Phil</div>
<div> </div>
<div> </div>
<div>Without the decoder (runs straight through with no visual output):</div>
<div> </div>
<div>D:\rendell_p\Camera\Common\GStreamer\bin&gt;gst-launch-0.10.exe -v dshowvideosrc ! &quot;video/x-dv, systemstream=true, width=720, height=576, framerate=25&quot; ! ffdemux_dv ! ffmpegcolorspace ! directdrawsink<br>Setting pipeline to PAUSED ...</div>


<div>** (gst-launch-0.10:2500): WARNING **: your desired video size is not valid : 720 mod 1244160 !=0</div>
<div>** (gst-launch-0.10:2500): WARNING **: your desired video size is not valid : 576 mod 1577311108 !=0</div>
<div>/GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25<br>Pipeline is live and does not need PREROLL ...<br>

Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-dv,systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25<br>

/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25<br>/GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25<br>

ERROR: from element /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0: Internal data stream error.<br>Additional debug info:<br>..\..\ext\ffmpeg\gstffmpegdemux.c(1456): gst_ffmpegdemux_loop (): /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0:<br>

streaming stopped, reason not-linked<br>Execution ended after 187550000 ns.<br>Setting pipeline to PAUSED ...<br>Setting pipeline to READY ...<br>/GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:audio_01: caps = NULL<br>

/GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:audio_00: caps = NULL<br>/GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:video_00: caps = NULL<br>/GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:sink: caps = NULL<br>

/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL<br>/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL<br>/GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps = NULL<br>

Setting pipeline to NULL ...<br>FREEING pipeline ...</div>
<div> </div>
<div> </div>
<div>With the decoder and deinterlacing (NOTE: there are no errors until I close the window):</div>
<div> </div>
<div>D:\Camera\Common\GStreamer\bin&gt;gst-launch-0.10.exe -v dshowvideosrc ! &quot;video/x-dv, systemstream=true, width=720, height=576, framerate=25&quot; ! ffdemux_dv ! ffdec_dvvideo ! ffdeinterlace ! ffmpegcolorspace ! directdrawsink<br>

Setting pipeline to PAUSED ...</div>
<div>** (gst-launch-0.10:432): WARNING **: your desired video size is not valid : 720 mod 1244160 !=0</div>
<div>** (gst-launch-0.10:432): WARNING **: your desired video size is not valid : 576 mod 1577311108 !=0</div>
<div>/GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25<br>Pipeline is live and does not need PREROLL ...<br>

Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-dv,systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25<br>

/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25<br>/GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)720, height=(int)576, framerate=(int)25<br>

/GstPipeline:pipeline0/ffdec_dvvideo:ffdec_dvvideo0.GstPad:sink: caps = video/x-dv, width=(int)720, height=(int)576, framerate=(fraction)25/1, systemstream=(boolean)false, format=(fourcc)I420<br>/GstPipeline:pipeline0/ffdec_dvvideo:ffdec_dvvideo0.GstPad:src: caps = video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420<br>

/GstPipeline:pipeline0/GstFFMpegDeinterlace:ffmpegdeinterlace0.GstPad:src: caps= video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420<br>/GstPipeline:pipeline0/GstFFMpegDeinterlace:ffmpegdeinterlace0.GstPad:sink: caps = video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420<br>

/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = video/x-raw-rgb, width=(int)720, height=(int)576, framerate=(fraction)25/1, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216<br>

/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = video/x-raw-yuv, width=(int)720, height=(int)576, framerate=(fraction)25/1, format=(fourcc)I420<br>/GstPipeline:pipeline0/GstDirectDrawSink:directdrawsink0.GstPad:sink: caps = video/x-raw-rgb, width=(int)720, height=(int)576, framerate=(fraction)25/1, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216<br>

ERROR: from element /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0: Internal data stream error.<br>Additional debug info:<br>..\..\ext\ffmpeg\gstffmpegdemux.c(1456): gst_ffmpegdemux_loop (): /GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0:streaming stopped, reason error<br>

Execution ended after 6375163000 ns.<br>Setting pipeline to PAUSED ...<br>Setting pipeline to READY ...<br>/GstPipeline:pipeline0/GstDirectDrawSink:directdrawsink0.GstPad:sink: caps = NULL<br>/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:src: caps = NULL<br>

/GstPipeline:pipeline0/GstFFMpegCsp:ffmpegcsp0.GstPad:sink: caps = NULL<br>/GstPipeline:pipeline0/GstFFMpegDeinterlace:ffmpegdeinterlace0.GstPad:src: caps= NULL<br>/GstPipeline:pipeline0/GstFFMpegDeinterlace:ffmpegdeinterlace0.GstPad:sink: caps = NULL<br>

/GstPipeline:pipeline0/ffdec_dvvideo:ffdec_dvvideo0.GstPad:src: caps = NULL<br>/GstPipeline:pipeline0/ffdec_dvvideo:ffdec_dvvideo0.GstPad:sink: caps = NULL<br>/GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:audio_01: caps = NULL<br>

/GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:audio_00: caps = NULL<br>/GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:video_00: caps = NULL<br>/GstPipeline:pipeline0/ffdemux_dv:ffdemux_dv0.GstPad:sink: caps = NULL<br>

/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL<br>/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL<br>/GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps = NULL<br>

Setting pipeline to NULL ...<br>FREEING pipeline ...</div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"><span id=""></span><br><font color="#888888"><br>Julien<br><br><br><br><br></font>
<div class="gmail_quote">
<div>
<div></div>
<div class="h5">2009/6/26 Phil Rendell <span dir="ltr">&lt;<a href="mailto:philrendell@gmail.com" target="_blank">philrendell@gmail.com</a>&gt;</span><br></div></div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<div>
<div></div>
<div class="h5"><br>
<div class="gmail_quote">2009/6/26 Julien Isorce <span dir="ltr">&lt;<a href="mailto:julien.isorce@gmail.com" target="_blank">julien.isorce@gmail.com</a>&gt;</span> 
<div><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><br>
<div class="gmail_quote">2009/6/26 Phil Rendell <span dir="ltr">&lt;<a href="mailto:philrendell@gmail.com" target="_blank">philrendell@gmail.com</a>&gt;</span> 
<div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><br>
<div class="gmail_quote">
<div>Sorry, no joy with this. Both complained about an erroneous pipeline. I don&#39;t think this could be the same error as before with feeding dshowvideosrc into ffmpegcolorspace, as if I remover the systemstream property, or set it to either true or false, gst-launch crashes. Setting it to anything else appears to cause the erroneous pipeline error.</div>


<div> </div>
<div> D:\Camera\Common\GStreamer\bin&gt;gst-launch-0.10.exe -v dshowvideosrc ! &quot;video/x-dv, systemstream=0&quot; ! fakesink<br>WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0</div>
<div>D:\Camera\Common\GStreamer\bin&gt;gst-launch-0.10.exe -v dshowvideosrc ! &quot;video/x-dv, systemstream=1&quot; ! fakesink<br>WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0</div>
<div>D:\Camera\Common\GStreamer\bin&gt;gst-launch-0.10.exe -v dshowvideosrc ! &quot;video/x-dv, systemstream=2&quot; ! fakesink<br>WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0</div>
<div>D:\Camera\Common\GStreamer\bin&gt;gst-launch-0.10.exe -v dshowvideosrc ! fakesink<br>Setting pipeline to PAUSED ...</div>
<div>&lt;Crash&gt;</div>
<div>D:\Camera\Common\GStreamer\bin&gt;</div></div></blockquote></div>
<div><br>I am not sure t follow you. You said &quot;as if I remover the systemstream property, or set it to either true or false&quot;<br>but you got a link error with &quot;video/x-dv, systemstream=1&quot;. Then a crash ?<br>

</div></div></blockquote></div>
<div><br>Sorry, I probably should have laid that out clearer. I actually executed 4 commands there - one for systemstream=0, one for systemstream=1, one for systemstream=2 and the other as before.<br><br>If I do a gst-inspect on dshowvideosrc I can see that systemstream is set to true in one case and false in another. No matter what I set it to I always got a crash. However, now when I execute &#39;gst-launch dshowvideosrc ! &quot;video/x-dv, systemstream=true&quot; ! fakesink&#39; I get a lot of console output, which I assume means everything works fine. I&#39;m really not sure what I&#39;m doing differently now though.<br>

<br></div>
<div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<div class="gmail_quote">
<div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<div class="gmail_quote">
<div></div>
<div>D:\Camera\Common\GStreamer\bin&gt;gst-launch-0.10.exe -v dshowvideosrc ! &quot;video/x-dv, format=dvsd, width=640, height=480, framerate=10&quot; ! fakesink<br>Setting pipeline to PAUSED ...</div>
<div>** (gst-launch-0.10:2448): WARNING **: your desired video size is not valid : 640 mod 1244160 !=0</div>
<div><br>** (gst-launch-0.10:2448): WARNING **: your desired video size is not valid : 480 mod 1577311108 !=0<br>&lt;Crash&gt; <br></div></div></blockquote></div>
<div><br>Could you try to add systemstream property as following:<br><br>gst-launch-0.10.exe -v dshowvideosrc ! &quot;video/x-dv, format=dvsd, width=640, height=480, framerate=10, systemstream=1&quot; ! fakesink<br>and<br>

gst-launch-0.10.exe -v dshowvideosrc ! &quot;video/x-dv, format=dvsd, width=640, height=480, framerate=10, systemstream=0&quot; ! fakesink<br></div>
<div></div></div></blockquote></div>
<div><br>I think my attempts at experimenting are a little bit of a red herring. gst-launch crashes whenever I pass in the format argument. If  I run gst-launch without this property set I still get the warning about the desired video size being invalid and the same type of console output I experienced just setting the caps to &quot;video/x-dv, systemstream=true&quot;:<br>

<br>D:\Camera\Common\GStreamer\bin&gt;gst-launch-0.10.exe -v dshowvideosrc ! &quot;video/x-dv, systemstream=true, width=640, height=480, framerate=10&quot; ! fakesink<br>Setting pipeline to PAUSED ...<br><br>** (gst-launch-0.10:3556): WARNING **: your desired video size is not valid : 640 mod 1244160 !=0<br>

<br>** (gst-launch-0.10:3556): WARNING **: your desired video size is not valid : 480 mod 1577311108 !=0<br><br>/GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps = video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480, framerate=(int)10<br>

Pipeline is live and does not need PREROLL ...<br>Setting pipeline to PLAYING ...<br>New clock: GstSystemClock<br>/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480, framerate=(int)10<br>

/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480, framerate=(int)10<br>/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480, framerate=(int)10<br>

/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = &quot;preroll   *******&quot;<br>/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = &quot;event   ******* E(type: 102, GstEventNewsegment, update=(boolean)false, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_BYTES, start=(gint64)0, stop=(gint64)-1, position=(gint64)0;) 013379C0&quot;<br>

/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = &quot;chain   ******* &lt;(144000 bytes, timestamp: 0:00:00.078125000, duration: 0:00:00.040000000, offset: -1, offset_end: -1, flags: 32) 044D3320&quot;<br>/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = &quot;chain   ******* &lt;(144000 bytes, timestamp: 0:00:00.125000000, duration: 0:00:00.040000000, offset: -1, offset_end: -1, flags: 0) 044D3378&quot;<br>

...<br><br>Again, it doesn&#39;t appear to work when I set systemstream to 0, 1, or 2, only booleans.<br><br>For some reason when I execute &#39;gst-launch dshowvideosrc ! &quot;video/x-dv, systemstream=true, width=640, height=480, framerate=10&quot; ! ffdec_dvvideo ! directdrawsink&#39; I get the link error saying that it cannot link dshowvideosrc0 to ffdec_dvvideo0. Could this be something to do with the format parameter being missing?<br>

 </div>
<div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">
<div class="gmail_quote">
<div><br>The thing I know is that dshowvideosrc implementation goes in a wrong way in case of &quot;video/x-dv, systemstream=1&quot;. <br>I mean it uses FORMAT_VideoInfos fields while it should use FORMAT_DvInfo fields.<br>

Even if I have no dv camera I could try something but <br>first I really have to know if it&#39;s systemstream=0 or 1.</div></div></blockquote></div>
<div>You probably don&#39;t need it now, but I&#39;ve attached a screenshot of the filter dialog in graphedit, which might be able to tell you which systemstream is being used.<br><br></div></div>Thanks,<br><font color="#888888"><br>

Phil<br></font><br></div></div>
<div class="im">------------------------------------------------------------------------------<br><br>_______________________________________________<br>gstreamer-devel mailing list<br><a href="mailto:gstreamer-devel@lists.sourceforge.net" target="_blank">gstreamer-devel@lists.sourceforge.net</a><br>

<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br><br></div></blockquote></div><br><br>------------------------------------------------------------------------------<br>

<br>_______________________________________________<br>gstreamer-devel mailing list<br><a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br><a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>

<br></blockquote></div><br>