Commit graph

1919 commits

Author SHA1 Message Date
Arun Raghavan
1f4bb68794 pulsesrc: Implement GstStreamVolume interface
PulseAudio 1.0 supports per-source-output volumes, and this exposes the
functionality via the GstStreamVolume interface.

When compiled against pre-1.0 PulseAudio, the interface is not
implemented, and the "volume" or "mute" properties are not available.
This bit of ugliness will go away when we can depend on PulseAudio 1.0
or greater.

https://bugzilla.gnome.org/show_bug.cgi?id=595055
2011-11-25 22:30:41 +05:30
Arun Raghavan
8c6a548698 pulsesrc: Trivial comment copy-paste-o fix 2011-11-25 22:30:41 +05:30
Arun Raghavan
bdf95eb39b pulseaudiosink: Remove redundant code 2011-11-25 22:30:41 +05:30
Arun Raghavan
f6f1605468 pulseaudiosink: Clean up refcounting in event probe
Makes sure we don't leak a refcount if the object is disposed before a
NEWSEGMENT turns up.
2011-11-25 22:30:41 +05:30
Tim-Philipp Müller
2cfb92f253 souphttpsrc: get rid of iradio-* properties, post tags instead 2011-11-24 01:45:43 +00:00
Tim-Philipp Müller
3f7c432869 souphttpsrc: always send icecast request header, drop iradio-mode property
Server should ignore unknown/unhandled headers..
2011-11-24 01:41:34 +00:00
Wim Taymans
bb3fbfc18e pulseaudiosink: avoid endless caps loop
Check if the caps are the same before adding a new probe. Because of reconfigure
events, upstreams sends multiple caps events.
2011-11-23 09:26:17 +01:00
Tim-Philipp Müller
736a484129 More printf format warning fixes 2011-11-22 01:40:39 +00:00
Wim Taymans
b7aa7bca52 add parent to activate functions 2011-11-18 13:57:20 +01:00
Wim Taymans
07cc855b24 Merge branch 'master' into 0.11
Conflicts:
	ext/speex/gstspeexenc.c
	gst/rtpmanager/rtpsession.c
2011-11-17 17:17:11 +01:00
Wim Taymans
105650127e add parent to pad functions 2011-11-17 15:02:55 +01:00
Stefan Sauer
8643d1caaf collectpads: port API changes 2011-11-17 08:44:45 +01:00
Mark Nauwelaerts
7df8122322 speexenc: ensure to free allocated padded data 2011-11-16 19:08:05 +01:00
Mark Nauwelaerts
c0d86fd26f speexenc: reset tag setter interface when appropriate 2011-11-16 19:06:09 +01:00
Mark Nauwelaerts
413f445455 flacenc: reset tag setter interface when appropriate 2011-11-16 19:06:07 +01:00
Wim Taymans
6190312214 add parent to query function 2011-11-16 17:27:13 +01:00
Wim Taymans
e7918a5aba _query_peer_*() -> _peer_query_*() 2011-11-15 18:04:44 +01:00
Wim Taymans
04579335c4 _accept_caps() -> _query_accept_caps() 2011-11-15 18:04:44 +01:00
Wim Taymans
797523efbd _peer_get_caps() -> _peer_query_caps() 2011-11-15 18:04:44 +01:00
Wim Taymans
b2d508ac40 update for _get_caps() -> _query_caps() 2011-11-15 18:04:44 +01:00
Wim Taymans
75dc9634eb change getcaps to query
Chain up event function in payloaders.
2011-11-15 18:04:44 +01:00
Vincent Penquerc'h
8548b2c777 flacdec: fix spurious timestamp discontinuity
We need to tell the base class that we're dropping buffers,
so it drops the input timestamps corresponding to these.
Otherwise, the first actual audio buffers we output will be
stamped with those - GST_CLOCK_TIMESTAMP_NONE. That mismatch
between input buffer count and output buffer count will stay
while playing. With enough headers and long enough buffer
durations, the sink will have played enough before receiving
the first valid timestamp (usually 0), and will trigger an
audible discontinuity.
2011-11-15 13:36:15 +00:00
Tim-Philipp Müller
c27bbe4be2 Update for GstURIHandler get_protocols() changes 2011-11-13 23:44:44 +00:00
Tim-Philipp Müller
a150d1e734 soup, pushfile, rtsp, udp, v4l2: update for GstURIHandler API changes 2011-11-13 18:50:51 +00:00
Wim Taymans
b0ccc61ed3 Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulseaudiosink.c
2011-11-11 19:24:27 +01:00
Thiago Santos
d6a9de9e2a pulseaudiosink: fix caps leak 2011-11-11 11:02:22 -03:00
Mark Nauwelaerts
37c8abcdbd pulsesink: do not leak clientname when setting up property 2011-11-11 14:59:04 +01:00
Arun Raghavan
6a8af50111 pulse: Chain up dispose() in pulseaudiosink 2011-11-11 18:05:35 +05:30
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
9daea802fa fix for ringbuffer rename 2011-11-11 11:33:44 +01:00
Wim Taymans
1ad11e307a update for ringbuffer change 2011-11-11 11:24:00 +01:00
Stefan Sauer
9ce6c731c3 various: add missing includes 2011-11-10 23:09:23 +02:00
René Stadler
3293b88ea1 pulsesink: fix compilation with pulseaudio 0.9 2011-11-10 21:37:38 +01:00
Wim Taymans
7e12b58e37 update for adapter api changes 2011-11-10 18:32:58 +01:00
Wim Taymans
00d3f3a454 fix for audio clock change 2011-11-10 13:50:34 +01:00
Wim Taymans
88e398b0ea update for removed fixate function 2011-11-10 11:03:18 +01:00
Wim Taymans
aa0b2b7ea7 updates for new acceptcaps query 2011-11-09 17:38:03 +01:00
Wim Taymans
95f3987332 Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacdec.c
	gst/audioparsers/gstflacparse.c
	gst/isomp4/qtdemux.c
2011-11-09 12:18:01 +01:00
Wim Taymans
49658dd5b5 remove query types 2011-11-09 11:53:01 +01:00
Wim Taymans
c48df77320 update for probe api changes 2011-11-08 11:18:06 +01:00
Wim Taymans
de020130e6 fix for probe updates 2011-11-07 17:14:17 +01:00
Vincent Penquerc'h
5a73374f2c flacdec: fix off by one between granpos and last_stop 2011-11-07 12:38:10 +00:00
Vincent Penquerc'h
6a25727321 cairotextoverlay: add a 'silent' property to skip rendering
https://bugzilla.gnome.org/show_bug.cgi?id=662856
2011-11-07 12:35:26 +00:00
Stefan Sauer
fb162c8eb4 controller: port to new controller location and api 2011-11-04 20:15:48 +01:00
Wim Taymans
7753feb4fd pulseaudiosink: more 0.11 fixing
Make sure the caps event gets to the sink.
2011-11-04 16:21:13 +01:00
Wim Taymans
f6f8d9bb17 pulseaudiosink: port some more
Rename decodebin2 -> decodebin some more
Cleanup up sinkpad event handling
2011-11-04 15:35:42 +01:00
Wim Taymans
1352a08a71 pulseaudiosink: port some more to 0.11
We must not forward the caps event. instead we will decide what to do when the
pad block is taken.
Use decodebin instead of decodebin2
2011-11-04 13:56:06 +01:00
Wim Taymans
e038ab5a0b tags: update for tag API removal 2011-11-02 12:09:20 +01:00
Wim Taymans
22eb0d2300 Merge branch 'master' into 0.11 2011-11-02 10:40:12 +01:00
Wim Taymans
9a8a8e72c8 structure: fix for api update 2011-11-02 09:06:37 +01:00
Tim-Philipp Müller
9f77b02b15 Update for pad API changes
GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*
2011-11-01 00:52:28 +00:00
Tim-Philipp Müller
d6e1f53233 flacenc: remove dead code from header
We require a new-enough libflac that this condition will never apply.
2011-10-30 19:30:14 +00:00
Tim-Philipp Müller
a49818f876 flacdec: parse stream headers from caps in set_format function
Not that this seems to be actually needed, libflac happily decodes
stuff even if we just drop all headers and never feed it to the
library.
2011-10-30 19:12:44 +00:00
Tim-Philipp Müller
ab591b6d53 flacdec: don't extract metadata, leave that to the parser or container 2011-10-30 19:12:44 +00:00
Tim-Philipp Müller
5ab43cdf91 flacdec: we expect framed input now, remove some more code 2011-10-30 19:12:39 +00:00
Tim-Philipp Müller
92361863e6 flacdec: naive port to GstAudioDecoder
This would probably have been too invasive to do in the 0.10
branch, with all the pull-mode and parser handling code in
there.
2011-10-30 17:39:40 +00:00
Tim-Philipp Müller
9cd17092d8 ext, gst: update for taglist API changes 2011-10-30 11:44:53 +00:00
Wim Taymans
d40e915449 Merge branch 'master' into 0.11 2011-10-28 16:52:08 +02:00
Wim Taymans
3389e79f38 pulseaudiosink: fix porting errors
The probes were ported wrongly and caused deadlocks.
2011-10-28 15:11:10 +02:00
Tim-Philipp Müller
ff40deb139 jpegdec: add sof-marker to template caps, so we don't get plugged for lossless jpeg
jpegdec (using libjpeg 6.2/8) can't decode some lossless types of JPEG.

https://bugzilla.gnome.org/show_bug.cgi?id=556648
2011-10-28 12:10:34 +01:00
Wim Taymans
65c71b0717 pulse: fix check for empty caps 2011-10-28 12:51:31 +02:00
Wim Taymans
4b6a226263 Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulseaudiosink.c
	ext/pulse/pulsesink.c
2011-10-27 16:08:22 +02:00
Wim Taymans
fc4684f4c6 fix compilation 2011-10-27 16:03:17 +02:00
Stefan Sauer
2468492f02 interfaces: clean up the use of iface and class/klass 2011-10-21 14:58:41 +02:00
René Stadler
41116224c8 pngenc: increase arbitrary resolution limits
Apparently libpng can technically do up to 2^31-1 rows and columns. However it
imposes an (arbitrary) default limit of 1 million (that could theoretically be
lifted by using some additional API).

Moved array allocation to the heap now.
2011-10-21 10:27:04 +02:00
René Stadler
db1f10adc8 pngenc: don't unconditionally allocate 4096 pointers on the stack
Instead allocate as many as needed (on the stack still).
2011-10-21 10:26:48 +02:00
René Stadler
65f9354803 pngenc: ensure setcaps was called before chain function
This is needed to properly error out for e.g. "fakesrc ! pngenc ! fakesink".
2011-10-21 10:26:20 +02:00
René Stadler
7e390c4635 pngenc: validate input buffer size
Just for safety; of course such mismatch represents a bug in another element.
2011-10-21 10:25:51 +02:00
René Stadler
9eb55c3d8f pngenc: make setcaps more robust, use gstvideo functions
A setcaps function needs to actually verify the caps carefully. In this case,
it was possible to e.g. link a video decoder with YUV+RGB template caps to
pngenc.  That would cause a crash when the decoder pushes a YUV buffer. Same
thing when pushing a valid buffer that exceeds the resolution limits.

Also, missing framerate caps field would cause a glib critical warning due to
invalid GValue. This fails hard now.
2011-10-21 10:25:08 +02:00
Arun Raghavan
a7790efd04 pulse: Get caps correctly on pad block
Instead of always going upstream, we should first see if already got
caps from a setcaps() call.

https://bugzilla.gnome.org/show_bug.cgi?id=661262
2011-10-18 20:02:55 +05:30
Tim-Philipp Müller
e9ad06e202 wavpackenc: don't unref buffer with gst_object_unref() 2011-10-18 12:25:14 +01:00
Wim Taymans
6de67bb014 pulsesink: only use is_pcm for 1.0 of pulseaudio 2011-10-18 12:05:01 +02:00
Wim Taymans
0ade1a5822 pulsesink: only disable trickmodes for !pcm
Only disable trickmodes when we are not dealing with raw PCM samples.
2011-10-18 11:58:57 +02:00
Edward Hervey
1a10116bbe flacenc: Properly register type
It's a subclass of GstAudioEncoder and not of GstElement
2011-10-13 17:12:23 +02:00
Wim Taymans
16649b2508 fix compile 2011-10-13 09:02:47 +02:00
Wim Taymans
a5cc912140 Merge branch 'master' into 0.11
Conflicts:
	ext/jpeg/gstjpegdec.c
	gst/rtp/gstrtpvrawpay.c
2011-10-13 08:58:06 +02:00
Thiago Santos
0e167e59d4 pulseaudiosink: Use new GstIterator API correctly
GstIterator now uses GValue, use it correctly.
2011-10-12 07:36:09 -03:00
Sjoerd Simons
95db648516 jpegdec: Implement upstream negotiation
Add upstream negotiation for jpegdec. Fixes #660275
2011-10-10 21:37:10 +01:00
Wim Taymans
03ca12d974 annodex: port to 0.11 2011-10-10 12:27:06 +02:00
Wim Taymans
aea9b5e8c8 Merge branch 'master' into 0.11
Conflicts:
	ext/speex/gstspeexenc.c
2011-10-10 11:48:20 +02:00
Thiago Santos
b09704020c pulse: port pulseutil to 0.11 2011-10-10 00:18:56 -03:00
Thiago Santos
4517eb28c0 pulseaudiosink: port to 0.11 2011-10-09 21:19:30 -03:00
Thiago Santos
358767e217 pulsesink: Fixing getcaps function
Update getcaps function to 0.11 API
2011-10-09 21:19:27 -03:00
Mark Nauwelaerts
00a91fc061 speexenc: only push header buffers following initial events 2011-10-09 21:32:32 +02:00
Wim Taymans
586ef0babd Merge branch 'master' into 0.11
Conflicts:
	ext/speex/gstspeexdec.c
	ext/speex/gstspeexenc.c
	gst/isomp4/atoms.c
	gst/isomp4/gstqtmux.c
2011-10-06 12:23:39 +02:00
Tim-Philipp Müller
ca77c96c51 speexenc: initialise variable before adding to it 2011-09-29 23:21:46 +01:00
Mark Nauwelaerts
c5354bee04 speexdec: port to audiodecoder 2011-09-29 17:33:25 +02:00
Mark Nauwelaerts
53476c1580 speexenc: clean up some unused remnants 2011-09-29 17:33:23 +02:00
Mark Nauwelaerts
c1909c32c5 speexenc: port to audioencoder 2011-09-29 17:33:21 +02:00
Tim-Philipp Müller
3d01b9f398 flacdec: get rid of granulepos handling
Leave that to the parser or demuxer. There's still some
code for operating in DEFAULT (samples) format, but that
will be removed later.
2011-09-28 19:10:27 +01:00
Tim-Philipp Müller
5c28f426d7 flacdec: get rid of pull-mode support and focus on being a decoder
Leave all the other stuff to flacparse.
2011-09-28 19:03:13 +01:00
Tim-Philipp Müller
e0d994c9e1 flac, jpeg: fix compiler warning 2011-09-28 17:39:06 +01:00
Wim Taymans
b4524858be flac: port to 0.11 2011-09-28 17:40:01 +02:00
Wim Taymans
762602d56a Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacenc.c
2011-09-28 17:39:12 +02:00
Mark Nauwelaerts
e8bcd41d73 flacenc: port to audioencoder 2011-09-28 16:14:46 +02:00
Wim Taymans
87fbd1e784 Merge branch 'master' into 0.11
Conflicts:
	common
	ext/pulse/pulsesink.c
	ext/soup/gstsouphttpclientsink.c
	gst/audioparsers/gstaacparse.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtpmanager/gstrtpjitterbuffer.c
	gst/rtpmanager/rtpjitterbuffer.c
	gst/rtsp/gstrtspsrc.c
	sys/ximage/gstximagesrc.c
2011-09-28 12:44:59 +02:00
Tim-Philipp Müller
3828537857 soup: rename souphttpsink to souphttpclientsink
To avoid confusion, and because we might want a server
sink at some point too.

https://bugzilla.gnome.org/show_bug.cgi?id=659947
2011-09-25 15:13:39 +01:00
Tim-Philipp Müller
be7cbd4c21 souphttpsink: don't create unused second sink pad object
The base class will create the sink pad.
2011-09-23 16:39:46 +01:00
Vincent Penquerc'h
7e4574e968 speexenc: do not use invalid buffer timestamps 2011-09-19 09:37:58 +02:00