Commit graph

943 commits

Author SHA1 Message Date
Tim-Philipp Müller
e8d0c50901 oss4: 8-bit PCM audio caps don't need an endianness field 2010-04-08 10:45:33 +01:00
Tim-Philipp Müller
d575347603 oss4: don't iterate the formats table twice for each entry
When iterating the formats table, we can just pass the whole
entry to our helper function, which avoids iterating the table
again to find the entry structure from the passed format id.
2010-04-08 10:43:26 +01:00
Tim-Philipp Müller
cd4099db89 oss4: also accept formats not natively supported
Also accept formats that are not natively supported by the
hardware, OSS4 can convert them internally. List the native
formats first in the caps though, to express our preference
for the native formats. We need this in order to support the
case properly where the audio hardware supports only e.g.
little endian PCM, but the host is big endian, since many
audio elements only support native endianness and make the
reasonable assumption that any audiosink will be able to
handle audio in native endianness.

Based on patch by Jerry Tan <jerry.tan@sun.com>

Fixes #614317.
2010-04-08 10:15:56 +01:00
Sebastian Dröge
ee4baab100 dvbsrc: Use uint instead of int for frequency and symbol-rate properties
The kernel API specifies them as uint32 and frequencies/symbol-rates greater
than 2^31 are actually needed sometimes.

Fixes bug #614475.
2010-04-02 19:09:40 +02:00
Tim-Philipp Müller
840e1c5209 build: build plugins and examples in parallel where possible, if make -jN is used 2010-03-30 01:17:15 +01:00
Tim-Philipp Müller
f81a96ae65 oss4: add comment for translators
Not that that will make these strings much better. Also remove i18n
marker where it doesn't make sense.
2010-03-30 01:14:58 +01:00
Andoni Morales
b65da8ea96 dshowvideosrc: Add support for YUY2 input format
Fix bug #613708
2010-03-24 17:05:14 +01:00
Tristan Matthews
552cd26b43 osx: more compiler warning fixes
Avoid new warnings.

Fixes #613758.
2010-03-24 00:19:02 +00:00
Benjamin Otte
be59e4d52e wininet: Fix warnings 2010-03-23 01:41:31 +01:00
Benjamin Otte
f8266ee03f directdraw: Fix warnings 2010-03-23 01:30:54 +01:00
Benjamin Otte
5038a886ab oss4: Refactor code to make it look more modern
A side effect is that it passes -Wformat-nonliteral and doesn't read
invalid memory in some cases, like when the mixer track contains
a % sign or there is a number but not a known mixer name.
2010-03-22 16:22:22 +01:00
Benjamin Otte
9738d70e28 oss4: Avoid g_quark_to_string (g_quark_from_string ()) madness
We to the strdup inside gst_oss4_mixer_control_get_translated_name()
instead of in the only caller.
2010-03-22 16:22:22 +01:00
Benjamin Otte
33c2f5fb01 Add -Wwrite-strings
and fix its warnings
2010-03-22 13:16:33 +01:00
Sebastian Dröge
2a81495bff vdpau: Fix compiler warnings 2010-03-22 08:45:27 +01:00
Benjamin Otte
c8702e06c4 directdraw: Fix warnings 2010-03-21 22:48:13 +01:00
Benjamin Otte
9e399550db acmmp3dec: fix warnings 2010-03-21 22:09:20 +01:00
Benjamin Otte
726894ba61 Fix acmenc for warning flags 2010-03-21 21:53:44 +01:00
Benjamin Otte
f96e4f1581 Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2010-03-21 21:39:18 +01:00
Benjamin Otte
775c7584fd gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 22:46:41 +01:00
Tim-Philipp Müller
f1fde2ed4b dvbsrc: use g_value_set_static_string() where possible 2010-03-15 19:21:52 +00:00
David Hoyt
584ac24ba0 dshowvideosink: don't crash on invalid AM_MEDIA_TYPE 2010-02-01 16:26:36 -08:00
Vincent GENIEUX
39ab05e024 dvbsrc: fix element shutdown on bad reception
When we have a bad reception, avoid going into an infinite loop by setting a
shutdown flag when shutting down.

Fixes #607747
2010-01-27 12:10:32 +01:00
Benjamin Otte
665a06a44e [oss4] Fix compiler warning about unused return value 2010-01-20 13:30:39 +01:00
Stephen McNamara
405872f69d dshowvideosink: don't leak filter_media_event 2009-12-08 17:56:24 -08:00
Michael Smith
bb3ff2d0a7 dshowvideosink: spell things more betterer. 2009-12-07 10:21:32 -08:00
Stephen McNamara
2bae099473 dshowvideosink: add virtual destructor for internal helper class. 2009-12-07 10:10:29 -08:00
Wim Taymans
966c83dfea vdpau: fix build 2009-11-26 15:33:32 -06:00
Edward Hervey
635e2774e6 vdpau: Fix includes 2009-11-23 09:17:39 +01:00
Carl-Anton Ingmarsson
d57488461a vdpauvideopostprocess: convert to 1/1 pixel-aspect-ratio for rgb too 2009-11-22 22:54:27 +01:00
Carl-Anton Ingmarsson
7401cd90ad vdpausink: intersect allowed caps with our template caps 2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
6aba832e7f vdpau: fix gst_vdp_[video|yuv]_to_output_caps to also add rgb caps 2009-11-22 22:38:09 +01:00
Carl-Anton Ingmarsson
2d03815e19 vdpauvideopostprocess: use GstVdpVideoSrcPad 2009-11-22 22:38:09 +01:00
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
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
Carl-Anton Ingmarsson
71c398566c vdpaumpegdecoder: remove unnecesary want_slice field 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
1af393a72d vdpau: small cosmetical fix 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
48143abdab vdpau: rename all files and objects from Vdpau to Vdp 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
d2efd275a4 vdpau: decode slices when we get the next picture header. MPEG2 now kindof works. 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
1234267cb5 vdpau: small improvement to mpeg decoder 2009-06-20 15:21:27 +01:00
Carl-Anton Ingmarsson
91ff1579f3 vdpau: remove unused "silent" properties 2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
a7170c6ef7 vdpau: implement GstVdpauVideoBuffer -> I420 conversion 2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
86cd9b20f8 vdpau: move definition of the VdpChromaType array and the VdpauFormats to gstdevice.h 2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
072f869548 vdpau: small fix
set vdp_info.forward_reference to VDP_INVALID handle when unreffing the old
buffer
2009-06-20 15:21:26 +01:00
Carl-Anton Ingmarsson
f8e0c0bcc1 vdpau: add new GstVdpauYUVVideo element
the GstVdpauYUVVideo element takes raw YUV video and outputs
GstVdpauVideoBuffers
2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
74485f6fa2 vdpau: VideoYUV unref buffer in chain so that we don't leak them MpegDecoder parse sequence headers 2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
17a758ec71 vdpau: remove some unneded includes 2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
3d4a340cfa vdpau: move plugin definition to a new gstvdpau.c file fix up debug categories 2009-06-20 15:21:25 +01:00
Carl-Anton Ingmarsson
85158b07ea vdpau: add new GstVdpauVideoYUV element
GstVdpauDecoder now pushes GstVdpauVideoBuffers instead of doing
VdpSurface -> YUV conversion. To get YUV data you now put in a GstVdpauVideoYUV
element which takes GstVdpauVideoBuffers and outputs YUV data.
2009-06-20 15:21:24 +01:00
Carl-Anton Ingmarsson
5e73b7272b vdpau: small indent fix 2009-06-20 15:21:24 +01:00
Carl-Anton Ingmarsson
f72dc12373 vdpau: remove obosolete FIXME and some debug prints from gstvdpaudevice.c 2009-06-20 15:21:24 +01:00
Carl-Anton Ingmarsson
7b6cfb83c8 vdpau: commit rename of gst-vdpau-device.h to gstvdpaudevice.h 2009-06-20 15:21:24 +01:00
Carl-Anton Ingmarsson
4cc2a90645 vdpau: remove gst-vdpau-device.c 2009-06-20 15:21:23 +01:00
Carl-Anton Ingmarsson
85acf023df vdpau: rename gst-vdpau-device.[ch] to gstvdpaudevice.[ch] 2009-06-20 15:21:23 +01:00
Carl-Anton Ingmarsson
5563c933ee vdpau: change all references of "gst_vdpaudecoder*" to "gst_vdpau_decoder" 2009-06-20 15:21:23 +01:00
Carl-Anton Ingmarsson
6fa5b4ff14 vdpau: make the decoder clean up after itself 2009-06-20 15:21:23 +01:00
Carl-Anton Ingmarsson
21d7740236 vdpau: remove extra \ from Makefile.am 2009-06-20 15:21:23 +01:00
Carl-Anton Ingmarsson
f74f44c24f vdpau: add gstvdpaudevice for abstracting vdpau initalization 2009-06-20 15:21:22 +01:00
Carl-Anton Ingmarsson
a22a18d1e7 vdpau: remove comment 2009-06-20 15:21:22 +01:00
Carl-Anton Ingmarsson
a727e6a022 vdpau: MPEG1 decoding know gives recognizable output 2009-06-20 15:21:22 +01:00
Carl-Anton Ingmarsson
f70ddb6605 vdpau: create VdpDecoder in set_caps add more functions for parsing mpeg 2009-06-20 15:21:22 +01:00
Carl-Anton Ingmarsson
584b000583 vdpau: store vdpau function pointers in a local structure 2009-06-20 15:21:22 +01:00
Carl-Anton Ingmarsson
29d0c5bdd8 vdpau: extract mpeg2 profile from codec_data 2009-06-20 15:21:21 +01:00
Carl-Anton Ingmarsson
090638ccec vdpau: extract mpeg version 2009-06-20 15:21:21 +01:00
Carl-Anton Ingmarsson
367708e2ae vdpau: add version specification to mpegdecoder caps 2009-06-20 15:21:21 +01:00
Carl-Anton Ingmarsson
f6ed342f19 vdpau: focus on mpeg instead of h264 2009-06-20 15:21:21 +01:00
Carl-Anton Ingmarsson
62757ca5b4 vdpau: rough try at implementing pushinf of YV12 buffers 2009-06-20 15:21:20 +01:00
Carl-Anton Ingmarsson
2363032b34 vdpau: remove obsolete comment 2009-06-20 15:21:20 +01:00