[gst-devel] Firewire cameras with DirectShow

Julien Isorce julien.isorce at gmail.com
Fri Jun 26 15:52:17 CEST 2009


First I do not understand why you get a difference bettween
systemstream=true and systemstream=1
it should be the same thing.

****Can someone else help us on this exact question:
If a propriety is a boolean, then set it to 1 or True, is the same thing ?

Forgot this problem then we will use true and false, instead of 0 and 1.
Sorry for waste of time.
Well if I resume:

gst-launch-0.10.exe dshowvideosrc ! "video/x-dv, systemstream=true,
width=640, height=480, framerate=10" ! fakesink
works fine (goes to playing state without crash) except the two warnings.

Then gst-inspect-0.10 ffdec_dvvideo shows that ffdec_dvvideo only accepts
systemstream=false.

***Can someone else help us on this other question:
Does gstreamer have a decoder for "video/x-dv, systemstream=true" ? Does it
make sense ?

Phil, can you tell me if
gst-launch-0.10.exe dshowvideosrc ! "video/x-dv, systemstream=false,
width=640, height=480, framerate=10" ! fakesink
leads to the same result as true ?

About the screenshot. I can see that only the pin00 can be handled by
dshowvideosrc because it's
MEDIATYPE_Video and MEDIASUBTYPE_dvsd
but unfortunatelly grapedit does not tell us if it's FORMAT_DvInfo (case
systemstream=true)
or FORMAT_VideoInfo (case systemstream=false)
About the warnings, do not care about it, it seems that
granularityVideoWidth/Height are not set by your camera driver.
Or has no sense in case of systemstream=true.

Anyway, for now I just do not know how to decode or render a video/x-dv,
systemstream=true.
I am sure someone else knows ?

Julien




2009/6/26 Phil Rendell <philrendell at gmail.com>

>
> 2009/6/26 Julien Isorce <julien.isorce at gmail.com>
>
>>
>> 2009/6/26 Phil Rendell <philrendell at gmail.com>
>>>
>>>
>>> Sorry, no joy with this. Both complained about an erroneous pipeline. I
>>> don'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.
>>>
>>>  D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc !
>>> "video/x-dv, systemstream=0" ! fakesink
>>> WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0
>>> D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc !
>>> "video/x-dv, systemstream=1" ! fakesink
>>> WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0
>>> D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc !
>>> "video/x-dv, systemstream=2" ! fakesink
>>> WARNING: erroneous pipeline: could not link dshowvideosrc0 to fakesink0
>>> D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc !
>>> fakesink
>>> Setting pipeline to PAUSED ...
>>> <Crash>
>>> D:\Camera\Common\GStreamer\bin>
>>>
>>
>> I am not sure t follow you. You said "as if I remover the systemstream
>> property, or set it to either true or false"
>> but you got a link error with "video/x-dv, systemstream=1". Then a crash ?
>>
>
> 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.
>
> 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 'gst-launch dshowvideosrc !
> "video/x-dv, systemstream=true" ! fakesink' I get a lot of console output,
> which I assume means everything works fine. I'm really not sure what I'm
> doing differently now though.
>
> D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc !
>>> "video/x-dv, format=dvsd, width=640, height=480, framerate=10" ! fakesink
>>> Setting pipeline to PAUSED ...
>>> ** (gst-launch-0.10:2448): WARNING **: your desired video size is not
>>> valid : 640 mod 1244160 !=0
>>>
>>> ** (gst-launch-0.10:2448): WARNING **: your desired video size is not
>>> valid : 480 mod 1577311108 !=0
>>> <Crash>
>>>
>>
>> Could you try to add systemstream property as following:
>>
>> gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, format=dvsd,
>> width=640, height=480, framerate=10, systemstream=1" ! fakesink
>> and
>> gst-launch-0.10.exe -v dshowvideosrc ! "video/x-dv, format=dvsd,
>> width=640, height=480, framerate=10, systemstream=0" ! fakesink
>>
>
> 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 "video/x-dv, systemstream=true":
>
> D:\Camera\Common\GStreamer\bin>gst-launch-0.10.exe -v dshowvideosrc !
> "video/x-dv, systemstream=true, width=640, height=480, framerate=10" !
> fakesink
> Setting pipeline to PAUSED ...
>
> ** (gst-launch-0.10:3556): WARNING **: your desired video size is not valid
> : 640 mod 1244160 !=0
>
> ** (gst-launch-0.10:3556): WARNING **: your desired video size is not valid
> : 480 mod 1577311108 !=0
>
> /GstPipeline:pipeline0/GstDshowVideoSrc:dshowvideosrc0.GstPad:src: caps =
> video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480,
> framerate=(int)10
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
> video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480,
> framerate=(int)10
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
> video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480,
> framerate=(int)10
> /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps =
> video/x-dv, systemstream=(boolean)true, width=(int)640, height=(int)480,
> framerate=(int)10
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll
> *******"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "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"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> ******* <(144000 bytes, timestamp: 0:00:00.078125000, duration:
> 0:00:00.040000000, offset: -1, offset_end: -1, flags: 32) 044D3320"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> ******* <(144000 bytes, timestamp: 0:00:00.125000000, duration:
> 0:00:00.040000000, offset: -1, offset_end: -1, flags: 0) 044D3378"
> ...
>
> Again, it doesn't appear to work when I set systemstream to 0, 1, or 2,
> only booleans.
>
> For some reason when I execute 'gst-launch dshowvideosrc ! "video/x-dv,
> systemstream=true, width=640, height=480, framerate=10" ! ffdec_dvvideo !
> directdrawsink' 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?
>
>
>>
>> The thing I know is that dshowvideosrc implementation goes in a wrong way
>> in case of "video/x-dv, systemstream=1".
>> I mean it uses FORMAT_VideoInfos fields while it should use FORMAT_DvInfo
>> fields.
>> Even if I have no dv camera I could try something but
>> first I really have to know if it's systemstream=0 or 1.
>>
> You probably don't need it now, but I've attached a screenshot of the
> filter dialog in graphedit, which might be able to tell you which
> systemstream is being used.
>
> Thanks,
>
> Phil
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20090626/1ee858d3/attachment.htm>


More information about the gstreamer-devel mailing list