Commit graph

41 commits

Author SHA1 Message Date
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
Julien Isorce 779ac0d98e dshowvideosrc: converts code to C++ 2009-07-22 11:01:49 +02:00
Julien Isorce 30469d45c0 start refactoring of dshowsrcwrapper
-remove gst-libs/gst/dshow
-fakesource is moved from gst-libs/gst/dshow to sys/dshowsrcwrapper
-some minor changes (C/C++ check and includes) to make the plugin
compile again.
2009-07-21 10:49:37 +02:00
Stefan Kost a14e8e07df Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2008-11-04 12:42:30 +00:00
Stefan Kost 0a8be35287 gst/rtpmanager/gstrtpbin.c: Print the pad-name in debug log.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c:
Print the pad-name in debug log.
* sys/dshowsrcwrapper/gstdshowaudiosrc.c:
* sys/dshowsrcwrapper/gstdshowvideosrc.c:
Use "-" instead of "_" in property names. Can we call them just
"device" like everywhere else?
2008-08-11 07:20:15 +00:00
Ole André Vadla Ravnås 53e5f028ec sys/dshowsrcwrapper/gstdshowvideosrc.*: Don't increase latency by queuing buffers in an async queue when the streamin...
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
* sys/dshowsrcwrapper/gstdshowvideosrc.c: (PROP_DEVICE_NAME),
(gst_dshowvideosrc_class_init), (gst_dshowvideosrc_init),
(gst_dshowvideosrc_dispose), (gst_dshowvideosrc_stop),
(gst_dshowvideosrc_unlock), (gst_dshowvideosrc_unlock_stop),
(gst_dshowvideosrc_create), (gst_dshowvideosrc_push_buffer):
* sys/dshowsrcwrapper/gstdshowvideosrc.h:
Don't increase latency by queuing buffers in an async queue when
the streaming thread can't keep up or isn't scheduled often
enough for some other reason, but just drop the previous buffer
in that case. Also implement GstBaseSrc::unlock for faster
unlocking when shutting down. (#520892).
2008-04-11 19:33:53 +00:00
Sébastien Moutte 104ec747df Add Makefiles to win32 plugins and lib.
Original commit message from CVS:
* gst-libs/gst/dshow/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
Add Makefiles to win32 plugins and lib.
They will need to be tested and probably fixed by developers
working with mingw. This is a first step to include source files
with releases.
2008-02-12 22:10:39 +00:00
Sébastien Moutte 37915fa611 ext\neon\gstneonhttpsrc.c: Include unistd.h only if _HAVE_UNISTD_H is defined
Original commit message from CVS:
* ext\neon\gstneonhttpsrc.c:
Include unistd.h only if _HAVE_UNISTD_H is defined
* gst\mpegvideoparse\mpegvideoparse.c:
Use G_GUINT64_CONSTANT GLIB macro for constant
* sys\dshowsrcwrapper\gstdshowaudiosrc.c:
* sys\dshowsrcwrapper\gstdshowvideosrc.c:
* sys\dshowdecwrapper\gstdshowaudiodec.c:
* sys\dshowdecwrapper\gstdshowaudiodec.h:
* sys\dshowdecwrapper\gstdshowdecwrapper.c:
* sys\dshowdecwrapper\gstdshowdecwrapper.h:
* sys\dshowdecwrapper\gstdshowvideodec.c
* sys\dshowdecwrapper\gstdshowvideodec.h:
Add a DirectShow decoder wrapper.
* win32\MANIFEST:
Add new win32 files to MANIFEST
* win32\vs6\gst_plugins_bad.dsw:
* win32\vs6\libgstdshow.dsp:
* win32\vs6\libgstdshowdecwrapper.dsp:
* win32\vs6\libgstflv.dsp:
Add new projects to bad workspace
2008-02-07 21:02:19 +00:00
Ole André Vadla Ravnås 209d6105d7 gst-libs/gst/dshow/gstdshowfakesink.*: Fix crasher in constructor due to the base class's constructor not necessarily...
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
* gst-libs/gst/dshow/gstdshowfakesink.cpp:
(CDshowFakeSink.CDshowFakeSink):
* gst-libs/gst/dshow/gstdshowfakesink.h: (CDshowFakeSink.m_hres):
Fix crasher in constructor due to the base class's constructor
not necessarily being NULL-safe (depends on the SDK version used
apparently; #492406).
* sys/dshowsrcwrapper/gstdshowaudiosrc.c: (gst_dshowaudiosrc_prepare):
* sys/dshowsrcwrapper/gstdshowvideosrc.c: (gst_dshowvideosrc_set_caps):
Fix a couple of MSVC compiler warnings (#492406).
2007-11-04 11:04:28 +00:00
Stefan Kost 1af510f8d5 Massive leak fixing, plus code cleanups.
Original commit message from CVS:
* ext/audioresample/gstaudioresample.c:
* ext/x264/gstx264enc.c:
* gst/dvdspu/gstdvdspu.c:
* gst/dvdspu/gstdvdspu.h:
* gst/festival/gstfestival.c:
* gst/h264parse/gsth264parse.c:
* gst/mpegtsparse/mpegtspacketizer.c:
* gst/mpegtsparse/mpegtsparse.c:
* gst/multifile/gstmultifilesink.c:
* gst/multifile/gstmultifilesrc.c:
* gst/nuvdemux/gstnuvdemux.c:
* sys/dshowsrcwrapper/gstdshowaudiosrc.c:
* sys/dshowsrcwrapper/gstdshowvideosrc.c:
* sys/vcd/vcdsrc.c:
Massive leak fixing, plus code cleanups.
2007-09-24 10:53:37 +00:00
Sébastien Moutte 0a0c13670a docs/plugins/gst-plugins-bad-plugins.args: Remove directsoundsink property doc as this sink use the mixer interface now.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins.args:
Remove directsoundsink property doc as this sink use the mixer
interface now.
* docs/plugins/gst-plugins-bad-plugins.interfaces:
Add interfaces implemented by Windows sinks.
* sys/directsound/gstdirectsoundsink.c:
* sys/directsound/gstdirectsoundsink.h:
Remove directsoundsink property  and implement the mixer interface.
* win32/vs6/gst_plugins_bad.dsw:
* win32/vs6/libgstdirectsound.dsp:
Update project files.
* gst-libs/gst/dshow/gstdshow.cpp:
* gst-libs/gst/dshow/gstdshow.h:
* gst-libs/gst/dshow/gstdshowfakesink.cpp:
* gst-libs/gst/dshow/gstdshowfakesink.h:
* gst-libs/gst/dshow/gstdshowfakesrc.cpp:
* gst-libs/gst/dshow/gstdshowfakesrc.h:
* gst-libs/gst/dshow/gstdshowinterface.cpp:
* gst-libs/gst/dshow/gstdshowinterface.h:
* win32/common/libgstdshow.def:
* win32/vs6/libgstdshow.dsp:
Add a new gst library which allow to create internal Direct Show
graph (pipelines) to wrap Windows sources, decoders or encoders.
It includes a DirectShow fake source and sink and utility functions.
* sys/dshowsrcwrapper/gstdshowaudiosrc.c:
* sys/dshowsrcwrapper/gstdshowaudiosrc.h:
* sys/dshowsrcwrapper/gstdshowsrcwrapper.c:
* sys/dshowsrcwrapper/gstdshowsrcwrapper.h:
* sys/dshowsrcwrapper/gstdshowvideosrc.c:
* sys/dshowsrcwrapper/gstdshowvideosrc.h:
* win32/vs6/libdshowsrcwrapper.dsp:
Add a new plugin to wrap DirectShow sources on Windows.
It gets data from any webcam, dv cam, micro. We could add
tv tunner card later.
2007-05-23 22:44:12 +00:00