Enumering capture devices?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Enumering capture devices?

Francis Rammeloo
I am using the directshowsrc for capturing a camera source. If there
is only one camera it works out of the box without requiring me to
specify a device-name. However when multiple cameras are connected
then I need some way of enumerating the device names. Does GStreamer
provide such a mechanism (similar to DirectShow's System Device
Enumerator)?


Grts,
Francis

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Enumering capture devices?

Julien Isorce
Hi,


Something like that:

#include <gst/interfaces/propertyprobe.h>

GstElement* videodevicesrc = create_element("dshowvideosrc", NULL);
GstPropertyProbe* probe = GST_PROPERTY_PROBE (videodevicesrc);
GValueArray* va = gst_property_probe_get_values_name (probe, "device-name");
for(guint i=0; i < va->n_values; ++i) {
    GValue* v = g_value_array_get_nth(va, i);
    g_print ("one more device: %s\n", g_value_get_string(v));
}
gst_element_set_state (videodevicesrc, GST_STATE_NULL);
gst_object_unref(GST_OBJECT (videodevicesrc));


2010/2/10 Francis Rammeloo <[hidden email]>
I am using the directshowsrc for capturing a camera source. If there
is only one camera it works out of the box without requiring me to
specify a device-name. However when multiple cameras are connected
then I need some way of enumerating the device names. Does GStreamer
provide such a mechanism (similar to DirectShow's System Device
Enumerator)?


Grts,
Francis

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Enumering capture devices?

Francis Rammeloo
That seems to work well. Thanks :)

2010/2/11 Julien Isorce <[hidden email]>:

> Hi,
>
>
> Something like that:
>
> #include <gst/interfaces/propertyprobe.h>
>
> GstElement* videodevicesrc = create_element("dshowvideosrc", NULL);
> GstPropertyProbe* probe = GST_PROPERTY_PROBE (videodevicesrc);
> GValueArray* va = gst_property_probe_get_values_name (probe, "device-name");
> for(guint i=0; i < va->n_values; ++i) {
>     GValue* v = g_value_array_get_nth(va, i);
>     g_print ("one more device: %s\n", g_value_get_string(v));
> }
> gst_element_set_state (videodevicesrc, GST_STATE_NULL);
> gst_object_unref(GST_OBJECT (videodevicesrc));
>
>
> 2010/2/10 Francis Rammeloo <[hidden email]>
>>
>> I am using the directshowsrc for capturing a camera source. If there
>> is only one camera it works out of the box without requiring me to
>> specify a device-name. However when multiple cameras are connected
>> then I need some way of enumerating the device names. Does GStreamer
>> provide such a mechanism (similar to DirectShow's System Device
>> Enumerator)?
>>
>>
>> Grts,
>> Francis
>>
>>
>> ------------------------------------------------------------------------------
>> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
>> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
>> http://p.sf.net/sfu/solaris-dev2dev
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
> ------------------------------------------------------------------------------
> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
> http://p.sf.net/sfu/solaris-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Enumering capture devices?

sumit kumar-11
Hi,
I also tried the same code but getting some linking errors. I have linked with the following libraries: libgio-2.0, libglib-2.0, libgmodule-2.0, libgobject-2.0, libgstbase-0.10, libgstcontroller-0.10 and libgstreamer-0.10. What I am missing? Thanks in advance for your help. The error logs is as below:
 

video_stream.obj : error LNK2019: unresolved external symbol _gst_property_probe_get_values_name referenced in function "void __cdecl chek_vid_dev(void)" (?chek_vid_dev@@YAXXZ)

video_stream.obj : error LNK2019: unresolved external symbol _gst_property_probe_get_type referenced in function "void __cdecl chek_vid_dev(void)" ([hidden email])

 

Regards,
Sumit

On Fri, Feb 12, 2010 at 4:39 AM, Francis Rammeloo <[hidden email]> wrote:
That seems to work well. Thanks :)

2010/2/11 Julien Isorce <[hidden email]>:
> Hi,
>
>
> Something like that:
>
> #include <gst/interfaces/propertyprobe.h>
>
> GstElement* videodevicesrc = create_element("dshowvideosrc", NULL);
> GstPropertyProbe* probe = GST_PROPERTY_PROBE (videodevicesrc);
> GValueArray* va = gst_property_probe_get_values_name (probe, "device-name");
> for(guint i=0; i < va->n_values; ++i) {
>     GValue* v = g_value_array_get_nth(va, i);
>     g_print ("one more device: %s\n", g_value_get_string(v));
> }
> gst_element_set_state (videodevicesrc, GST_STATE_NULL);
> gst_object_unref(GST_OBJECT (videodevicesrc));
>
>
> 2010/2/10 Francis Rammeloo <[hidden email]>
>>
>> I am using the directshowsrc for capturing a camera source. If there
>> is only one camera it works out of the box without requiring me to
>> specify a device-name. However when multiple cameras are connected
>> then I need some way of enumerating the device names. Does GStreamer
>> provide such a mechanism (similar to DirectShow's System Device
>> Enumerator)?
>>
>>
>> Grts,
>> Francis
>>
>>
>> ------------------------------------------------------------------------------
>> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
>> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
>> http://p.sf.net/sfu/solaris-dev2dev
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
> ------------------------------------------------------------------------------
> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
> http://p.sf.net/sfu/solaris-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Enumering capture devices?

Francis Rammeloo
I think you also need to link with libgstinterfaces-0.10.

Grts,
Francis

2010/2/22 sumit kumar <[hidden email]>:

> Hi,
> I also tried the same code but getting some linking errors. I have linked
> with the following libraries: libgio-2.0, libglib-2.0, libgmodule-2.0,
> libgobject-2.0, libgstbase-0.10, libgstcontroller-0.10 and
> libgstreamer-0.10. What I am missing? Thanks in advance for your help. The
> error logs is as below:
>
>
> video_stream.obj : error LNK2019: unresolved external symbol
> _gst_property_probe_get_values_name referenced in function "void __cdecl
> chek_vid_dev(void)" (?chek_vid_dev@@YAXXZ)
>
> video_stream.obj : error LNK2019: unresolved external symbol
> _gst_property_probe_get_type referenced in function "void __cdecl
> chek_vid_dev(void)" (?chek_vid_dev@@YAXXZ)
>
>
>
> Regards,
> Sumit
>
> On Fri, Feb 12, 2010 at 4:39 AM, Francis Rammeloo
> <[hidden email]> wrote:
>>
>> That seems to work well. Thanks :)
>>
>> 2010/2/11 Julien Isorce <[hidden email]>:
>> > Hi,
>> >
>> >
>> > Something like that:
>> >
>> > #include <gst/interfaces/propertyprobe.h>
>> >
>> > GstElement* videodevicesrc = create_element("dshowvideosrc", NULL);
>> > GstPropertyProbe* probe = GST_PROPERTY_PROBE (videodevicesrc);
>> > GValueArray* va = gst_property_probe_get_values_name (probe,
>> > "device-name");
>> > for(guint i=0; i < va->n_values; ++i) {
>> >     GValue* v = g_value_array_get_nth(va, i);
>> >     g_print ("one more device: %s\n", g_value_get_string(v));
>> > }
>> > gst_element_set_state (videodevicesrc, GST_STATE_NULL);
>> > gst_object_unref(GST_OBJECT (videodevicesrc));
>> >
>> >
>> > 2010/2/10 Francis Rammeloo <[hidden email]>
>> >>
>> >> I am using the directshowsrc for capturing a camera source. If there
>> >> is only one camera it works out of the box without requiring me to
>> >> specify a device-name. However when multiple cameras are connected
>> >> then I need some way of enumerating the device names. Does GStreamer
>> >> provide such a mechanism (similar to DirectShow's System Device
>> >> Enumerator)?
>> >>
>> >>
>> >> Grts,
>> >> Francis
>> >>
>> >>
>> >>
>> >> ------------------------------------------------------------------------------
>> >> SOLARIS 10 is the OS for Data Centers - provides features such as
>> >> DTrace,
>> >> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
>> >> http://p.sf.net/sfu/solaris-dev2dev
>> >> _______________________________________________
>> >> gstreamer-devel mailing list
>> >> [hidden email]
>> >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>> >
>> >
>> >
>> > ------------------------------------------------------------------------------
>> > SOLARIS 10 is the OS for Data Centers - provides features such as
>> > DTrace,
>> > Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
>> > http://p.sf.net/sfu/solaris-dev2dev
>> > _______________________________________________
>> > gstreamer-devel mailing list
>> > [hidden email]
>> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>> >
>> >
>>
>>
>> ------------------------------------------------------------------------------
>> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
>> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
>> http://p.sf.net/sfu/solaris-dev2dev
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel