Commit graph

60 commits

Author SHA1 Message Date
Jerome Laheurte
c7e0e8d6ab dshowsrcwrapper: fix DirectShow caps negotiation and set capture pin caps
Some cameras (IDS) have broken DirectShow drivers which incorrectly fill some
fields in the VIDEOINFOHEADER structure; comparison between suggested and
supported media types in CBaseRenderer should ignore deprecated and/or not
essential fields; additionaly explicitely setting the mediatype for the capture
pin before trying to connect it works around another IDS driver bug, and
should have been already done anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=765428
2016-04-23 15:21:44 +01:00
Jerome Laheurte
26dfb7db83 dshowsrcwrapper: add support for RGB32, RGB555, RGB565 and RGB8 color spaces
Some cameras (IDS) only support those.

https://bugzilla.gnome.org//show_bug.cgi?id=765427
2016-04-23 15:17:34 +01:00
Jerome Laheurte
97529971fc dshowsrcwrapper: fix include path and link error
Add include path so that the cmake-generated project
is able to find gstconfig.h

Add /SAFESEH:NO to MSVC linker options so it can link with
gstreamer libraries on Windows.

https://bugzilla.gnome.org//show_bug.cgi?id=765426
2016-04-23 15:13:05 +01:00
Vineeth TM
8cdfb13658 bad: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763081
2016-03-24 14:56:51 +02:00
Reynaldo H. Verdejo Pinochet
86ec812429 Remove unnecessary NULL checks before g_free()
g_free() is NULL-safe
2015-11-18 16:05:42 -08:00
Tim-Philipp Müller
8a78e788b0 dshow: fix GList leak
_remove_link() would not free the actual list nodes.
2015-11-06 13:00:55 +00:00
Matthew Bader
0fc55436b3 dshowsrcwrapper: Added support for image/jpeg and h264
https://bugzilla.gnome.org/show_bug.cgi?id=741188
2014-12-16 23:17:25 +00:00
Matthew Bader
d627f4b93b dshowsrcwrapper: Fixed null caps comparison
https://bugzilla.gnome.org/show_bug.cgi?id=741086
2014-12-04 18:04:11 +01:00
Joshua M. Doe
27eb6555d1 dshowsrcwrapper: avoid error when set_caps called twice
If set_caps is called in a running state, return immediately if the caps
haven't changed. If the pins are already connected, disconnect them.

https://bugzilla.gnome.org/show_bug.cgi?id=736926
2014-09-24 10:02:39 +03:00
Jerome Laheurte
4f60ecdd98 dshowsrcwrapper: Port to 1.0
https://bugzilla.gnome.org/show_bug.cgi?id=732283
2014-09-18 12:36:34 +03:00
Andoni Morales Alastruey
c450a15f9f dshowaudiosrc: fix audiocapture producing silence
Configure the capture latency using the IAMBufferNegotiation
interface and try to respect the configured latency-time and buffer-time
2013-06-18 12:04:58 +02:00
Fabricio Costa Alisedo
d7c6d240b5 dshowsrcwrapper: Added Graph Builder and Capture Builder to correctly create upstream needed filters by Analog TV Capture Devices. 2013-04-15 08:51:22 +02:00
Andoni Morales Alastruey
d4c3fd8a7e dshowsrcwrapper: Add support for UYVY 2013-04-15 08:51:12 +02:00
Tim-Philipp Müller
9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Tim-Philipp Müller
32ba17cd0f Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Mark Nauwelaerts
578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00
Andoni Morales Alastruey
ffb40074cd winks: define STATIC_KSPROPSETID_Wave_Queued if not defined 2012-08-07 19:04:42 +02:00
Sebastian Dröge
cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Wim Taymans
de1f89bf07 GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:37:13 +01:00
Tim-Philipp Müller
f09f27a761 dshow: fix list iteration code 2011-03-27 17:42:56 +01:00
Andoni Morales
0390f0d765 dshowvideosrc: don't make a range if min==max
Fixes bug #625138
2010-07-29 16:08:03 +02:00
Andoni Morales
b65da8ea96 dshowvideosrc: Add support for YUY2 input format
Fix bug #613708
2010-03-24 17:05:14 +01:00
Benjamin Otte
775c7584fd gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 22:46:41 +01:00
Julien Isorce
db3bd777e8 dshowsrcwrapper: cleanup push buffer callback 2009-10-28 17:37:44 +01:00
Jan Schmidt
3063de4e87 Revert "dshowsrcwrapper: cleanup push buffer callback"
gst-plugins-bad is still frozen for general commits.

This reverts commit 2e4131926f.
2009-10-22 14:00:10 +01:00
Julien Isorce
2e4131926f dshowsrcwrapper: cleanup push buffer callback 2009-10-22 14:26:30 +02:00
Julien Isorce
76e96c70bd dshowvideosrc: cache device caps 2009-09-09 14:34:03 +02:00
Julien Isorce
76304164bb dshowvideosrc: use IEnumMediaTypes when IAMStreamConfig is not usable
For some device drivers IAMStreamConfig is not supported.
But EnumMediatypes does not provide range size and framerate.
2009-09-09 12:41:17 +02:00
Julien Isorce
503091ae0e dshowsrcwrapper: add support both Unicode and MBCS 2009-09-07 16:44:52 +02:00
Julien Isorce
a768a83c5a dshowsrcwrapper: indent dshowsrcwrapper.cpp 2009-09-07 15:21:28 +02:00
Julien Isorce
01bbe0315f Revert "dshowsrcwrapper: remove unused extern C"
This reverts commit d3c88d637d.

Reverting this since the entry point isn't found because of
C++ build.
2009-09-07 15:12:55 +02:00
Julien Isorce
0518509f0a dshowsrcwrapper: indent 2009-09-07 10:59:53 +02:00
Julien Isorce
9844d73b37 dshowsrcwrapper: convert line ended characters to LF 2009-09-07 10:51:28 +02:00
Julien Isorce
d3c88d637d dshowsrcwrapper: remove unused extern C 2009-09-07 10:38:39 +02:00
Julien Isorce
910376e8dd dshowsrcwrapper: go back to previous mode 2009-09-07 10:31:54 +02:00
Julien Isorce
e806e7aaeb dshowvideosrc: move VIDEO_STREAM_CONFIG_CAPS to GstCapturePinMediaType 2009-09-04 16:29:53 +02:00
Julien Isorce
d321799bfb dshowvideosrc: move default video caps into GstCapturePinMediaType 2009-09-04 12:08:02 +02:00
Julien Isorce
9a1597e58b dshowvideosrc: factorize dshow format to gst caps conversion 2009-09-03 17:49:41 +02:00
Julien Isorce
a22eca4e67 dshowsrcwrapper: remove cplusplus condition 2009-09-03 17:20:47 +02:00
Julien Isorce
0f10b769bf dshowvideosrc: factorize dshow video format parsing 2009-09-03 17:12:26 +02:00
Julien Isorce
2004db26d7 dshowsrcwrapper: use of default debug category and better dshow errors readability 2009-08-24 14:37:28 +02:00
Tim-Philipp Müller
1691621faf Remove execute flags from source files 2009-08-10 22:16:37 +01:00
Julien Isorce
8c37eed491 dshowsrcwrapper: can list more than 1 device
something like the following code now works:

vector<string> getVideoDeviceNames()
{
    vector<string> l_name;
    string property;

    GstElement* videodevicesrc = create_element("dshowvideosrc", "videodevicesrc");

    GstPropertyProbe* probe = GST_PROPERTY_PROBE (videodevicesrc);
    GValueArray* va = gst_property_probe_get_values_name (probe, "device-name");

    if (va)
    {
        for(size_t i=0; i < va->n_values; ++i)
        {
            GValue* v = g_value_array_get_nth(va, i);
            string name(g_value_get_string(v));
            l_name.push_back(name);
        }
    }

    if (videodevicesrc)
        gst_object_unref(GST_OBJECT (videodevicesrc));

    return l_name;
}
2009-08-10 16:35:36 +02:00
Julien Isorce
ae6935e6a3 dshowaudiosrc: handles device-name property 2009-08-10 16:17:41 +02:00
Julien Isorce
67dd6694a1 dshowsrcwrapper: add a helper function to check a media type 2009-08-10 16:03:17 +02:00
Julien Isorce
0a7c30f6c1 dshowvideosrc: can use other video sizes and framerates than the defaults
Even if the device could capture several video sizes at several framerates,
without this commit, it was only possible to use one video size and
one framerate: the default directshow values.
2009-08-10 14:23:14 +02:00
Julien Isorce
dabb692e7c dshowsrcwrapper: remove use of IGstDshowInterface 2009-07-27 14:52:57 +02:00
Tim-Philipp Müller
021f66d6ce dshowsrcwrapper: update Makefile.am for source file renames as well 2009-07-22 11:45:57 +01:00
Julien Isorce
4d926e3b0d dshowaudiosrc: do not remove a range of length 0 2009-07-22 12:34:36 +02:00
Julien Isorce
0efde4cb70 dshowaudiosrc: converts code to C++ 2009-07-22 12:24:46 +02:00