Commit graph

2349 commits

Author SHA1 Message Date
Wim Taymans
456c8e8205 pulsesrc: improve clock handling
Post the notify outside of the pa_lock to avoid a deadlock caused by basesrc
calling get_time with the object lock.
Reset the clock on connect.
Post clock-lost and clock-provide messages.

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

Conflicts:

	ext/pulse/pulsesrc.c
2012-06-07 15:15:03 +02:00
Mohammed Sameer
3bcae19398 Better GstClock for pulsesrc
This clock uses the actual stream time (pa_stream_get_time) to get a more accurate timestamp.

Conflicts:

	ext/pulse/pulsesrc.c
2012-06-07 15:11:09 +02:00
Vincent Penquerc'h
088c4442c4 png: fix video state leaks 2012-06-07 11:25:23 +01:00
Vincent Penquerc'h
1dad35eeff jpegdec: fix video state leak 2012-06-07 11:24:45 +01:00
Wim Taymans
b5df4f0e62 update for tag event change 2012-06-06 13:02:12 +02:00
Thiago Santos
78ec03e32f Some printf variable format fixes
The osx compiler complains about those
2012-06-05 17:53:57 -03:00
Wim Taymans
23520e4127 jpegdec: set colorimetry on output info 2012-06-04 16:18:05 +02:00
Sebastian Dröge
5ba30e6111 png: Port to 0.11 again 2012-05-28 15:22:55 +02:00
Jens Georg
982c1b479f soup: Drop transferMode.dlna.org header
Leave it to the application to decide on the header. No header at all
is better than having the wrong header as DLNA mandates that a missing
header has to be tolerated while a wrong header is an error.

https://bugzilla.gnome.org/show_bug.cgi?id=676020
2012-05-28 15:22:55 +02:00
Edward Hervey
0b82806547 png: Port to base video classes
Conflicts:

	ext/libpng/gstpngdec.c
	ext/libpng/gstpngdec.h
	ext/libpng/gstpngenc.c
	ext/libpng/gstpngenc.h

Reverted to 0.10, needs to be ported again.
2012-05-28 15:22:55 +02:00
Mathias Hasselmann
e143c43ef5 jpegdec: remove framerate
The jpeg decoder doesn't need/care about the framerate to so it should
not be in the caps.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676302
2012-05-24 16:13:05 +02:00
Luis de Bethencourt
b63a6e2cbc mng: remove ext/libmng
Port to 0.10 was never finished.
Interest was lost.

https://bugzilla.gnome.org/show_bug.cgi?id=324364
2012-05-22 13:48:48 +01:00
Sjoerd Simons
c5196f6b1b pulsesrc: Listen to source output events, not sink input 2012-05-21 11:57:17 +02:00
Edward Hervey
f96d18e959 jpeg: Remove dead code
Conflicts:

	ext/jpeg/gstjpegdec.c
2012-05-18 11:16:05 +02:00
Sebastian Dröge
c11e680a10 jpegdec: Fix compilation 2012-05-18 11:05:35 +02:00
Edward Hervey
9c4e195e79 jpegdec: When dropping frames on EOS, flush out data
Cleaner way of handling stray data
2012-05-18 11:05:17 +02:00
Edward Hervey
d243fb9178 jpegdec: Remove unused variable
Conflicts:

	ext/jpeg/gstjpegdec.c
2012-05-18 11:05:02 +02:00
Edward Hervey
d811797186 jpegdec: Only parse for SOI when we didn't see it before 2012-05-18 11:04:39 +02:00
Edward Hervey
c6c4906770 jpegdec: Remember if we saw SOI and handle stray data on EOS 2012-05-18 11:04:32 +02:00
Tim-Philipp Müller
95f6e0dbe4 souphttpsrc: fix possible data corruption after seeking
Consider a downstream element that may issue seeks in very short
succession (e.g. queue2), depending on the access pattern of
the downstream element (e.g. qtdemux with audio/video chunks
interleaved so that there's always a sizeable gap between the
current chunks for each stream). In this case, queue2 will maintain
two ranges, and even when it serves a chunk from memory, it will
switch ranges and make souphttpsrc seek to the end of the available
data for that range, assuming that that's where we'll want to
continue reading from next.

This may lead to the following seek request pattern:

 - source reading position A
 - seek to B
 - now reading position still A, requested_postion is B
 - streaming thread to be restarted to continue from B
 - seek to A, before streaming thread had time to do the seek
 - do_seek() now sees reading position == seek position and
   returns early.
 - however, requested position is still B from the earlier
   seek request
 - streaming thread starts up, sees that a seek to B is pending
   and requests data from B from the server, while the GstBaseSrc
   segment has of course been updated/reset to position A, which
   was the last seek request.
 - we will now send data for position B and pretend that's the
   data from position A (via the newsegment event, etc.)
 - this causes data corruption

Reproducible doing seek-emulated fast-forward/backward on 006648.
2012-05-16 08:31:15 +01:00
Sebastian Dröge
62580b14f6 jpeg: Port to 0.11 again 2012-05-14 14:39:34 +02:00
Edward Hervey
8e9eb77816 jpeg: Port jpegdec/jpegenc to base video classes
Conflicts:

	ext/jpeg/gstjpegdec.c
	ext/jpeg/gstjpegdec.h
	ext/jpeg/gstjpegenc.c
	ext/jpeg/gstjpegenc.h

Reverted to 0.10 versions for now, next port again.
2012-05-14 13:01:48 +02:00
Tim-Philipp Müller
dd75c21670 annodex: remove annodex plugin and CMML elements
This never really took off and is most likely completely
unused. If there is still a need for this, it should
probably be done differently, perhaps inside oggdemux/mux.
2012-05-13 19:21:19 +01:00
Thiago Santos
db74901b6a jpegenc: do not proxy our filter caps downstream on caps queries
Downstream likely won't accept video/x-raw and the caps query
will return EMPTY caps. Instead, create a copy of the caps that
has all structure names replaced by 'image/jpeg'

Simple pipeline that shows the problem:
gst-launch-1.0 videotestsrc num-buffers=1 ! "video/x-raw, \
  width=(int)640, height=(int)480" ! videoscale ! jpegenc ! \
  "image/jpeg, width=(int)800, height=(int)600" ! filesink \
  location=/tmp/image.jpg
2012-05-04 16:25:31 -03:00
Wim Taymans
373333c2b3 pulsesink: improve debug 2012-04-25 10:29:45 +02:00
Wim Taymans
c0140982ee pulsesink: start unmuted when requested
When we explicitely set the mute property to FALSE, connect to pulseaudio with
the PA_STREAM_START_UNMUTED flag set, otherwise pulseaudio will use its
previously used value (which might start the stream muted).

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=672401
2012-04-25 10:29:45 +02:00
Bastien Nocera
933986fccc soup: Handle icy and icyx URI schemes
As handled by QuickTime (for icy), and Orban/Coding Technologies
AAC/aacPlus Player (for icyx). See also:
https://bugzilla.gnome.org/show_bug.cgi?id=394207
https://bugzilla.gnome.org/show_bug.cgi?id=403285

https://bugzilla.gnome.org/show_bug.cgi?id=673899
2012-04-23 15:34:54 +02:00
Sebastian Dröge
04b70571e5 video: Update for libgstvideo API changes 2012-04-19 12:20:59 +02:00
Mark Nauwelaerts
38d571fa57 dv1394: port to 0.11 2012-04-18 17:09:45 +02:00
Mark Nauwelaerts
67e168aef4 collectpads2: rename to collectpads 2012-04-17 15:14:27 +02:00
Tim-Philipp Müller
e0eddb4f25 shout2: update for ogg media type changes 2012-04-15 22:49:47 +01:00
Sebastian Dröge
d99eb6d2cb Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
Руслан Ижбулатов
e7659756a1 Fix format string
Fixes #673859
2012-04-10 22:41:20 +01: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
Mark Nauwelaerts
ecf09f45f3 jpegenc: plug template caps leak 2012-04-03 18:42:51 +02:00
Wim Taymans
3d61d12e03 update for buffer api change 2012-03-30 18:15:34 +02:00
Sebastian Dröge
df946f603f speexenc: Use new gst_audio_encoder_set_headers() API 2012-03-30 12:53:44 +02:00
Sebastian Dröge
b16f5637e8 ext: Update for GstAudioEncoder API changes 2012-03-30 12:18:45 +02:00
Mark Nauwelaerts
12d7acf6f6 flacenc: plug ref leak 2012-03-29 17:21:53 +02:00
Sebastian Dröge
49f85b38b7 Merge remote-tracking branch 'origin/0.10'
Conflicts:
	configure.ac
2012-03-29 15:03:09 +02:00
Mark Nauwelaerts
e4e38f9a0f wavpackenc: query downstream for BYTE seeking support 2012-03-28 14:50:04 +02:00
Mark Nauwelaerts
03bde3f0d2 flacenc: query downstream for BYTE seeking support 2012-03-28 14:50:03 +02:00
Mark Nauwelaerts
5550d8bc6f flacdec: clean up obsolete log statement 2012-03-28 14:50:03 +02:00
Wim Taymans
69002aa24f update for buffer changes 2012-03-28 12:53:05 +02:00
Tim-Philipp Müller
e780771223 gdkpixbufoverlay: add "alpha" property to set alpha of overlay image
.. or turn the overlay off by setting alpha to 0.0
2012-03-25 00:18:43 +00:00
Wim Taymans
c44cd8f55b Merge branch 'master' into 0.11
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850

Conflicts:
	docs/plugins/Makefile.am
	docs/plugins/gst-plugins-good-plugins-docs.sgml
	docs/plugins/gst-plugins-good-plugins-sections.txt
	docs/plugins/gst-plugins-good-plugins.hierarchy
	docs/plugins/inspect/plugin-avi.xml
	docs/plugins/inspect/plugin-png.xml
	ext/flac/gstflacdec.c
	ext/flac/gstflacdec.h
	ext/libpng/gstpngdec.c
	ext/libpng/gstpngenc.c
	ext/speex/gstspeexdec.c
	gst/audioparsers/gstflacparse.c
	gst/flv/gstflvmux.c
	gst/rtp/gstrtpdvdepay.c
	gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01:00
Mark Nauwelaerts
19121249bd flacdec: improve error handling and resilience
... by noting that one occurred in the first place, and then appropriately
ignoring some transient ones.
2012-03-19 12:02:42 +01:00
Tim-Philipp Müller
e300675384 docs: update docs for new properties and add gdkpixbufoverlay element
Somewhat at least. No idea why it doesn't pick up the description
or example pipeline.
2012-03-18 00:17:21 +00:00
Tim-Philipp Müller
a4860b3c01 gdkpixbufoverlay: make most properties controllable and flag them as mutable-playing 2012-03-18 00:12:19 +00:00
Tim-Philipp Müller
fdb7ec12b4 gdkpixbufoverlay: add properties for positioning and sizing 2012-03-17 23:46:23 +00:00
Tim-Philipp Müller
729a30c38b gdkpixbuf: add gdkpixbufoverlay element
Still lacks features such as positioning or resizing, or
animations, but it's usable already, and supports lots of
formats.
2012-03-17 20:19:29 +00:00
Wim Taymans
513d480fbf don't pass random pointers to pull_range 2012-03-16 21:47:21 +01:00
Wim Taymans
ced47580b7 update for bufferpool changes 2012-03-15 22:11:17 +01:00
Wim Taymans
f3a770a20c update for allocation query changes 2012-03-15 20:37:56 +01:00
Wim Taymans
ecaea36c3d update for memory api changes 2012-03-15 13:36:17 +01:00
Wim Taymans
ad0af26eed update for memory api changes 2012-03-14 21:36:03 +01:00
Wim Taymans
751fcf035b take padding into account 2012-03-14 19:56:56 +01:00
Andrej Gelenberg
9fb6766870 pngenc: add support for 8- and 16-bit gray images
Add support for direct encoding of 8- and 16-bit big endian gray images.

https://bugzilla.gnome.org/show_bug.cgi?id=672025
2012-03-14 13:43:49 +00:00
Mark Nauwelaerts
1e16b61c8c wavpackenc: do not set output caps directly
... but use base class function instead.
2012-03-14 10:39:59 +01:00
Wim Taymans
ed59c841a4 pulse: fix formats, we can not handle S8 but only U8 2012-03-13 13:25:09 +01:00
Wim Taymans
89105970f0 flacenc: fix streamheaders
Fix the caps of flacenc, the reference encoder only support 24 bits in
32 bits.
Set streamheader on output caps.
2012-03-13 12:40:37 +01:00
Ross Burton
265a5bfa9b flacenc: generate seektables every 10 sec by default
Since this is what the command line tool does as well, it seems like
a better default.
2012-03-12 15:27:27 +01:00
Andrej Gelenberg
38372eb199 pngdec: add support for video/x-raw-gray formats
pngdec can now decode gray 8- and 16-bit images without alpha channel
direct to video/x-raw-gray format. 16-bit gray images have big-endian
format, because it's native PNG endianness. Gray images with alpha
channel still converted to RGBA.

Signed-off-by: Andrej Gelenberg <andrej.gelenberg@udo.edu>
2012-03-12 15:18:12 +01:00
Wim Taymans
075cd54019 fix for caps _normalize changes 2012-03-12 12:23:15 +01:00
Wim Taymans
a32d944a38 fix for caps api changes 2012-03-11 19:06:37 +01:00
Wim Taymans
756948262c fix template caps refcount 2012-03-10 10:52:01 +01:00
Wim Taymans
e0e39cb4ee aasink: propose videometa uptream
subclass from videosink.
Propose videometa upstream because we can handle it with the video api.
2012-03-08 13:09:33 +01:00
Mark Nauwelaerts
a199ad9001 speexdec: use base class tag handling helper
... so as to ensure these to be handled and sent at proper time.
2012-03-06 16:23:48 +01:00
Sebastian Dröge
4101f87d17 wavpack: Fix possible underflow of unsigned integer variable 2012-03-06 14:25:27 +01:00
Wim Taymans
1f0cf56c8b gdk: cleanups and fix rowstride
Fix the output rowstride, we need to take the stride of the output video frame.
Since we are also dealing with planes, take the plane data and stride.
Don't store the same info twice in different variables.
2012-03-05 15:42:17 +01:00
Wim Taymans
4d8002e9c4 gdkpixbuf: fix event handling 2012-03-05 15:42:17 +01:00
Mark Nauwelaerts
2f7d8f55a4 wavpackdec: port to 0.11 2012-03-05 13:44:21 +01:00
Mark Nauwelaerts
e0c7004667 wavpackenc: port to 0.11 2012-03-05 13:44:21 +01:00
Mark Nauwelaerts
8721817f6d wavpack: remove legacy wavpackparse 2012-03-05 13:44:21 +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
Mark Nauwelaerts
dccbbe191d wavpackdec: allow some timestamp tolerance to arrange for perfect timestamping
... which also happens to make some more unit tests pass.
2012-03-05 10:56:41 +01:00
Mark Nauwelaerts
e43ff87364 wavpackdec: fix copying output data 2012-03-05 10:56:41 +01:00
Mark Nauwelaerts
7dbb1551ae wavpackenc: restore legacy buffer offset decorating somewhat
... at least sufficiently to aid in recognizing rewritten header buffer
making unit test pass.
2012-03-05 10:56:41 +01:00
Stefan Sauer
7ca56e24bd wavpackparse: remove empty lines in varable declarations caused by old indent 2012-03-05 10:47:19 +01:00
Stefan Sauer
9212d79198 jack: fix obvious wrong definition for the master flag 2012-03-05 10:44:54 +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
Sebastian Dröge
3299f39179 mixer/colorbalance: Update for API changes 2012-03-02 10:13:08 +01:00
Wim Taymans
431ecdf6b7 aasink: fix stride 2012-03-01 17:42:05 +01:00
Mark Nauwelaerts
f189f62b13 Merge branch 'master' into 0.11
Conflicts:
	ext/wavpack/gstwavpackenc.c
	tests/check/elements/audioiirfilter.c
	tests/examples/v4l2/probe.c
2012-03-01 11:29:50 +01:00
Mark Nauwelaerts
9f4fb6feb9 gdkpixbufsink: remove deprecated property 2012-03-01 10:52:58 +01:00
Mark Nauwelaerts
3720d1cb09 gdkpixbufscale: remove deprecated property 2012-03-01 10:52:58 +01:00
Mark Nauwelaerts
06bf7481b1 gdkpixbufsink: port to 0.11 2012-03-01 10:52:58 +01:00
Mark Nauwelaerts
84881b5399 gdkpixbufscale: port to 0.11 2012-03-01 10:52:58 +01:00
Mark Nauwelaerts
606a88f197 gdkpixbufdec: port to 0.11 2012-03-01 10:52:58 +01:00
Mark Nauwelaerts
a5144cbba0 wavpackdec: adjust to audio format limitations
... which does not allow expressing arbitrary depth in a GstAudioFormat.

Also adjust unit test to modified behaviour.
2012-02-27 23:46:15 +01:00
Mark Nauwelaerts
0723928e8b wavpackdec: determine depth from bytes per sample
... rather than from bits per sample, since spec states values are already
left justified w.r.t. bits per sample but not w.r.t. bytes per sample
(and so the latter determines the normalization, or indicated depth).
2012-02-27 23:46:08 +01:00
Mark Nauwelaerts
004377b0b5 wavpackdec: port to audiodecoder 2012-02-27 23:46:03 +01:00
Mark Nauwelaerts
b863df570f wavpackenc: port to audioencoder
Also adjust unit test to slightly modified behaviour.
2012-02-27 23:45:54 +01:00
Edward Hervey
9beda57c3a Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:47:25 +01:00
Wim Taymans
36e6b25e73 speexenc: chain up to parent event handler 2012-02-27 13:09:31 +01:00
Wim Taymans
a51ce46d90 flacenc: fix event handling
Fix dodgy segment event handling
Chain up to parent event handler
2012-02-27 13:05:33 +01:00
Tim-Philipp Müller
61d3a215a0 Merge commit '38516ad367128d83f9e156529018adb4433cd328' into 0.11
Conflicts:
	ext/pulse/pulseaudiosink.c
	gst/audioparsers/gstmpegaudioparse.c
2012-02-27 00:48:57 +00:00
Tim-Philipp Müller
3e9f191262 flacenc: fix get_caps function some more so that all structures have channel info
Set channels and channel-layout on the right structure; that is, the
structure we are going to append to the caps we are building, and not
the structure we are using as a template for all the structures. Fixes
first structure of the returned caps not having any channel info set
on it.
2012-02-22 17:39:16 +00:00
Tim-Philipp Müller
f0b076212f flacenc: microoptimisation: avoid unnecessary list and string copies 2012-02-22 17:09:25 +00:00
Tim-Philipp Müller
9ce663f04d flacenc: audio caps have a *list* of formats, not an array of formats
A list of things in caps is something where one is picked in the
course of negotiation. An array is always something that only makes
sense as a whole in that order.
2012-02-22 17:03:42 +00:00
Mark Nauwelaerts
38516ad367 flacenc: remove post-port bogus _unref 2012-02-22 18:03:11 +01:00
Tim-Philipp Müller
b7e96ebe37 flacenc: remove bogus pad locking that causes deadlocks
It's not clear why the pad object lock is taken here. But
gst_pad_{has,get}_current_caps() will try to take the lock
as well and deadlock, since it's not recursive.
2012-02-22 17:00:19 +00:00
Tim-Philipp Müller
9c5c33790a flacenc: set right number of channels on caps in get_caps function 2012-02-22 16:59:42 +00:00
Vincent Untz
a32e030faa pulse: Fix a build warning when compiling with asserts disabled
Return a value even if the code will never be reached, to make compilers
happy.

https://bugzilla.gnome.org/show_bug.cgi?id=670561
2012-02-21 20:12:06 +00:00
Edward Hervey
98dd495272 id3v2mux: Fix merge error 2012-02-21 10:40:00 +01:00
Mark Nauwelaerts
594867fe37 shout2: use some more boilerplate 2012-02-16 23:35:11 +01:00
Mark Nauwelaerts
834c63f87e shout2: port to 0.11 2012-02-16 23:35:11 +01:00
Tim-Philipp Müller
91a58ccda1 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/taglib/gstapev2mux.cc
	ext/taglib/gstid3v2mux.cc
	ext/taglib/gsttaglibmux.c
	ext/taglib/gsttaglibmux.h
2012-02-12 17:03:37 +00:00
Tim-Philipp Müller
736f68e1e6 taglib: port to GstTagMux base class 2012-02-12 16:22:21 +00:00
Vincent Penquerc'h
8620c16b27 taglib: finish off a few missed variable changes
Local variables are now unused, and the values from the segment copy
are used instead, so remove the now useless local variables and write
to the segment where appropriate.
2012-02-12 12:24:50 +00: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
Mark Nauwelaerts
abc8c162ed flacdec: shift in proper direction for audio sample conversion 2012-02-09 22:09:31 +01:00
Wim Taymans
9365f12d6e GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:43:30 +01:00
Ralph Giles
8b2ca70124 shout2send: send video/webm through libshout.
This requires SHOUT_FORMAT_WEBM, added in libshout 2.3.0,
so video/webm support is contingent on that symbol being
defined.

Also an indentation change required by the pre-commit hook.

https://bugzilla.gnome.org/show_bug.cgi?id=669590
2012-02-08 10:50:18 +00: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
Wim Taymans
819865ea54 taglib: fix object registration
We can't use G_DEFINE_TYPE because the class is not set in the class_init and we
need it to get the srcpad template.
Fix a caps leak
2012-02-07 10:30:28 +01:00
Wim Taymans
88733ea2f8 soup: fix caps 2012-02-07 10:30:28 +01:00
Mark Nauwelaerts
9be8a6f48c dv: port to 0.11 2012-02-06 22:15:45 +01:00
Arun Raghavan
4e2cf393c0 pulseaudiosink: Lower rank to prevent autoplugging
pulseaudiosink breaks visualisations in its current form, so let's
prevent it from being autoplugged for the time being.

The best we can hope to do in the 0.10 series is query the list of
available sinks and their formats, and expose these as the bin's sinkpad
caps. While this is not a comprehensive solution, it will make sure that
we're only trying to support compressed formats if we're certain that
one exists.

The long-term fix for this will be in the form of proper upstream
renegotiation support in the 0.11/1.0 series.

https://bugzilla.gnome.org/show_bug.cgi?id=666361
2012-02-03 22:12:06 +05:30
Wim Taymans
78ed46cc4f cmmlenc: fix caps handling 2012-02-03 16:14:08 +01:00
Vincent Penquerc'h
5ff31d446e flacenc: fix event leak when there is no peer on the src pad 2012-02-03 14:53:31 +00:00
Mark Nauwelaerts
da0cdc7713 taglib: port to 0.11 2012-02-01 18:02:15 +01:00
Tim-Philipp Müller
0f3b7b010e build: ignore GValueArray deprecation warnings for the time being
until this gets sorted out with the GLib folks and we have a
viable alternative.

https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-02-01 16:40:51 +00:00
Tim-Philipp Müller
284ee0b84a pulse: disable some unused property probe code
which was using GValueArray
2012-02-01 16:36:53 +00:00
Sebastian Dröge
a67bd41d75 speex: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:47 +01:00
Sebastian Dröge
161229a384 flac: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:47 +01:00
Wim Taymans
bb2bd604e0 update for HEADER flag 2012-01-30 17:16:51 +01:00
Jayakrishnan M
d6821a336d cairo: fix build, make sure libgstvideo can be found
https://bugzilla.gnome.org/show_bug.cgi?id=668648
2012-01-25 15:21:44 +00:00
Sebastian Dröge
0b517ce9fb Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-good into 0.11 2012-01-25 12:49:34 +01:00
Sebastian Dröge
10554b271f Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacdec.c
	ext/jpeg/gstjpegenc.c
	ext/pulse/pulsesink.c
	sys/v4l2/gstv4l2src.c
2012-01-25 12:49:11 +01:00
Wim Taymans
f87ab74add png: port to new memory API 2012-01-25 12:41:42 +01:00
Wim Taymans
b4630dd3e0 more memory API porting 2012-01-25 12:30:29 +01:00
Mark Nauwelaerts
a31a9e1f33 pngenc: disably snapshot behaviour by default
... since such behaviour is not consistent, if allowable at all.
2012-01-24 18:25:04 +01:00
Mark Nauwelaerts
2fcb5fa05b pngdec: port to 0.11 2012-01-24 18:25:04 +01:00
Mark Nauwelaerts
a1797459cb pngenc: port to 0.11 2012-01-24 18:25:04 +01:00
Tim-Philipp Müller
7cb9b7ab9d Use new GLib API unconditionally 2012-01-22 23:15:19 +00:00
Mark Nauwelaerts
1911812572 flacdec: improve upstream peer duration querying
... to avoid accepting unhandled duration query result.
2012-01-20 17:10:19 +01:00
Mark Nauwelaerts
e44d930289 pulsesrc: additional error condition checking 2012-01-20 17:10:17 +01:00
Mark Nauwelaerts
3168b77e04 pulsesink: additional error condition checking 2012-01-20 17:10:14 +01:00
Mark Nauwelaerts
ad11ec4121 jpegenc: check _alloc_buffer result and perform fallback alloc if needed
... rather than carrying on with NULL buffer.
2012-01-20 17:10:11 +01:00
Wim Taymans
b22c0dd3f6 update for memory API 2012-01-19 12:44:39 +01:00
Wim Taymans
1584806634 port to new gthread API 2012-01-19 11:33:53 +01:00
Vincent Penquerc'h
f0ac29113c pulsesrc: fix wrong error check
pa_stream_* functions return negative on error, despite the defines
for error codes being positive.

I only got to repro the error twice, so I'm not sure 100% sure this
fixes the issue (the negative var being uninitialized after returning
from pa_stream_get_latency).
2012-01-13 18:11:36 +00: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
Vincent Penquerc'h
483514528a flacenc: do not drop the first data buffer on the floor (and leak it either) 2012-01-12 10:30:56 +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
Sebastian Dröge
e3c8c4f8b0 souphttpsrc: Fix buffer handling
souphttpsrc is now usable again and doesn't crash anymore
whenever something is read from a HTTP connection.
2012-01-11 14:10:46 +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
Stefan Sauer
0280ab04ed jack: use jack type for the callback
Jack headers have a typedef for the shutdown callback as well.
2012-01-10 15:08:16 +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
a22a566c0b flac: Port to the new raw audio caps 2012-01-06 09:40:55 +01:00
Sebastian Dröge
4b6a410be0 speex: Update for the new raw audio caps 2012-01-05 10:36:49 +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
Sebastian Dröge
dc049d1f1f pulse: Port to the new multichannel caps 2012-01-05 10:30:30 +01:00
Wim Taymans
47a1da9076 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-04 10:01:48 +01:00
Wim Taymans
5fd2b7abe3 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:26:21 +01:00
Nicola Murino
7202d37c9d jpegdec: fix peer_caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=666688
2011-12-26 15:34:47 -03:00
Tim-Philipp Müller
ff74718616 pulse: remove pulseaudiosink helper bin
This is causing us lots of headaches in 0.10 and needs to be done
differently and properly in 0.11. playbin or decodebin should
reconfigure themselves based on reconfigure events, for example.
2011-12-25 22:21:36 +00:00
Tim-Philipp Müller
2799bcd32e pulse: update for ring buffer audio format type enum rename 2011-12-25 21:45:45 +00:00
Wim Taymans
4b8975f867 update for removed property probe 2011-12-21 11:59:46 +01:00
Vincent Penquerc'h
cf344d50b1 cairotextoverlay: port to GstCollectPads2 2011-12-14 18:34:25 +00:00
Tim-Philipp Müller
b8b8454bcb Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
330d984288 Use g_thread_try_new() instead of g_thread_crate() with newer glib versions 2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
66f6e12888 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
8aebe194aa gdkpixbufsink: fix inverted pixel-aspect-ratio
Spotted by Mike Morrison.

https://bugzilla.gnome.org/show_bug.cgi?id=665882
2011-12-11 18:40:31 +00:00
Tim-Philipp Müller
9c1095f474 pulseaudiosink: don't leak pad template 2011-12-11 17:55:14 +00:00
Tim-Philipp Müller
5bb4dcd89c soup: fix start/stop race in souphttpclientsink
Fix crash or hang in generic/states unit test when doing stop()
right after start(). Create main loop in the start function already
and not just in the thread function, so that stop() always has a
valid main loop to quit on. Also, calling g_main_loop_quit() before
g_main_loop_run() won't work and result in the stop function waiting
for the thread to join forever. Therefore, wait for the thread to
be ready and get the main loop running in the start() function, to
be sure stop() always works.
2011-12-11 17:24:20 +00:00
Tim-Philipp Müller
adb15bf34a pulse: rename "client" properties to "client-name"
Better name, but also matches the property on the jack
elements (where "client" is used for something else).
2011-12-09 16:04:56 +00: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
Wim Taymans
1538803ac4 update for basesink event handler changes 2011-12-02 22:25:17 +01:00
Wim Taymans
5bfc7b4bfe update for moved audio interfaces 2011-11-30 07:57:40 +01:00
Thiago Santos
1e6bd5ad57 Revert "pulseaudiosink: fix caps leak"
This reverts commit d6a9de9e2a.

setcaps functions aren't supposed to take ownership of the caps passed
2011-11-29 17:34:49 -03: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
Tim-Philipp Müller
eeaa9e0bbc pulseaudio: require pulseaudio >= 1.0 2011-11-26 13:54:22 +00:00
Tim-Philipp Müller
be0d6baac5 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/pulse/pulseaudiosink.c
	ext/pulse/pulsesrc.c
	gst/audioparsers/gstaacparse.c
	gst/audioparsers/gstamrparse.c
	gst/audioparsers/gstdcaparse.c
	gst/audioparsers/gstflacparse.c
	gst/effectv/gstradioac.c
	gst/effectv/gstradioac.h
	gst/effectv/gstripple.c

Some possible FIXMEs remaining in the audio parser getcaps functions.
2011-11-26 13:34:10 +00:00
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
Arun Raghavan
8ca420f547 pulse: New pulseaudiosink element to handle format changes
This introduces a new bin which wraps around pulsesink and depending on
the formats supported by the sink, plugs in/out a decodebin2 as
required. This allows users to switch sinks on the stream and adapts
accordingly (for example, you could watch a movie in passthrough mode on
your receiver which supports AC3 decode, then plug out and switch to a
non-digital profile to continue uninterrupted on analog output).

The bin is required because doing the same with playbin2/playsink will
require API changes that cannot be made in 0.10. With 0.11/1.0, we
should be able to ask for upstream caps renegotiation to deal with all
this.

https://bugzilla.gnome.org/show_bug.cgi?id=657179
2011-09-19 07:43:04 +05:30
Konstantin Miller
24d002e04d souphttpsrc: Don't handle HTTP response 407 as error if proxy authentication data is available
Fixes bug #657422.
2011-09-07 13:28:45 +02:00
Wim Taymans
33f18b8ea4 Merge branch 'master' into 0.11
Conflicts:
	gst/audioparsers/gstamrparse.c
	gst/isomp4/qtdemux.c
2011-09-06 16:06:25 +02:00
Wim Taymans
e204c5934c -good: port to new audio caps 2011-09-06 13:16:27 +02:00
Sebastian Dröge
7b592ff126 souphttpsrc: Allow positive, non-1.0 segment rates
Only negative rates are not supported. Fixes bug #658305.
2011-09-06 10:34:35 +02:00
Wim Taymans
85d7fe14b2 soup: port soup elements to 0.11 2011-08-29 18:02:15 +02:00
Wim Taymans
34ea60526d pulse: add some more channels 2011-08-24 18:44:01 +02:00
Wim Taymans
e9df54819c Merge branch 'master' into 0.11 2011-08-24 14:16:44 +02:00
Arun Raghavan
bd604175c5 pulsesink: Trivial indentation fix 2011-08-23 22:48:34 +05:30
Monty Montgomery
799c8e3d04 flacdec: Correct sample number rounding resulting in timestamp jitter
flacdec converts the src timestamp to a sample number, uses that internally, then reconverts the sample number to a timestamp for the output buffer.  Unfortunately, sample numbers can't be represented in an integer number of nanoseconds, and the conversion process was truncating rather than rounding, resulting in sample numbers and output timestamps that were often off by a full sample.

This corrects the time->sample convesion
2011-08-23 10:09:41 +02:00
Wim Taymans
0eeffef222 pulsesink: port after merge 2011-08-19 16:13:23 +02:00
Wim Taymans
e1b795ac13 Merge branch 'master' into 0.11 2011-08-19 16:12:01 +02:00
Wim Taymans
77ad0a1363 port more elements to new audio caps and API 2011-08-19 14:01:45 +02:00
David Henningsson
e70020b456 pulsesink: Allow writes in bigger chunks
There's no use in splitting the incoming data down to the segsize
limit - by writing as much as possible in one chunk, we increase
performance and avoid PulseAudio unnecessary rewinds.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-08-19 09:48:27 +02:00
Wim Taymans
09b15d7dfe port to new audio caps. 2011-08-18 19:21:07 +02:00
Wim Taymans
ce1e7cb108 Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacdec.c
2011-08-17 15:52:18 +02:00
Wim Taymans
be4f60b062 jpeg: port to 0.11
Also disable smoke for now.
2011-08-17 15:39:27 +02:00
Vincent Penquerc'h
3e0134f51f flacdec: avoid timestamp/offset tracking going out of sync
The libFLAC API is callback based, and we must only call it to
output data when we know we have enough input data. For this
reason, a single processing step is done when receiving a buffer.
However, if there were metadata buffers still pending, a step
intended for the first audio frame might end up writing that
leftover metadata. Since a single step is done per buffer, this
will cause every buffer to be written one step late.

This would add some latency (a bufferfull's worth), possibly
lose a buffer when seeking or the like, and also cause timestamp
and offset to be applied to the wrong buffer, as updates to
the "current" segment last_stop (from incoming buffer timestamp)
will be applied to an output buffer originating from the previous
incoming buffer.

This fixes the issue by ensuring that, upon receiving the first
audio frame, processing is done till all metadata is processed,
so the next "single step" done will be for the audio frame. After
this, we should keep to 1 input buffer -> 1 output buffer and so
avoid getting out of sync.

https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 13:40:59 +01:00
Vincent Penquerc'h
e09eb95a5f flacdec: bail on reserved value
Now that we look at the right bits, we can test against the reserved
value as we do for other fields.

https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 00:02:38 +01:00
Vincent Penquerc'h
64beef4610 flacdec: fix bit twiddling
Right shifting a 8 bit value by 8 bits is twice too much
to get the high 4 bits.

https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 00:01:37 +01:00
Vincent Penquerc'h
1549aaba27 flacdec: warn if we see a variable block size where unsupported
https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 00:01:07 +01: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
Edward Hervey
145f6da5bb aasink: Remove unused variables 2011-08-10 11:28:26 +02:00
Tim-Philipp Müller
9f904ac438 aalib: make sure -DGST_USE_UNSTABLE_API is defined
So we don't get warnings.
2011-08-08 15:26:00 +01:00
Wim Taymans
71346020d5 pulsesrc: avoid race in starting
Sine the base class now does the negotiation from the streaming thread we have
to be careful and check if the stream is ready before changing its corked state.
2011-08-07 11:17:41 +02:00
Wim Taymans
d9750387c1 pulse: more cleanups 2011-08-04 18:41:29 +02:00
Wim Taymans
9ae85cb662 pulsesrc: small cleanups 2011-08-04 18:15:55 +02:00
Wim Taymans
fcbe26cd6f pulsesrc: small cleanups 2011-08-04 16:32:39 +02:00
Wim Taymans
ee2aa25e04 port to new API 2011-08-03 18:37:27 +02:00
Wim Taymans
4121021bb2 Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulsesink.c
	ext/pulse/pulsesrc.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtp/gstrtph264pay.c
	gst/rtpmanager/gstrtpssrcdemux.c
2011-08-03 18:25:30 +02:00
Sebastian Dröge
f18eccd286 hal: Remove hal plugin
hal is not developed anymore and nobody is using the plugin nowadays.
2011-08-03 10:59:56 +02:00
Tristan Matthews
c26442a3ba jackaudiosink: Don't call g_alloca() in process_cb
g_alloca() is not RT-safe, so instead we should allocate the
memory needed in advance. Fixes #655866
2011-08-03 09:44:05 +02:00
Tim-Philipp Müller
25ace0e524 pulsesink: fix variable-set-but-not-used compiler warning with older pulse versions 2011-07-29 13:05:42 +01:00
Arun Raghavan
ac7cad431c pulsesink: Add support for compressed formats
This adds support for various compressed formats (AC3, E-AC3, DTS and
MP3) payloaded in IEC 61937 format (used for transmission over S/PDIF,
HDMI and Bluetooth).

The acceptcaps() function allows bins to probe for what formats the sink
being connected to support. This only works after the element is set to
at least READY.

If the underlying sink changes and the format we are streaming is not
available, we emit a message that will allow upstream elements/bins to
block and renegotiate a new format.
2011-07-29 01:25:15 +05:30
Arun Raghavan
a67b536741 pulsesink: Use the extended stream API if available
This uses the new extended API for creating streams. This will allow us
to support compressed formats natively in pulsesink as well.
2011-07-29 01:25:15 +05:30
Arun Raghavan
379049809c pulsesrc: Add a source-output-index property
This exposes the source output index of the record stream that we open
so that clients can use this with the introspection if they want (to
move the stream, for example).
2011-07-29 00:07:52 +05:30
Tim-Philipp Müller
ab62599832 speex: update for position/query/convert API changes 2011-07-28 11:38:31 +01:00
Thiago Santos
14b9fb7be6 pulsesrc: Fix default value leaking
Remember to free the default value of client name, avoiding a
leak
2011-07-18 15:16:01 -03:00
Wim Taymans
da28ebfbe3 aasink: port to new video API 2011-07-06 17:50:54 +02:00
Wim Taymans
1a0a6f54bb cacasink: port to 0.11 2011-07-06 17:40:20 +02:00
Wim Taymans
f70da0a542 jpeg: beginnings of porting to 0.11 2011-07-06 16:51:36 +02:00
Wim Taymans
fdf5a49422 speex: port speex elements 2011-07-06 15:57:23 +02:00
Wim Taymans
3fd1106b7e Merge branch 'master' into 0.11 2011-07-06 12:05:12 +02:00
René Stadler
ae87731de5 pulsesink: prevent race condition causing ref leak
Since commit 8bfd80, gst_pulseringbuffer_stop doesn't wait for the
deferred call to be run before returning. This causes a race when
READY->NULL is executed shortly after, which stops the mainloop. This
leaks the element reference which is passed as userdata for the callback
(introduced in commit 7cf996, bug #614765).

The correct fix is to wait in READY->NULL for all outstanding calls to
be fired (since libpulse doesn't provide a DestroyNotify for the
userdata). We get rid of the reference passing from 7cf996 altogether,
since finalization from the callback would anyways lead to a deadlock.

Re-fixes bug #614765.
2011-07-05 16:36:17 +02:00
René Stadler
f8456e2a1a pulsesink: small cleanup of copy-paste code 2011-07-05 16:36:17 +02:00
René Stadler
3589cee762 pulsesink: remove unused member variable and misleading log message
Wim changed it in commit 8bfd80 so that pa_defer_ran is not read
anywhere.

The log message used to annotate a mainloop_wait call which is gone.
2011-07-05 16:36:17 +02:00
Wim Taymans
8b040cfae2 pulse: remove implementsinterface 2011-07-04 18:12:56 +02:00
Mark Nauwelaerts
0c25863253 jpegdec: avoid crashing on invalid input without components 2011-07-04 14:32:27 +02:00
Mark Nauwelaerts
d59a00aa1c Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulsesink.c
2011-07-04 11:48:13 +02:00
David Schleef
f69dcaab58 pulse: Increase ranks to PRIMARY + 10
So that pulsesrc/pulsesink get chosen over other possible PRIMARY
src/sinks by autoaudiosink.  Presumably, if pulse is available, it
is always preferred over another src/sink.

Fixes: #647540.
2011-07-03 19:53:42 -07:00
David Schleef
2f94df8032 jpegenc: Don't round up size of encoded buffers
For some reason, in code dating to 2001, encoded jpeg buffers were
rounded up to multiples of 4 bytes.  With the added bonus that the
extra bytes are unwritten, causing valgrind issues.  Oops.  I can't
think of any reason why JPEG buffers need to be multiples of 4 bytes,
so I removed the padding.  There might be some code somewhere that
depends on this behavior, so if this needs to be reverted, please fix
the valgrind issues.
2011-06-29 23:55:33 -07:00
Andoni Morales Alastruey
d9f4c59c49 dv1394src: make the internal clock thread safe
Fixes: #653091.
2011-06-24 12:01:39 -07:00
Arun Raghavan
04786a6d31 pulse: Drop support for PA versions before 0.9.16
This drops support fof PulseAudio versions prior to 0.9.16, which was
released about 1.5 years ago. Testing with very old versions is not
feasible and we don't want to maintain 2 independent code-paths.
2011-06-21 16:47:11 -07:00
Wim Taymans
adee56222b pulsesink: fix for header cleanups 2011-06-21 18:19:02 +02:00
Tim-Philipp Müller
3d6955d686 Remove esound/esdsink plugin 2011-06-15 15:09:18 +01:00
Tim-Philipp Müller
728732438b Remove gconf elements and plugin
GConf was deprecated in favour of GSettings etc.
2011-06-15 14:37:29 +01:00
Wim Taymans
c2358404c1 jack: port some more 2011-06-09 17:56:18 +02:00
Wim Taymans
3446ca801e aasink: register template and klass correctly 2011-06-09 11:37:47 +02:00
Wim Taymans
710fa239d5 Merge branch 'master' into 0.11 2011-06-08 18:06:56 +02:00
Wim Taymans
0af32751ae assink: port aasink to 0.11 2011-06-08 18:05:20 +02:00
David Schleef
6d8d08eac7 souphttpsink: code cleanup 2011-06-04 13:43:28 -07:00
Wim Taymans
0b1bdcf7cb Merge branch 'master' into 0.11
Conflicts:
	sys/ximage/ximageutil.c
2011-06-02 18:51:29 +02:00
Sebastian Dröge
252c1afcc2 dvdemux: First query the peer duration in the requested format before converting to BYTES
Fixes usage of dvdemux after another demuxer, e.g. mxfdemux.
Fixes bug #650503.
2011-06-02 13:38:30 +02:00
Sebastian Dröge
e376913fc3 souphttpsink: Fix refcounting of the "session" property
Properties should never take ownership of the values
passed to them.
2011-06-02 10:41:52 +02:00
David Schleef
3937abf999 soup: Add souphttpsink 2011-06-01 17:19:02 -07:00
Vincent Penquerc'h
38b596337f cairotextoverlay: forward new segment events from the sink to the source
Not doing so will cause buffers to be received by downstream without
a time base set.
We use the same method avimux uses to get access to the event when
collectpads got the sink event function.

https://bugzilla.gnome.org/show_bug.cgi?id=640323
2011-05-26 11:35:01 +02:00
Vincent Penquerc'h
b99f4be3db textoverlay: forward source events to sinks
Events are passed to the video sink, and to the text sink if it is
linked.
This will allow seeking, for instance.

https://bugzilla.gnome.org/show_bug.cgi?id=586450
2011-05-26 11:33:10 +02:00
Wim Taymans
d89790d545 Merge branch 'master' into 0.11
Conflicts:
	gst/avi/gstavidemux.c
	gst/rtp/gstrtpac3depay.c
	gst/rtp/gstrtpg726depay.c
	gst/rtp/gstrtpmpvdepay.c
	gst/videofilter/gstgamma.c
2011-05-24 17:34:19 +02:00
Tim-Philipp Müller
900b2fb63d flacdec: also try upstream first for duration query in DEFAULT format
https://bugzilla.gnome.org/show_bug.cgi?id=650785
2011-05-23 13:25:44 +01:00