Commit graph

676 commits

Author SHA1 Message Date
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
Austin Lund
b9890a2bf7 Increased the length of time for tuning in gstdvbsrc.c.
Some devices take a while to tune and 500ms was too short to detect
successful tuning.  As well as waiting for 5 seconds each 100ms the
status is checked and the loop is broken out of when tuning has suceeded.
2009-07-16 21:08:27 +02:00
Jan Schmidt
9deb734631 oss4: Attempt to fix a compiler warning
Don't store a const gchar * in a non-const gchar * local var.

Also, make the translation string function static since it's only
used in the one file.
2009-07-16 13:55:14 +01:00
Jan Schmidt
aba7cfa064 vdpau: Fix a compiler warning about uninitialised variable use. 2009-07-15 18:28:46 +01:00
Garrett D'Amore
fac1dbab6e oss4: Enhancements to the mixer and audio output
Code cleanups, general improvements, support for the
new mixer flags in latest gst-plugins-base.

Fixes: #584252
Patch By: Brian Cameron <brian.cameron@sun.com>
Patch By: Garrett D'Amore <garrett.damore@sun.com>
2009-07-15 18:28:44 +01:00
Jan Schmidt
eb528cbcc4 VDPAU: Move I420/YV12 to the front of the caps. Add debug.
Make I420/YV12 caps be preferred when downloading to YUV buffers,
when possible, by listing them first in the set of output caps.
Add some debug in the caps selection code.
2009-06-23 22:22:02 +01:00
Jan Schmidt
deb03ee2ca VDPAU: Add some debug statements 2009-06-20 15:21:47 +01:00
Jan Schmidt
8c89eb9a5b VDPAU: Fix build flags to pull in gst-plugins-base libs 2009-06-20 15:21:47 +01:00
Jan Schmidt
0d94e5a656 VDPAU: Refactor the error path to a common output, and fix a leak.
Don't leak the input buffer on errors. Add some debug statements.
2009-06-20 15:21:47 +01:00
Jan Schmidt
8ded28b126 VDPAU: Fix up caps in vdpaumpegdec. Remove extra semicolon
Fix a typo in the caps for the VDPAU mpeg decoder (chroma_type->chroma-type)
and use the GST_VDP_VIDEO_CAPS for the pad template.
Remove a stray semicolon.
2009-06-20 15:21:46 +01:00
Jan Schmidt
f45f87709c VDPAU: Enhance the configure tests
Check for the VDPAU headers in /usr/include/nvidia as they are on some
platforms (Fedora/rpmfusion). Also check that the libvdpau library is
available.
2009-06-20 15:21:46 +01:00
Carl-Anton Ingmarsson
b4fa8a4ef0 vdpaumpegdec: use fixed src caps 2009-06-20 15:21:46 +01:00
Carl-Anton Ingmarsson
53a5272f73 vdpaumpegdec: drop all frames before a GOP when we seek 2009-06-20 15:21:46 +01:00
Carl-Anton Ingmarsson
aff91bb89a vdpaumpegdec: small cleanup 2009-06-20 15:21:46 +01:00
Carl-Anton Ingmarsson
cee2394a0d vdpau: s/IS_VDPAU/IS_VDP 2009-06-20 15:21:46 +01:00
Carl-Anton Ingmarsson
64100e4737 vdpaumpegdec: send newsegment event if only the rate has been updated 2009-06-20 15:21:45 +01:00
Carl-Anton Ingmarsson
636ae49bee vdpaumpegdec: use mutex to protect mpeg_dec->seeking from concurrent access 2009-06-20 15:21:45 +01:00
Carl-Anton Ingmarsson
3fa60712f2 vdpaumpegdec: use gst_pad_get_parent for threadsafety 2009-06-20 15:21:45 +01:00
Carl-Anton Ingmarsson
702cc4a03f vdpaumpegdec: further work on seeking 2009-06-20 15:21:45 +01:00
Carl-Anton Ingmarsson
d65d4c40f5 vdpaumpegdec: small cleanups 2009-06-20 15:21:45 +01:00
Carl-Anton Ingmarsson
e9f028957d vdpaumpegdec: set GST_BUFFER_FLAG_DELTA_UNIT on non I_FRAME's 2009-06-20 15:21:44 +01:00
Carl-Anton Ingmarsson
8619160ec8 vdpaumpegdec: rename gstvdpmpegdecoder.[ch] to gstvdpmpegdec.[ch] 2009-06-20 15:21:44 +01:00
Carl-Anton Ingmarsson
f0134f1847 vdpaumpegdec: rename GstVdpMpegDecoder to GstVdpMpegDec 2009-06-20 15:21:44 +01:00
Carl-Anton Ingmarsson
5956df5338 vdpaumpegdec: pass buffer size directly to gst_vdp_mpeg_decoder_decode 2009-06-20 15:21:44 +01:00
Carl-Anton Ingmarsson
7c0e5b5c22 vdpaumpegdec: small cleanup 2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
c4276ae568 vdpaumpegdec: calculate byterate from the size of the incoming data 2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
c9464b9860 vdpaumpegdec: print frame_nr in debug print 2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
b2aa8ae945 vdpaumpegdec: interlaced fixes 2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
757086e3fa vdpaumpegdec: only set base duration once 2009-06-20 15:21:43 +01:00
Carl-Anton Ingmarsson
3864e0349b vdpaumpegdec: don't send the EVENT_NEWSEGMENT downstream if we're seeking 2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
7316cfa186 vdpaumpegdec: implement seeking 2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
016f24f8be vdpaumpegdec: change a GST_DEBUG to GST_WARNING 2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
f4c0de5a67 vdpaumpegdec: remove unused broken_gop field 2009-06-20 15:21:42 +01:00
Carl-Anton Ingmarsson
e2d8cc99b0 vdpaumpegdec: add new gst_vdp_mpeg_decoder_flush for flushing the decoder 2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
f80a727957 vdpaumpegdec: use GSE_DEBUG_FUNCPTR 2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
92335b1a12 vdpaumpegdec: don't drop discont buffers 2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
adeddd0118 vdpaumpegdec: handle GST_QUERY_POSITION and GST_QUERY_DURATION 2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
df3c59a482 vdpaumpegdec: calculate correct duration from data in MPEG_PACKET_EXT_PICTURE_CODING 2009-06-20 15:21:41 +01:00
Carl-Anton Ingmarsson
aee1937579 vdpaumpegdec: fix so that the first frame in a raw mpegvideo stream get timestamp 0 2009-06-20 15:21:40 +01:00
Carl-Anton Ingmarsson
27606d4e10 vpdaumpegdec: remove useless GstVdpDecoder baseclass 2009-06-20 15:21:40 +01:00
Carl-Anton Ingmarsson
127765d19c vdpaumpegdec: use GstBitReader to parse bitstream 2009-06-20 15:21:40 +01:00
Carl-Anton Ingmarsson
426a6eaba9 vdpau: change element rank for testing purposes
set mpegvideoparse rank to primary and vdpaumpegdec to primary - 1 to get vdpaumpegdec
correctly plugged into playbin
2009-06-20 15:21:40 +01:00
Carl-Anton Ingmarsson
8e66a17830 vdpau: add debug on GstVdpDevice destroy 2009-06-20 15:21:39 +01:00
Carl-Anton Ingmarsson
0ffaf06a9a vdpaumpegdec: small code cleanup 2009-06-20 15:21:39 +01:00
Carl-Anton Ingmarsson
c7c60ad029 vdpaumpegdec: remove unnused GstVdpBFrame struct 2009-06-20 15:21:39 +01:00
Carl-Anton Ingmarsson
f4fda3f617 vdpaumpegdec: fix small typo in debug print 2009-06-20 15:21:39 +01:00
Carl-Anton Ingmarsson
616038423f vdpaumpegdec: fixup timestamping of outgoing buffers 2009-06-20 15:21:38 +01:00
Carl-Anton Ingmarsson
42d90ddfa3 vdpaumpegdec: don't add forward_reference if the frame is an I_FRAME 2009-06-20 15:21:38 +01:00
Carl-Anton Ingmarsson
e416f5f5e0 vdpaumpegdec: set correct timestamps 2009-06-20 15:21:38 +01:00
Carl-Anton Ingmarsson
fda9c56a59 vdpaumpegdec: remove unneeded locking since we know do StateChange correctly 2009-06-20 15:21:38 +01:00
Carl-Anton Ingmarsson
02884b0356 s/GST_TYPE_VDPAU/GST_TYPE_VDP/g 2009-06-20 15:21:37 +01:00
Carl-Anton Ingmarsson
824cf29cdc vdpau: s/GST_TYPE_VDPAU/GST_TYPE_VDP/g 2009-06-20 15:21:35 +01:00
Carl-Anton Ingmarsson
323b563c24 vdpaumpegdec: fixup state change 2009-06-20 15:21:35 +01:00
Carl-Anton Ingmarsson
e417b2eea0 vdpau: init "vdpaudevice" debug catoegory in gst_vdp_get_device 2009-06-20 15:21:35 +01:00
Carl-Anton Ingmarsson
de7fb2006e vdpaumpegdec: hold the lock in change_state 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
6b05d01898 vdpaumpegdec: the B_FRAME decoding was completely wrong, fix it
the buffers don't come in output order so fix the decoder to handle this

add new gst_vdp_video_buffer_add_reference method to GstVdpVideoBuffer to be able to keep
buffers alive. Ie. a B_FRAME need to have both the forward reference and the backward
reference alive during it's lifetime.

add mutex to protect for threadsafety issues when we reset the decoder in FLUSH_STOP
2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
b8a7986775 vdpaumpegdec: set full_pel_forward_vector to 0 when pic_type == P_FRAME 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
3a7a2af1fa vdpaumpegdec: drop frames if we haven't got an I_FRAME yet 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
66231a619a vdpau: set vdpauvideoyuv and vdpauyuvvideo to GST_RANK_PRIMARY 2009-06-20 15:21:34 +01:00
Carl-Anton Ingmarsson
e737b9a916 vdpaumpegdec: destroy the VdpDecoder and reset the decoder on state change 2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
fb70c1e7b5 vdpau: fix error where we forgot to pass a trailing NULL to g_object_new 2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
612a46a565 vdpau: close display on finalize 2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
f16aa7271e vdpau: small fixes
init create GstVdpDevice on GST_STATE_CHANGE_READY_TO_PAUSED instead of on
GST_STATE_CHANGE_NULL_TO READY

add back incrementing of frame_nr
2009-06-20 15:21:33 +01:00
Carl-Anton Ingmarsson
a94f5fe520 vdpau: use g_once_init_enter instead of g_once 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
2eb479f825 vdpaumpegdec: if available use incoming buffer timestamp as output timestamp 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
2d996a3ff4 vdpaumpegdec: clear the adapter when we reset the decoder 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
8c78a4850f vdpau: fixup renaming
the rename work done in commit 24cf84d06b2f4b2edec3383b198441a07829618b didn't
include typecasts. This commit fixes this.
2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
8bbd794961 vdpaumpegdec: reset decoder on GST_EVENT_FLUSH_STOP 2009-06-20 15:21:32 +01:00
Carl-Anton Ingmarsson
4d69d761d2 vdpaumpegdec: reset decoder when we get a discont buffer 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
8b3261f91a vdpaumpegdec: add "MPEG_PACKET_EXT_PICTURE_CODING" debug statement 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
035b5f4efb vdpaumpegdec: handle broken_gop field 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
17102ad0fa vdpaumpegdec: convert all manual parsing to use read_bits instead 2009-06-20 15:21:31 +01:00
Carl-Anton Ingmarsson
806d4ced04 vdpaumpegdec: remove unneded gst_buffer_ref and the accompanying gst_buffer_unref 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
fc3c9dba95 vdpaumpegdec: fixup error where we set forward_reference instead of backward_reference 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
e0ddcabd7a vdpaumpegdec: handle multiple B_FRAMEs in a row 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
a168fdc1d3 vdpaumpegdec: more B_FRAME work 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
da191134a1 vdpaumpegdec: inital support at handling B_FRAMES 2009-06-20 15:21:30 +01:00
Carl-Anton Ingmarsson
7ca750c422 vdpaumpegdec: fixup GstFlowReturn propagation a bit 2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
000db36020 vdpaumpegdec: parse PICTURE_CODING_EXTENSION alternate_scan bit 2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
375935d9c4 vdpaumpegdec: fixup quantmatrix extension parsing 2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
ee591b9f3d vdpaumpegdec: correct some default values
mpeg1 now give nearly correct output :)
2009-06-20 15:21:29 +01:00
Carl-Anton Ingmarsson
638a35eacc vdpaumpegdecoder: remove unused slice field 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
08690f10f8 vdpau: rename "video/vdpau-video" caps to "video/x-vdpau-video" 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
4ee4429c1a vdpau: remove "silent" property from GstVdpDecoder 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
500861d517 vdpau: don't set element details in GstVdpDecoder 2009-06-20 15:21:28 +01:00
Carl-Anton Ingmarsson
4470b61f80 vdpaumpegdecoder: rename to "vdpaumpegdec" 2009-06-20 15:21:28 +01:00