Commit graph

79 commits

Author SHA1 Message Date
Philippe Renon
09af01a088 directsoundsink: simplify how DirecSoundBuffer is cleared
we always want to clear the whole buffer so no need to
start from offset even if the offset is always zero.

https://bugzilla.gnome.org/show_bug.cgi?id=788847
2017-10-12 10:32:34 +03:00
Philippe Renon
24561309f9 directsoundsink: fix comment
https://bugzilla.gnome.org/show_bug.cgi?id=788847
2017-10-12 10:32:34 +03:00
Philippe Renon
73993149ec directsoundsink: don't call set_volume with private scaled volume
use get_volume() instead to get unscaled volume

https://bugzilla.gnome.org/show_bug.cgi?id=788847
2017-10-12 10:32:34 +03:00
Philippe Renon
d519d14ad9 directsoundsink: remove duplicate volume initialization
https://bugzilla.gnome.org/show_bug.cgi?id=788847
2017-10-12 10:32:34 +03:00
Nicolas Dufresne
a3545637de directsound: Fix .c file name in Makefile
This was broken by accident, bad search and replace.
2017-07-20 17:21:05 -04:00
Nicolas Dufresne
608abe4a7f directsound: Fix DLL name to match plugin name
https://bugzilla.gnome.org/show_bug.cgi?id=785168
2017-07-20 15:46:38 -04:00
Nicolas Dufresne
b68d936ae0 Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:41:19 -04:00
Dustin Spicuzza
a303a7971c directsoundsink: Use GstClock API instead of Sleep() for waiting
It's more accurate and allows cancellation.

https://bugzilla.gnome.org/show_bug.cgi?id=773681
2017-05-08 17:33:38 +02:00
Nirbheek Chauhan
2d44b53ff6 directsoundsink: Fix corner case causing large CPU usage
We were unnecessarily looping/goto-ing repeatedly when we had exactly
the amount of data as the free space, and also when the free space was
too small. This, as it turns out, is a very common scenario with
Directsound on Windows.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=773681

We have to do polling here because the event notification API that
Directsound exposes cannot be used with live playback since all events
must be registered in advance with the capture buffer, you cannot
add/remove them once playback has begun. Directsoundsrc had the same
problem.

See also: https://bugzilla.gnome.org/show_bug.cgi?id=781249
2017-05-08 16:02:46 +02:00
Nirbheek Chauhan
0700b1f0b0 directsoundsink: Clean up some debug logging
Don't need to print the function name, gstreamer does it for you.

https://bugzilla.gnome.org/show_bug.cgi?id=773681
2017-05-08 16:02:46 +02:00
Scott D Phillips
91e9a94492 meson: directsound: Add ole32 library dependency
https://bugzilla.gnome.org/show_bug.cgi?id=773114
2016-10-21 06:01:16 -03:00
Nirbheek Chauhan
b09f478e80 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:21:12 +01:00
Nirbheek Chauhan
af1d49d039 directsound: port away from old DirectX API
D3DX has been deprecated for the last 4 years and latest versions of
Windows no longer ship headers for it. This is fine as long as you're
building with Cerbero's Wine-based DirectX headers, but sucks if you
want to build against the actual Windows SDK.

We were just using it to get error strings anyway, so just use the
generic error string API.
2016-08-18 20:20:15 +01:00
Vineeth TM
1071309870 good: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Thomas Roos
93d09f0474 dirctsoundsink: Setting volume should not unmute
https://bugzilla.gnome.org/show_bug.cgi?id=755106
2016-03-08 20:42:09 +02:00
Thomas Roos
e345a7fee9 dirctsoundsink: Fix volume reset on unmute
https://bugzilla.gnome.org/show_bug.cgi?id=755106
2016-03-08 20:42:06 +02:00
Thomas Roos
51f94288ce directsoundsink: Fix sleep for buffer-time lower than 200000
https://bugzilla.gnome.org/show_bug.cgi?id=748680
2015-12-21 12:44:55 +01:00
Thomas Roos
adb5efaf8a directsoundsink: Check device property and fail if device can't be found
Don't use default if a specific device is set but it can't be found.

https://bugzilla.gnome.org/show_bug.cgi?id=759452
2015-12-14 15:48:40 +01:00
Thomas Roos
fb5a5c069c directsoundsink: Fix handling of the mute property
- set mute value at startup
- correct set and get mute functions

https://bugzilla.gnome.org/show_bug.cgi?id=755106
2015-12-14 14:37:00 +01:00
Thomas Roos
4d72fd9884 directsoundsink: Check the return value of GetStatus() too to decide if there was an error
If GetStatus() fails, the status itself won't be very meaningful but we also
have to look at its return value. This fixes blocking pipelines when removing
sound devices or during other errors, where we wouldn't notice the error and
then wait forever.

https://bugzilla.gnome.org/show_bug.cgi?id=734098
2015-12-11 12:42:04 +02:00
Dustin Spicuzza
5c680333ba directsoundsink: allow specifying audio playback device
https://bugzilla.gnome.org/show_bug.cgi?id=753670
2015-08-17 13:57:56 +02:00
Thiago Santos
c194f2de12 directsoundsink: fix modulo math with ringbuffer parameters
To get a multiple of bpf use a subtraction and not an addition

https://bugzilla.gnome.org/show_bug.cgi?id=745684
2015-03-06 11:27:41 -03:00
Sebastian Dröge
7692e9e569 directsoundsink: WAVEFORMATEX is unsigned for 8 bit integers, and signed for others
Probably fixes
https://bugzilla.gnome.org/show_bug.cgi?id=705477
2013-08-21 16:41:21 +02:00
Sebastian Dröge
b0b0557c48 gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
Sebastian Dröge
78acb51dc8 directsoundsink: Check for a subset instead of non-empty intersection in accept-caps 2013-03-26 14:44:36 +01:00
Sebastian Dröge
4f58287aca directsoundsink: Properly handle the filter caps in get_caps() 2013-03-26 14:40:16 +01:00
Sebastian Dröge
0265b0f6a3 directsoundsink: Don't unnecessarily get the parent class in class_init
The trampoline generated by G_DEFINE_TYPE does that already.
2013-03-26 14:40:16 +01:00
Руслан Ижбулатов
fc81ddc8ee directsound, waveform: fix compilation errors caused by circular includes
https://bugzilla.gnome.org/show_bug.cgi?id=690124
2012-12-12 22:42:51 +00:00
Tim-Philipp Müller
230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Arun Raghavan
333d568ec7 directsoundsink: Specify endianness in IEC 61937 payloading
DirectSound expects native endian byte order.

https://bugzilla.gnome.org/show_bug.cgi?id=678021
2012-09-19 09:18:19 +05:30
Mark Nauwelaerts
fd162372f1 directsoundsink: port to the new GLib thread API 2012-09-11 12:54:41 +02:00
Tim-Philipp Müller
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Xavi Artigas
ec2e962323 directsoundsink: Do not overwrite the DS buffer when testing for AC3 support
https://bugzilla.gnome.org/show_bug.cgi?id=680706

Conflicts:
	sys/directsound/gstdirectsoundsink.c
2012-08-06 10:59:01 +02:00
Руслан Ижбулатов
b64849550d directsoundsink: Fix query function implementation; more debugging 2012-07-04 19:54:55 +02:00
Руслан Ижбулатов
dc2ce73a3e directsoundsink: Fix spec stuff in directsoundsink 2012-07-04 19:54:55 +02:00
Andoni Morales Alastruey
c38fa466c3 directsoundsink: fix access to invalid pointer in set_volume 2012-07-04 19:54:55 +02:00
Sebastian Dr=C3=B6ge
f72a55319d directsoundsink: Fix caps leaks 2012-07-04 19:54:55 +02:00
Andoni Morales Alastruey
1c6d1bd29a directsoundsink: fix acceptcaps check 2012-07-04 19:54:55 +02:00
Andoni Morales Alastruey
ed8ad7bffe directsoundsink: use helper function to check for spdif formats 2012-07-04 19:54:55 +02:00
Andoni Morales Alastruey
a9dff8adb9 directsoundsink: add support for DTS 2012-07-04 19:54:55 +02:00
Andoni Morales Alastruey
e815d08342 directsoundsink: force 48000 kHz force AC-3 over spdif 2012-07-04 19:54:51 +02:00
Andoni Morales Alastruey
7d64e16b30 directsoundsink: add support for ac-3 over spdif 2012-07-04 19:54:43 +02:00
Руслан Ижбулатов
ccc0c9c313 directsound: No more gstinterfaces
Fixes #675319
2012-05-03 09:33:29 +02:00
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25 gst: Update versioning 2012-04-04 14:37:47 +02:00
Raimo Järvi
697dcc60b4 directsoundsink: Fix compiling
https://bugzilla.gnome.org/show_bug.cgi?id=669607
2012-02-07 23:20:19 +00:00
Andoni Morales Alastruey
83090f6530 direcsoundsink: Port element to 0.11 2012-01-27 18:26:18 +01:00
Stefan Sauer
2468492f02 interfaces: clean up the use of iface and class/klass 2011-10-21 14:58:41 +02:00
Philip Jägenstedt
fbe726c3da directsoundsink: 16-bit audio is signed, 8-bit is unsigned.
Pretending to handle 8-bit signed causes distorted audio when
actually given such audio, which you will get if passing 8-bit
unsigned through audioconvert ! audioresample, as audioresample
only handles 8-bit signed.  Fixes #605834.

Signed-off-by: David Schleef <ds@schleef.org>
2011-07-09 16:45:51 -07:00