Commit graph

64 commits

Author SHA1 Message Date
Seungha Yang
4a5197dc27 jack: Add port-names property to select ports explicitly
By this new property, user can select physical port to connect,
and element will pick requested port instead of random ones.
User should provide full port name including "client_name:" prefix.
An example is
jackaudiosrc port-names="system:capture_1,system:capture_3" ! ...
   jackaudiosink port-names="system:playback_2"

In addition to "port-names" property, a new connect type "explicit"
is added so that element can post error message if requested
"port-names" contains invalid port(s).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1037>
2021-07-30 15:58:20 +09:00
Seungha Yang
2f9fa71ab3 jack: Add low-latency property for automatic latency-optimized setting
Similar to wasapi/wasapi2 plugins on Windows, adding low-latency
option so that jack element can optimize GstAudioRingBufferSpec
setting for low latency.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1034>
2021-07-28 10:53:48 +00:00
Seungha Yang
ca9576deca jack: Remove trailing whitespace
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1034>
2021-07-28 10:53:48 +00:00
Seungha Yang
9c9ad0c8d6 jack: Fix assertion fail when device supports only mono channel
MAX should be larger than MIN for GST_TYPE_INT_RANGE.

GStreamer-CRITICAL **: 18:26:27.912:
gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1033>
2021-07-28 08:16:15 +00:00
Stéphane Cerveau
a633f4b12e jack: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
2021-03-29 12:45:21 +02:00
Matthew Waters
612102fdbc gst: don't use volatile to mean atomic
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead.  GCC 11 has started warning about using volatile
with atomic operations.

https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719

Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/911>
2021-03-18 19:52:53 +11:00
Thibault Saunier
0a6a62aa76 docs: Port all docstring to gtk-doc markdown 2019-05-13 10:24:40 -04:00
okuoku
05089a7092 jack: Use jack_free(3) to release ports
Port objects acquired with jack_get_ports() need to be freed with
jack_free(3), not stdlib free().

On Windows, Jack may be linked against different libc than GStreamer
libraries so free()ing port objects directly might cause crash because
of libc mismatch.
2019-04-24 02:38:32 +09: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
Luis de Bethencourt
8e5a16e662 jack: case missing break statement
commit b1098c2ea5 added a new case in
gst_jack_audio_src_get_property() but forgot to add the break statement to it.
2015-02-19 11:20:55 +00:00
hark
b1098c2ea5 jack: Add property port-pattern to specify which JACK ports to connect to
https://bugzilla.gnome.org/show_bug.cgi?id=690719
2015-02-17 13:45:43 +02:00
Tim-Philipp Müller
c9597298f9 docs: remove outdated and pointless 'Last reviewed' lines from docs
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-26 23:35:17 +01:00
Tim-Philipp Müller
d506409af5 docs: get rid of 'Since: 0.10.x' markers
And some gtk-doc markup fixes.
2013-11-18 14:47:35 +00:00
Sebastian Dröge
0726b71ceb ext/sys: Fix some compilation errors caused by circular includes 2012-12-12 17:35:04 +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
Tim-Philipp Müller
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Mark Nauwelaerts
26dd999b68 Merge branch 'master' into 0.11
Conflicts:
	ext/wavpack/gstwavpackparse.c
	sys/v4l2/gstv4l2bufferpool.c
	sys/v4l2/gstv4l2bufferpool.h
	sys/v4l2/gstv4l2videooverlay.c
2012-03-05 13:29:59 +01:00
Stefan Sauer
18e8aa48e6 jack: change the transport-mode enum into flags
One can use (or not use) master and slave mode independently.
2012-03-04 19:56:43 +01:00
Wim Taymans
225e98d623 Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacenc.c
	ext/jack/gstjackaudioclient.c
	ext/jack/gstjackaudiosink.c
	ext/jack/gstjackaudiosrc.c
	ext/pulse/plugin.c
	ext/shout2/gstshout2.c
	gst/matroska/matroska-mux.c
	gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Stefan Sauer
7a9970fc29 jack: rework transport support
Move common code to jackclient. There we can also handle the request state
message in a better way, as the element callbacks are only run if the element is
active.
2012-02-07 21:59:29 +01:00
Tim-Philipp Müller
8580dd86c9 eqMerge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/jack/gstjackaudiosink.c
	ext/jack/gstjackaudiosrc.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-read-common.c
	gst/rtpmanager/gstrtpssrcdemux.c
2012-01-12 23:48:50 +00:00
Stefan Sauer
bc1fa747a7 jack: add a transport mode enum
Clients can configure the desired behaviour via "transport" property. The
default behaviour is ignoring the transport state. Other modes are master and
slave.
2012-01-11 14:52:14 +01:00
Stefan Sauer
747e63f4e7 jack: deactivate the request_state code
When qjackctl is started, transport is stopped by default. This would be a
regression for gstreamer apps that before just started to play right away.
2012-01-10 23:02:45 +01:00
Stefan Sauer
7d4044aa46 jack: add transport control handling
This feature allows to start and stop playback from other jack applications (e.g. qjackctl).
2012-01-10 22:35:02 +01:00
Sebastian Dröge
93e3ed5a86 Merge branch 'master' into 0.11
Conflicts:
	ext/cairo/gsttextoverlay.c
	ext/pulse/pulseaudiosink.c
	gst/audioparsers/gstaacparse.c
	gst/avi/gstavimux.c
	gst/flv/gstflvmux.c
	gst/interleave/interleave.c
	gst/isomp4/gstqtmux.c
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-mux.h
	gst/matroska/matroska-read-common.c
	gst/multifile/gstmultifilesink.c
	gst/multipart/multipartmux.c
	gst/shapewipe/gstshapewipe.c
	gst/smpte/gstsmpte.c
	gst/udp/gstmultiudpsink.c
	gst/videobox/gstvideobox.c
	gst/videocrop/gstaspectratiocrop.c
	gst/videomixer/videomixer.c
	gst/videomixer/videomixer2.c
	gst/wavparse/gstwavparse.c
	po/ja.po
	po/lv.po
	po/sr.po
	tests/check/Makefile.am
	tests/check/elements/qtmux.c
	tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Sebastian Dröge
42bdbbcb29 jack: Add the new layout field to the raw audio caps 2012-01-05 10:36:48 +01:00
Sebastian Dröge
531d611f83 jackaudiosrc: Port to the new multichannel audio caps 2012-01-05 10:36:45 +01:00
Tim-Philipp Müller
2e078fa556 jack: don't leak client name when freeing the element
And add gtk-doc chunks for the new property.

https://bugzilla.gnome.org/show_bug.cgi?id=665872
2011-12-09 15:50:28 +00:00
Nicolas Baron
92cfb335cd jack: add "client-name" property to jackaudiosink and jackaudiosrc
https://bugzilla.gnome.org/show_bug.cgi?id=665872
2011-12-09 15:45:03 +00:00
Vincent Penquerc'h
c0e101e93f various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Wim Taymans
3d9d2c6c05 update for audiobase* rename 2011-11-11 12:01:17 +01:00
Wim Taymans
86e33bc46b audio: update for base class rename 2011-11-11 11:53:45 +01:00
Wim Taymans
1ad11e307a update for ringbuffer change 2011-11-11 11:24:00 +01:00
Wim Taymans
09b15d7dfe port to new audio caps. 2011-08-18 19:21:07 +02:00
Wim Taymans
4bb2b140e9 Merge branch 'master' into 0.11
Conflicts:
	sys/v4l2/v4l2src_calls.c
2011-08-16 18:35:53 +02:00
Tim-Philipp Müller
26a3a12513 jackaudiosrc: fix error message code
And also post 'not found' error if jackd is not even installed.
2011-08-13 16:52:53 +01:00
Wim Taymans
c2358404c1 jack: port some more 2011-06-09 17:56:18 +02:00
Wim Taymans
5ed18ad7b9 jack: port jack elements 2011-04-26 15:42:47 +02:00
Tim-Philipp Müller
a068133ee7 jack: fix unused-but-set-variable warnings with gcc-4.6 2011-04-16 13:33:45 +01:00
Stefan Kost
21a688ce25 jack: also handle deprecations for jack 1.9.7
Jack 1.9.7 was released 20.Mar.2011, need to handle the deprecated api for this
version too.
2011-04-11 12:44:19 +03:00
Jon Nordby
d68dd46084 jack: Fix build with jack 0.120.1
9544622674 checked
for 0.120.2 and later, but the deprecation was introduced in
0.120.1
2011-04-05 13:12:28 +03:00
Philippe Normand
9544622674 jack: fix build against jack 0.120.2
jack_port_get_total_latency() has been deprecated in favor of
jack_port_get_latency_range().

https://bugzilla.gnome.org/show_bug.cgi?id=644477
2011-03-11 09:48:36 +00:00
Tim-Philipp Müller
57e35559c8 jack: fix up element details and some other minor clean-ups 2011-01-02 19:51:54 +00:00
Tim-Philipp Müller
79a8e0ee42 jack: template caps had lists with one value, just use value directly 2011-01-02 17:40:41 +00:00
Tim-Philipp Müller
1f5083a17c jack: make get_type functions thread-safe
Because we can (shouldn't be needed with other workarounds still there).
2011-01-02 17:27:35 +00:00
Stefan Kost
3c43a9e102 various (ext): add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed.
2011-01-02 14:30:09 +00:00
Tristan Matthews
11c4157af4 jack: added translatable text for server not found error 2011-01-02 14:30:08 +00:00
Tristan Matthews
c070cfa7c8 jack: added client property 2011-01-02 14:30:08 +00:00
Wim Taymans
71b06e4957 jacksrc: make sure we always read nframes
Error out when we are asked to read a different size that what was configured as
the jack period size because that would mean something else is wrong.

Fixes #618409
2011-01-02 14:30:08 +00:00