Sebastian Dröge
4ec87d9690
d3dvideosink: Open Direct3D devices in a threadsafe way
...
Otherwise we'll get crashes when using the device from multiple
threads, e.g. when using multiple sinks at once.
https://bugzilla.gnome.org/show_bug.cgi?id=707523
2014-07-15 13:30:16 +02:00
Sebastian Dröge
c134930dbe
d3dvideosink: Always lock the D3D surfaces in write mode
...
Locking them in readonly mode can give different stride to mapping
in write mode, which then causes rendering to be broken.
Happened on all (many?) NVIDIA GPUs.
Thanks to voskater15@gmail.com for hinting at the problem.
https://bugzilla.gnome.org/show_bug.cgi?id=712809
2014-07-03 19:10:26 +02:00
Sebastian Dröge
73c40a3132
d3dhelpers: Swap UV planes properly for YV12 as compared to I420
...
If we only do it in one place colors will look funny.
2014-07-03 19:06:26 +02:00
Sebastian Dröge
25974ac0a9
d3dvideosink: Don't leak all surfaces
...
This was broken when disabling the buffer pool exporting.
Also disable buffer pool a bit more efficient...
2014-07-02 10:33:15 +02:00
Sebastian Dröge
28d250ec3f
d3dvideosink: PostMessage() takes integers as last parameters, not pointers
2014-07-02 10:33:15 +02:00
Sebastian Dröge
677608bfb7
d3dvideosink: Remove unused variable
2014-07-02 10:33:15 +02:00
Eric Trousset
f54efc206f
d3dvideosink: Release D3D surfaces when shutting down the sink
...
https://bugzilla.gnome.org/show_bug.cgi?id=726026
2014-06-23 20:44:23 +02:00
Tim-Philipp Müller
3f1eb8ee71
d3dvideosink: post proper error message when window disappears
2014-04-08 17:52:12 +01:00
Sebastian Dröge
c84278ae04
d3dvideosink: Only pass a dest rectangle if set, otherwise pass NULL
...
Call with an uninitialized rectangle will cause errors.
https://bugzilla.gnome.org/show_bug.cgi?id=714998
2014-04-02 23:10:01 +02:00
Alexey Chernov
d96999328a
d3dvideosink: First destroy the window, then unregister the class
...
It's impossible to create another pipeline with d3dvideosink after disposing
the previous one due to some problem in d3dvideosink. The message is: "Unable
to register Direct3D hidden window class".
I've evaluated the problem and it's that UnregisterClass() in working thread is
called before DestroyWindow() and UnregisterClass() does nothing.
https://bugzilla.gnome.org/show_bug.cgi?id=722622
2014-01-21 09:45:07 +01:00
Andoni Morales Alastruey
ef7a8c2ca8
d3dvideosink: disable buffer pools
...
On a device lost, all the surfaces allocated in the
device need to be released before resetting the device,
which can't be done for the allocated buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=706566
2013-09-02 18:21:11 +02:00
Sebastian Dröge
e51cd4fe2f
gst: Add better support for static plugins
2013-04-15 15:59:22 +02:00
Andoni Morales Alastruey
7f18295321
d3dvideosink: use bilinear filter as much as possible
...
Use the bilinear scalling filter when the magnifier or the minifier
filters are avaible. Some graphics cards do not provide minifier filters
but we want to use it for upscalling if it's available
https://bugzilla.gnome.org/show_bug.cgi?id=697176
2013-04-04 11:39:45 +02:00
Sebastian Dröge
42965f5aa0
d3dvideosink: Make sure that all buffers in our pool contain our own memory
2013-03-27 09:09:59 +01:00
Sebastian Dröge
ff30417bd9
d3dvideosink: Add support for crop meta
2013-03-26 14:27:43 +01:00
Sebastian Dröge
81304a7956
d3dvideosink: Implement a buffer pool that shares D3D surfaces with upstream
2013-03-26 13:39:46 +01:00
Sebastian Dröge
abede65bbc
d3dvideosink: Allocate a new offscreen surface for every buffer
...
This is a preparation for implementing a buffer pool.
2013-03-26 13:39:46 +01:00
Sebastian Dröge
996e8912f2
d3dvideosink: Add compatibility #defines for older mingw headers
...
These were removed recently but these mingw headers are still
out there.
2012-12-27 14:09:51 +01:00
Sebastian Dröge
85690b802d
d3dvideosink: Remove scary "while (object.refcount > 0) release (object);" code
...
If there is a memory leak, this isn't the way how it should be fixed.
2012-12-22 18:43:37 +01:00
Sebastian Dröge
038cf9eba0
d3dvideosink: Don't forget to return a value from ::propose_allocation()
2012-12-22 18:17:45 +01:00
Sebastian Dröge
53b2cdf335
d3dvideosink: Add support for the video meta
2012-12-22 18:17:04 +01:00
Sebastian Dröge
0642f3a143
d3dvideosink: Don't use "class" as variable name and don't use C99 comments
2012-12-22 18:13:48 +01:00
Sebastian Dröge
23265c8428
d3dvideosink: Only open system resources in in NULL->READY, not on object instantiation
2012-12-22 18:04:42 +01:00
Sebastian Dröge
827655ffb4
d3dvideosink: Properly copy frames to D3D with the right strides and everything
...
And only support color formats that are actually supported by the driver,
this allows proper zero-copy handling later and simplifies the code a lot.
Also simplify some other places, like the format mapping code.
2012-12-22 17:57:41 +01:00
Sebastian Dröge
c6763c2bbb
d3dvideosink: Remove non-sense display PAR handling
...
This has to be implemented properly at some point
2012-12-22 16:26:52 +01:00
Sebastian Dröge
020da4c577
d3dvideosink: Fix caps leak
2012-12-22 16:20:13 +01:00
Sebastian Dröge
41e58ecf5f
d3dvideosink: Fix duplicated format entry in the template caps
2012-12-22 12:09:30 +01:00
Sebastian Dröge
29b677fe9b
d3dvideosink: Fix linking
2012-12-22 12:05:14 +01:00
Sebastian Dröge
de8f436b21
d3dvideosink: Fix some more compiler warnings
2012-12-22 11:58:21 +01:00
Sebastian Dröge
7e8c531621
d3dvideosink: Port remaining bits to new GLib threading API
2012-12-22 11:50:08 +01:00
Sebastian Dröge
4f28e50540
d3dvideosink: And remove the right declaration
2012-12-22 11:45:27 +01:00
Sebastian Dröge
52a62d73b1
d3dvideosink: Remove unused static declaration
2012-12-22 11:44:32 +01:00
Sebastian Dröge
345b5f0eb8
d3dvideosink: Remove unused variables
2012-12-22 11:43:21 +01:00
Sebastian Dröge
d2d19eb1e6
d3dvideosink: Update to new GLib threading API
2012-12-22 11:42:52 +01:00
Sebastian Dröge
9838e3748c
d3dvideosink: Rename keep_aspect_ratio to force_aspect_ratio in the header too
2012-12-22 11:38:28 +01:00
Sebastian Dröge
5f3eefb611
d3dvideosink: Use G_PARAM_STATIC_STRINGS
2012-12-22 11:35:55 +01:00
Sebastian Dröge
872dc5feb6
d3dvideosink: Rename keep-aspect-ratio to force-aspect-ratio and default to TRUE
...
For consistency with other video sinks.
2012-12-22 11:34:43 +01:00
Sebastian Dröge
5ea516d735
d3dvideosink: Add files that had to be included in the last commit
2012-12-22 11:30:08 +01:00
Sebastian Dröge
479a54d18b
d3dvideosink: Add $(GST_PLUGINS_BASE_CFLAGS) to CFLAGS
2012-12-22 11:28:19 +01:00
Roland Krikava
fe5f514049
d3dvideosink: Various improvements
...
* XOverlay set_render_rectangle support (Useful for rendering in QT QML)
* Video format negotiation (with preference ordering)
* Using Direct3D9 (No benefit to using newer D3D versions)
2012-12-22 11:24:28 +01:00
Sebastian Dröge
c636b45c9a
d3dvideosink: Only include formats that are actually working
2012-12-21 16:11:49 +01:00
Sebastian Dröge
2b2112e6be
d3dvideosink: Add the actually supported color formats to the template caps
2012-12-21 15:23:42 +01:00
Michael Esemplare
09512c5db1
d3dvideosink: fix compiler and linker flags
...
https://bugzilla.gnome.org/show_bug.cgi?id=690031
2012-12-11 20:58:42 +00:00
Andoni Morales Alastruey
689cef0fc7
d3dvideosink: fix redefinition of DECLARE_INTERFACE_IID
...
https://bugzilla.gnome.org/show_bug.cgi?id=688510
2012-11-20 11:10:25 +00: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
Mark Nauwelaerts
4a843dbbac
d3dvideosink: port to the new GLib thread API
2012-09-11 15:12:55 +02:00
Andoni Morales Alastruey
a55786274d
d3dvideosink: avoid duplicated symbols in static links
...
Rename the DLL entry point the avoid duplicated symbols in static
links.
2012-08-07 19:04:01 +02:00
Andoni Morales Alastruey
beea4bd161
d3dvideosink: avoid duplicated symbols in static links
...
Rename the DLL entry point the avoid duplicated symbols in static
links.
2012-08-06 14:37:36 +02:00
Tim-Philipp Müller
4f6b3b7bbd
sys: make video sinks default to force-aspect-ratio=true
2012-06-29 12:03:51 +01:00
Andoni Morales Alastruey
ad5b76a58d
d3dvideosink: release the offscreen surface before the d3d device
...
The offscreen surface keeps a reference on the d3d device, so if the
device is released first we don't see the reference count debug message
going to 0 as it should be.
2012-06-26 09:40:29 +02:00