Commit graph

761 commits

Author SHA1 Message Date
Carl-Anton Ingmarsson
4dd36435a7 vdpau: add functions to GstVdpOutputBuffer needed for rgb download 2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
64601993c9 vdpau: add GstPad subclass GstVdpOutputSrcPad
GstVdpOutputSrcPad is a subclass of GstPad that is used for pushing out
GstVdpOutputBuffers. It takes care of caps negotiation and conversion to
video/x-raw-rgb.
2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
a71cf4dfb2 gstvdpvideosrcpad: add "template-caps" property
The property limits the available output caps
2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
65bc7c87b2 gstvdpvideobuffer: fix typo 2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
9046f1e089 gstvdpvideosrcpad: replace get_pad_template() with get_template_caps() 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
7f198163ec gstvdpvideosrcpad: don't recreate caps in getcaps 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
b7aa03570c vdpau: add GstPad subclass GstVdpVideoSrcPad
GstVdpVideoSrcPad takes care of caps negotiation and conversion of
GstVdpVideoBuffers to the negotiated output format.
2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
9c1b87aaa6 vdpausink: rework presentation blocking a bit
instead of blocking until the previous surface has been displayed, we new only
add surfaces to the queue if it's idle.
2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
ea364d7a5a vdpauvideopostprocess: split up chain function 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
51caa55d4e vdpauvideopostprocess: implement basic qos handling 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
55b108f7ca vdpaumpegdec: add display property 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
8998198703 vdpau: remove unused functions 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
f9e00471e3 vdpau: use local libgstvdp headers 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
25014f8e7c vdpau: remove now unneeded vdpauvideoyuv and vdpauyuvvideo elements 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
7753f80cf5 vdpauvideopostprocess: add display property 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
c094db8170 vdpausink: add debug output 2009-11-22 22:38:08 +01:00
Carl-Anton Ingmarsson
4609e07c5e vdpauvideopostprocess: add support for video/x-raw-yuv input 2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
a801e81efb vdpaumpegdec: add src_getcaps func
this way we can return only the caps we really support, since we're able to query vdpau
about it
2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
1b4094e5e6 vdpaumpegdec: add support for negotation of x-raw-yuv output 2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
79c600f7be vdpau: create a libgstvdp library.
The library contains GstVdpDevice GstVdpVideoBuffer and GstVdpOutputBuffer. The
library will (apart from the plugins here) be used by the upcoming gst-ffmpeg
vdpau support.
2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
8ba3df0939 vdpaumpegdec: check for sink element returning wrong buffer type 2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
325bd7aad2 vdpau: remove unneeded gst_vdp_video_buffer_add_reference function 2009-11-22 22:38:07 +01:00
Carl-Anton Ingmarsson
c621101faa vdpauvideopostprocess: fix longname 2009-11-22 22:38:07 +01:00
Chris Hills
016c9797b7 dvbsrc: Add support for DVB-T/DVB-C with DVB API 3.3 2009-11-06 15:43:39 +01:00
Tim-Philipp Müller
926493d12b dvbbasebin: printf format fixes 2009-11-05 21:45:07 +00:00
Michael Smith
9421274006 osxvideosrc: change a .m file containing only C code to a .c file. Makes
building this easier.
2009-10-29 16:35:13 -07:00
Julien Isorce
db3bd777e8 dshowsrcwrapper: cleanup push buffer callback 2009-10-28 17:37:44 +01:00
Michael Smith
7ca8034c51 Remove executable bits from non-executable files. 2009-10-27 11:51:05 -07: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
Jan Schmidt
08a6997add dist: Include vdpsink.h in the tarball to fix the dist. 2009-10-16 11:53:14 +01:00
Stefan Kost
b7b8b7f407 build: fprintf, sprintf, sscanf need stdio.h 2009-10-07 15:26:12 +03:00
Alessandro Decina
a789d14f8d Fix compilation warning with gcc-4.2. 2009-10-05 15:27:26 +02:00
Jan Schmidt
6e1a735075 vdpau: Fix bogus check before unreffing 2009-09-16 10:28:20 +01:00
Carl-Anton Ingmarsson
f85c84af1f vdpauvideopostprocess: handle pixel-aspect-ratio better
the implementation is not entirely correct since we assume that the sink
element's pixel-aspect-ratio is 1/1
2009-09-16 10:25:47 +01:00
Carl-Anton Ingmarsson
0b979b48fc vdpauvideopostprocess: remove par from caps since we don't handle it yet 2009-09-16 10:25:47 +01:00
Carl-Anton Ingmarsson
370520682d vdpauvideopostprocess: don't remove interlaced flag in video_to_output_caps() 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
ba69dd4747 vdpauvideopostprocess: add inverse-telecine property 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
13075eb07e vdpauvideopostprocess: fix noise-reduction property getter 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
a7ea771f36 vdpauvideopostprocess: add sharpening property 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
1aea922f3c vdpau: remove gst_vdp_device_new from header 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
64f4970c84 vdpausink: fix error handling if gst_vdp_get_device returns NULL 2009-09-16 10:25:46 +01:00
Carl-Anton Ingmarsson
61710ee3e4 vdpau: add back vdpausink and vdpauvideopostprocess 2009-09-16 10:25:45 +01:00
Carl-Anton Ingmarsson
a3452808a1 vdpdevice: fix error handling and threadsafety
return NULL incase of initalization errors and guard hashtable access with a mutex
2009-09-16 10:25:45 +01:00
Carl-Anton Ingmarsson
6bd853f128 vdpauvideopostprocess: get correct number of needed frames if we're doing noise reduction 2009-09-16 10:25:45 +01:00
Carl-Anton Ingmarsson
26d48501e0 vdpaumpegdec: small indent fix 2009-09-16 10:25:45 +01:00
Carl-Anton Ingmarsson
b7d5e59c9a vdpaumpegdec: fix gst_byte_reader_masked_scan_uint32 usage 2009-09-16 10:25:45 +01:00
Carl-Anton Ingmarsson
6705bfa129 vdpauvidepostprocess: remove boolean noise-reduction property
Use the float one to determine if we should enable noise reduction or not
2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
daf6c7ad52 vdpauvideopostprocess: add support for noise reduction 2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
feba003d80 vdpauvideopostprocess: add support for deinterlacing
The code is roughly modeled after the deinterlace plugin
2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
707bbfcea3 vdpausink: add myself to copyright 2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
c6bf1e0537 vdpauvideopostprocess: s/gst_vdp_vpp_set_caps/gst_vdp_vpp_sink_setcaps 2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
49835d98a7 vdpaumpegdec: use gst_byte_reader_masked_scan_uint32 instead of our own version 2009-09-16 10:25:44 +01:00
Carl-Anton Ingmarsson
f1799ce0d6 vdpau: use G_N_ELEMENTS instead of hardcoding array sizes 2009-09-16 10:25:43 +01:00
Carl-Anton Ingmarsson
9661b77ea1 vdpau: use G_N_ELEMENTS instead of NULL terminating array 2009-09-16 10:25:43 +01:00
Carl-Anton Ingmarsson
3e05ddca61 vdpau: add new vdpausink and vdpauvideopostprocess elements
vdpausink is as the name implies a sink which takes vide/x-vdpau-output buffers
and outputs it to the screen.

vdpauvideopostprocess is an element which takes video/x-vdpau-video buffers and
outputs video/x-vdpau-output buffers. The element can also do things like
deinterlacing and other postprocessing but this is not implemented yet.
2009-09-16 10:25:42 +01:00
Carl-Anton Ingmarsson
d849563bda vdpau: split gst_vdp_mpeg_dec_reset into start and stop 2009-09-16 10:25:42 +01:00
Carl-Anton Ingmarsson
58c8198f4d vdpau: don't put the GstVdpDevice in the caps 2009-09-16 10:25:41 +01:00
Carl-Anton Ingmarsson
054840555b vdpau: make GstVdpVideoYUV implement pad_alloc
also change GstVdpMpegDec and GstVdpYUVVideo to make use of this
2009-09-16 10:25:41 +01:00
Carl-Anton Ingmarsson
ecd81041e0 vdpau: add support for YUY2 2009-09-16 10:25:40 +01:00
Carl-Anton Ingmarsson
0a423e1de0 vdpau: add support for UYVY 2009-09-16 10:25:40 +01:00
Carl-Anton Ingmarsson
da05417b13 vdpau: factor out common caps calculation and put it in gstvdputils.[ch] 2009-09-16 10:25:40 +01:00
Carl-Anton Ingmarsson
3545720d7a vdpau: refactor GstVdpVideoYUV and GstVdpYUVVideo 2009-09-16 10:25:39 +01:00
Carl-Anton Ingmarsson
e5c0cd7587 vdpau: make GstVdpYUVVideo inherit from GstBaseTransform 2009-09-16 10:25:39 +01:00
Carl-Anton Ingmarsson
f3ce431efc vdpau: fixup some debug prints 2009-09-16 10:25:39 +01:00
Carl-Anton Ingmarsson
ecaf3b85f1 vdpau: make GstVdpVideoYUV inherit from GstBaseTransform 2009-09-16 10:25:38 +01: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
Havard Graff
83ea90c25b dshowvideosink: remove unused variable to fix compiler warning
Fixes bug #594278.
2009-09-08 15:57:47 +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
Руслан Ижбулатов
936d87f64b directdraw, directsound: unify CFLAGS and fix configure checks for DirectX-based plugins
One set of CFLAGS for all DirectX-based plugins. Correct header/library
checks for DirectX-based-plugins. Remove unused variable and label in
directsoundsrc.

Fixes #593068.
2009-08-26 01:18:00 +01: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
5bc1290431 vdpau: blacklist for generic states test, and demote to GST_RANK_NONE
These elements are not fit for autoplugging, so demoting to RANK_NONE.
Also blacklisting for generic states test, since fixing these elements
up to do some minimal error handling seems to be a bit more work.
Partially fixes #591538.
2009-08-12 16:51:21 +01: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
94ece2054c directsoundsrc: LF and indent 2009-08-10 11:36:41 +02:00
Julien Isorce
182dad5c66 directdrawsink: Fix crash when exposing in GST_STATE_READY
Fixes bug #541962.
2009-08-09 12:25:01 +02:00
Sebastian Dröge
43b56d41c5 directdraw: Fix indention 2009-07-31 07:17:36 +02:00
Руслан Ижбулатов
567902dc06 directdraw: Implement GstNavigation interface
Fixes bug #590208.
2009-07-31 07:17:35 +02:00
Joni Valtanen
f41100e832 directsoundsrc: Add DirectSound source plugin
Fixes bug #344129.
2009-07-29 15:37:08 +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