Commit graph

1965 commits

Author SHA1 Message Date
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
Wim Taymans
cf1248e566 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
2011-05-16 17:52:11 +02:00
Wim Taymans
a0e301ab1a -good: fix for new API 2011-05-16 17:50:15 +02:00
Pino Toscano
b52c7ebd19 pulse: Define PATH_MAX if it isn't defined
GNU Hurd for example doesn't define it.
2011-05-16 09:04:31 +02:00
Sebastian Dröge
d4b9cbc1ae flacdec: Send EOS when seeking after the end of file instead of failing
Fixes bug #649780.
2011-05-14 11:52:13 +02:00
Wim Taymans
992e3f7c55 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst/rtp/gstrtpgstpay.c
2011-04-29 15:49:41 +02:00
Wim Taymans
5ed18ad7b9 jack: port jack elements 2011-04-26 15:42:47 +02:00
Philip Jägenstedt
660987c6d7 jpegdec: documentation typo "jpegddec"
https://bugzilla.gnome.org/show_bug.cgi?id=648589
2011-04-25 21:36:28 +01:00
Wim Taymans
a1894ed363 Merge branch 'master' into 0.11 2011-04-25 11:38:28 +02:00
David Schleef
24d57ac961 pngdec: Remove temporary code
Now that we depend on (what will be) -base-0.10.33.
2011-04-24 18:53:50 -07:00
Wim Taymans
2f9a7b1a1b flac: port to 0.11 2011-04-19 18:55:31 +02:00
Wim Taymans
dea50d0b98 use G_DEFINE_TYPE 2011-04-19 17:07:18 +02:00
Wim Taymans
7555d0949f Merge branch 'master' into 0.11
Conflicts:
	android/apetag.mk
	android/avi.mk
	android/flv.mk
	android/icydemux.mk
	android/id3demux.mk
	android/qtdemux.mk
	android/rtp.mk
	android/rtpmanager.mk
	android/rtsp.mk
	android/soup.mk
	android/udp.mk
	android/wavenc.mk
	android/wavparse.mk
	configure.ac
2011-04-18 10:23:45 +02:00
Tim-Philipp Müller
f325935314 pulse, speexenc, rtpgsmpay: don't use g_assert() for error handling
Don't use g_assert() for error handling, even if they're highly unlikely.
Either we *know* that something can't happen, in which case we
should just not handle it, or we think something can happen, but it is
very very unlikely that it will ever happen, in which case we should
handle it like any other error instead of asserting.

g_assert() is best left for conditions we have control of, like checking
internal consistency of our code, not checking return values of external
code.

Fixes a bunch of warnings when compiling with -DG_DISABLE_ASSERT:
gstrtpgsmpay.c: In function 'gst_rtp_gsm_pay_handle_buffer':
gstrtpgsmpay.c:130:17: warning: variable 'rtpgsmpay' set but not used
gstspeexenc.c: In function 'gst_speex_enc_encode':
gstspeexenc.c:904:19: warning: variable 'written' set but not used
pulsesink.c: In function 'gst_pulsesink_change_state':
pulsesink.c:2725:9: warning: variable 'res' set but not used
pulsesrc.c: In function 'gst_pulsesrc_change_state':
pulsesrc.c:1253:7: warning: variable 'e' set but not used
2011-04-16 18:15:43 +01: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
Robert Swain
098cf89e34 jpegenc: pulsesink: raw1394: Address unused but set variables
GCC 4.6.x spits warnings about such usage of variables. The variables in
raw1394 were marked with G_GNUC_UNUSED as this seemed omre appropriate.
The others were removed.
2011-04-16 13:13:04 +01:00
Sebastian Dröge
18eee7719d flacenc: Properly interprete the result of strcmp() 2011-04-13 16:17:41 +02:00
Sebastian Dröge
16f82e46f5 flacenc: Don't store image tags inside the vorbiscomments and the flac metadata
Instead only store them inside the flac metadata. There's
no point in storing them twice and the flac metadata is
still the official way to store image tags inside flac.
2011-04-13 16:11:44 +02: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
Sebastian Dröge
b784173e4a jpegdec: Unref event if the parent element disappeared 2011-04-08 15:22:47 +02:00
Havard Graff
9386448649 jpegdec: Make upstream events MT-safe 2011-04-08 15:21:52 +02:00
Sebastian Dröge
11bcac7c90 Revert "Pulsesink: Allow chunks up to bufsize instead of segsize"
This reverts commit 1e2c1467ae.

The commit causes pulsesink to ignore the latency-time baseaudiosink property.
2011-04-08 14:35:04 +02:00
Alexey Fisher
0016ceaa2b speexenc: Use speex intern silence detection
Speex has build in silence detection. If speex_encode_int returns 0,
than there is silence and sample do not need to be transmitted.
This work only if vbr=1 and dtx=1 optionas are enabled.
So if we get 0, we add GAP flag to the sample.
2011-04-08 13:54:49 +02:00
Wim Taymans
c124ba1489 Merge branch 'master' into 0.11
Conflicts:
	gst/rtsp/gstrtspsrc.c
2011-04-05 17:20:08 +02: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
Arun Raghavan
dc48eaac13 pulsesink: Always call pa_stream_new_with_proplist()
pa_stream_new_with_proplist() can take a NULL proplist, so we don't need
to concern ourselves with whether it's NULL or not.
2011-04-04 17:23:21 +05:30
Sebastian Dröge
6fd1546bce flacenc: Add support for writing METADATA_BLOCK_PICTURE blocks for GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE 2011-04-01 13:18:55 +02:00
Mark Nauwelaerts
176b8ffbff pulsesink: also uncork during EOS waiting (and after EOS is rendered)
Pulsesink was recently changed to defer uncorking until there is data
to write. This condition will however never occur when EOS in being
rendered (since that marks the end of data). Changing to PAUSED state
while EOS is being waited on results in a hang: pausing corks the
stream, which will never be undone since there is no more data when
going back to PLAYING. If pulsesink is the clock provider, deadlock
ensues since time doesn't continue in corked state and the clock id
for EOS wait never fires.

Fixes #645961.
2011-03-31 13:25:19 +02:00
Tim-Philipp Müller
c365fbddba flacdec: fix issues with large metadata blocks when streaming unframed flac
Parse metadata blocks when handling unparsed flac in push mode. This
works around a bunch of issues with the flac decoder when handling
metadata blocks that are larger than the max. flac framesize, which
coverart blocks often are. We need to have all the data for these
blocks available when we pass data to libflac.

http://gstreamer-devel.966125.n4.nabble.com/Flac-files-that-will-playback-but-not-stream-td3338198.html#a3395276

https://bugzilla.gnome.org/show_bug.cgi?id=566769
2011-03-28 23:46:47 +01:00
Wim Taymans
8f22a09dc4 Merge branch 'master' into 0.11-fdo 2011-03-28 20:50:59 +02:00
Stefan Kost
ed77b14aa0 cairo: fix the name of the *-marshall.list file to unbreak make distcheck 2011-03-25 12:53:43 +02:00
Sebastian Dröge
85ace6d413 speexdec: Get and use streamheader from the caps if possible
This allows playback of streams where the streamheader buffers
were dropped from the stream for some reason.
2011-03-24 09:00:32 +01:00
Robert Swain
a430042f41 jackaudiosink: Fix typo from 9544622674 2011-03-16 10:43:47 +01:00
Vincent Penquerc'h
56edbd0fa3 speexdec: silence warning message when appropriate
If we did not know how many frames to expect, then we get an unexpected
end of stream when trying to decode more frames that are there, if there
are leftover bits to pad to the next byte
2011-03-15 19:44:03 +01:00
Sebastian Dröge
4d7b4ca2ae speexdec: Always process the number of frames per packet as specified in the header
Looking at the remaining bits in the bitstream after decoding a
single frame can't be used as loop condition. The remaining
bits might not give a complete frame and the speex decoder will
then output nothing but access uninitialized memory, which leads
to valgrind warnings.

Fixes bug #644669.
2011-03-14 19:31:33 +01:00
Philip Jägenstedt
84decd731f pulsesink: Better fix for deadlock on failed connect
This reverts the previous fix that would cause a double-unlock when the
stream connect failed.

https://bugzilla.gnome.org/show_bug.cgi?id=644510
2011-03-12 00:48:03 +05:30
Arun Raghavan
387f533a07 pulsesink: Fix deadlock if connecting to PA fails
Commit dd4ec22e introduced a deadlock in the failure path while trying
to connect to PulseAudio. This makes sure we drop the lock on the
resource mutex to avoid this.

https://bugzilla.gnome.org/show_bug.cgi?id=644510
2011-03-11 23:19:34 +05:30
Sebastian Dröge
9e44fff3db dvdemux: Chain up to the parent class' ::send_event for non-seek events 2011-03-11 13:48:33 +01:00
Sebastian Dröge
bc6c1bbbab dvdemux: Fix refcount issues with the seek event
Fixes bug #642963.
2011-03-11 13:48:32 +01:00
Tim-Philipp Müller
14e1d9de3d docs: fix pulsesink gtk-doc markup 2011-03-11 09:54:36 +00: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
Wim Taymans
338c300f5f Merge branch 'master' into 0.11 2011-03-04 16:30:36 +01:00
Stefan Kost
89914439b7 pulsesink: add a doc example for setting stream-properties 2011-03-04 15:50:49 +02:00
Stefan Kost
edfa99ef31 pulsesink: fix the xml in the docs 2011-03-04 15:50:49 +02:00
Sebastian Dröge
fdbdbfefd2 cairooverlay: Some minor cleanup 2011-03-02 23:14:36 +01:00
Jon Nordby
32dff9df75 cairooverlay: Add generic Cairo overlay video element.
Allows applications to connect to the "draw" signal of
the element and do their custom drawing there.
Includes an example application demonstrating usage.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=595520
2011-03-02 22:55:52 +01:00
Wim Taymans
db5aa9067b Merge branch 'master' into 0.11 2011-02-28 13:29:47 +01:00
Wim Taymans
59c825a938 id3: use boxed type instead of miniobject 2011-02-28 11:58:48 +01:00
Wim Taymans
c899229c48 jpegdec: add duration when extimating QoS time
When we need to decide on the next QoS time, take into account the duration of
the buffers.
2011-02-28 11:58:48 +01:00
Philip Jägenstedt
dd4ec22e7e pulsesink: release pa_shared_resource_mutex before pa_threaded_mainloop_wait
Not doing so can result in a deadlock when two threads enter
gst_pulseringbuffer_open_device at the same time, as
pa_threaded_mainloop_wait releases the mainloop lock while waiting,
allowing another thread to take it, resulting in a deadlock as two
threads waits for the lock the other is holding.

https://bugzilla.gnome.org/show_bug.cgi?id=643087
2011-02-28 16:20:22 +05:30
Philip Jägenstedt
683c96b37a pulsesink: s/ressource/resource/
https://bugzilla.gnome.org/show_bug.cgi?id=643087
2011-02-28 16:20:20 +05:30
Carsten Kroll
d4eaff5e88 dvdemux: First try if upstream handles TIME seeks before handling them here
Fixes bug #642963.
2011-02-24 13:57:01 +01:00
Edward Hervey
6e1c701502 Revert "Check that collectpads exists before removing pad"
This reverts commit 8e6b876e76.

Depends on a core commit that was reverted
2011-02-21 12:25:19 +01:00
David Schleef
8e6b876e76 Check that collectpads exists before removing pad
The core now calls release pad from finalize, at which point
the collectpads might have already been freed.
2011-02-20 23:46:01 -08:00
David Schleef
13d441315f pngdec: Handle 16-bit-per-channel images 2011-02-20 12:12:51 -08:00
Andoni Morales Alastruey
b2fb4edcb7 souphttpsrc: Add URI query handler
Fixes bug #642337.
2011-02-15 09:44:01 +01:00
David Henningsson
1e2c1467ae Pulsesink: Allow chunks up to bufsize instead of segsize
By allowing larger chunks to be sent, PulseAudio will have a
lower CPU usage. This is especially important on low-end machines,
where PulseAudio can crash if packets are coming in at a higher
rate than PulseAudio can process them.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-01-31 17:15:05 +01:00
Arun Raghavan
e18e25a324 pulsesink: Uncork stream while flushing the ringbuffer
After starting the ringbuffer, we wait for enough data to arrive before
uncorking the stream. This will cause the pipeline to stall if we get an
EOS (or otherwise need to flush the stream) before sufficient data
becomes available. This patch makes sure that the stream is uncorked
while flushing to avoid this problem.

Fixes issue with a webkit unit test testing reverse playback of
an MP4 H.264/AAC file.

https://bugzilla.gnome.org/show_bug.cgi?id=639740
2011-01-17 15:40:12 +00:00
Arun Raghavan
7280ea1f68 pulsesink: Make corking during pause synchronous
This makes the call to pa_stream_cork() during ringbuffer pause()
synchronous, which makes sure that the clock does not advance after we
take a snapshot for start_time.

https://bugzilla.gnome.org/show_bug.cgi?id=639240
2011-01-11 20:43:54 +00:00
Wim Taymans
c17f7a943d cacasink: fix masks and strides
Use the right endianness to read the masks.
Use the right strides for the bitmap.

Fixes #638569
2011-01-03 18:06:48 +01: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
Tim-Philipp Müller
67f4489cd0 jack: new jackaudiosrc and jackaudiosink elements, moved from gst-plugins-bad
https://bugzilla.gnome.org/show_bug.cgi?id=621929
2011-01-02 15:26:30 +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
Tristan Matthews
a110fe3343 jack: removed unused file gstjackbin.c
This is a 0.8 leftover.
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
Tristan Matthews
e05b723274 jack: improve process_cb 2011-01-02 14:30:08 +00:00
Tristan Matthews
55f1ea09b0 jack: implement multichannel support correctly for jackaudiosrc
Fixes parts of bug #616541.
2011-01-02 14:30:08 +00:00
Stefan Kost
3153aa995f jack: remove empty dispose and finalize methods 2011-01-02 14:30:08 +00:00
Stefan Kost
2b7ca1413a jack: don't leak caps
Add dispose methods to clear caps.
2011-01-02 14:30:08 +00:00
Stefan Kost
084e8269c2 jack: don't use GST_DEBUG_FUNCPTR for gobject vmethods 2011-01-02 14:30:08 +00:00
Stefan Kost
0a22a42268 jack: fix element name in section doc blob 2011-01-02 14:30:08 +00:00
Benjamin Otte
de91f84dfb Add -Wold-style-definition
and fix the warnings
2011-01-02 14:30:08 +00:00
Benjamin Otte
71366f80d9 Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2011-01-02 14:30:07 +00:00
Benjamin Otte
4ccda26327 gst_element_class_set_details => gst_element_class_set_details_simple 2011-01-02 14:30:07 +00:00
Stefan Kost
f20c73684b jack: ensure segtotal is at least 2
Not only adjust buffer-time and avoid segtotal=0, but instead ensure segtotal is
atleast 2. Do same change on jacksrc. We could also check the latency and buffer
time configured by the client and adjust buffer-time so that we get to the same
number of segments.
2011-01-02 14:30:07 +00:00
Stefan Kost
45fb781f9b jack: don't crash in ringbuffer with SIGFPE on small buffer-times
Jack overrides user-specified latency-time with the one it gets from jack
itself. It also needs to adjust buffer-time somewhat to avoid segtotal being 0
2011-01-02 14:30:07 +00:00
Stefan Kost
8a002a1121 jack: when stopping playback, do one more cycle to flush the port. Fixes #582167
The gst_jack_audio_client_set_active() flags the port as deactivating and uses
a GCond to wait until the jack_process_cb() has run once more and cleared the
flag. This way the client zero's the buffer. This happens if one manyally go
to PAUSED and then to READY, while leting the mainloop run inbetween.
2011-01-02 14:30:07 +00:00
Wim Taymans
7dde7eca28 jack: Add new connection mode
Add a new connection mode to jacksrc and jacksink. In this new auto-force
connection mode jack will create as many ports as requested/needed in the
pipeline and will then connect as many physical ports as possible, possibly
leaving some ports unconnected.

Also get rid of some leftover g_print.

Fixes #575284.
2011-01-02 14:30:07 +00:00
Stefan Kost
fb03eb6bac ext/jack/: Query port latencies for sink/src delays.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c:
* ext/jack/gstjackaudiosrc.c:
Query port latencies for sink/src delays.
* ext/jack/gstjackbin.c:
No printf please.
2011-01-02 14:30:07 +00:00
Stefan Kost
7ba1bcb6aa Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2011-01-02 14:30:07 +00:00
Jan Schmidt
051dba6c01 Fix compiler warnings on OS/X
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (jack_process_cb):
* gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew):
Fix compiler warnings on OS/X
2011-01-02 14:30:07 +00:00