<div dir="ltr"><div><div>Hi Jerome, i'm Fabrice, congratulations for this work! What you have done is important for crossplatform applications that depends on GStreamer to run. I hope i can test it somehow. <br><br>I'm still using the old 10.6-10.7 OSS Builds 
(<a href="https://code.google.com/p/ossbuild/">https://code.google.com/p/ossbuild/</a>) and i have made some fixes myself long time ago 
on dshowvideosrc so it can work properly with any camera. ( <a href="http://comments.gmane.org/gmane.comp.video.gstreamer.bugs/85395">http://comments.gmane.org/gmane.comp.video.gstreamer.bugs/85395</a>). I'm not sure if they were included.<br>
<br></div><div>Let's stay in touch and again, nice work!<br></div></div><div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-09-02 10:57 GMT-03:00 Jérôme Laheurte <span dir="ltr"><<a href="mailto:jerome-bugzilla@jeromelaheurte.net" target="_blank">jerome-bugzilla@jeromelaheurte.net</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello. Full disclosure: I’m a gstreamer beginner. As the title states, I’m currently porting dshowvideosrc (and dshowaudiosrc) to 1.0 (actually 1.4.1); the sad current state is that it works (at least the video part for now), but I’m not sure why. So here are a bunch of questions:<br>

<br>
1. (audio) I’m guessing the ‘timestamp’ parameter to the read() method is an OUT parameter that must be filled. I tried the following:<br>
<br>
GstClock *clock = gst_element_get_clock(GST_ELEMENT(src));<br>
*timestamp = gst_clock_get_time(clock);<br>
gst_object_unref(clock);<br>
<br>
but I still get discontinuity errors. Am I wrong ? The code is actually the same that produces the timestamp in the video part…<br>
<br>
2. (video) I thought that set_caps() was discontinued in favor of a GST_EVENT_CAPS event on the source pad. But in practice the event is never fired, though set_caps is still invoked (if I override it of course). Quid ? The event function is set in the instance’s init(), using gst_pad_set_event_function(GST_BASE_SRC_PAD(src), xxx).<br>

<br>
3. (video) I removed get_caps() and implemented a query function. GST_QUERY_CAPS is fired, I list the supported caps using the old get_caps method and intersects them with the filter returned by gst_query_parse_caps. gst_base_src_default_negotiate logs a « fixated » set of caps which actually include pretty much every supported cap and the negotiation fails. If I explicitly set the caps (using « gst-launch-1.0 dshowvideosrc ! « video/x-raw, format=I420, width=640, height=480, framerate=30/1! videoconvert ! autovideosink » instead of « gst-launch-1.0 dshowvideosrc !  videoconvert ! autovideosink ») it works. Am I supposed to return only one cap from this query or what ?<br>

<br>
I can put the actual code somewhere if needed, though the setup to build it is kind of a pain in the ass. Which reminds me of another question:<br>
<br>
4. (build) Building this plugin cannot be supported through autoconf. It must be built with Visual since it’s C++ that links with the SDK base classes; G++ and Visual don’t agree on name mangling so… I see that there are a bunch of .sln files that have been discontinued for some time in win32/. I’d rather use CMake since it allows the user to generate a project file for whatever flavor of Visual he likes. That doesn’t go against any philosophical choice in GStreamer does it ?<br>

<br>
I apologize in advance if there’s something really dumb up there :)<br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr"><b>Fabricio Costa</b><br>Moldeo Interactive Coop. Trab. Ltda.<br><a href="http://www.moldeointeractive.com.ar" target="_blank">www.moldeointeractive.com.ar</a><br>
Bonpland 2363 3ro 303 - C.A.B.A. - Argentina<br>(+54911) 6124-4201<br><a href="mailto:fabricio.costa@moldeointeractive.com.ar" target="_blank">fabricio.costa@moldeointeractive.com.ar</a><br><br></div>
</div>