Commit graph

1467 commits

Author SHA1 Message Date
Mark Nauwelaerts
cec48383b1 jpegdec: more sanity checks on input
Specifically, verify input components / colour space is as code
subsequently expects, thereby avoiding crashes or otherwise bogus output.
Presently, that means 3 components YCbCr colour space, and somewhat
limited sampling factors.

Fixes #600553.
2010-04-30 17:49:03 +02:00
Tim-Philipp Müller
6b2a0c7c46 jpegdec: don't crash if jpeg image contains more than three components
Our code currently only handles a maximum of 3 components, so error
out for now if the image has more components than that.

Fixes #604106.
2010-04-25 23:15:42 +01:00
Tim-Philipp Müller
1351af141d flactag: fix adapter assertion when used directly after flacenc
Unlike filesrc, flacenc outputs the flac blocks neatly aligned one in
each buffer. This means that when we switch from metadata mode to
audio data passthrough mode, there's no data left in the adapter to
push out at this point, so check if there's data in the adapter
before requesting buffers from it (also needed in case we get input
buffers of 0 size).

Fixes #615793.
2010-04-15 09:44:51 +01:00
Benjamin Otte
59f2cb3cb9 shout2: Don't wait if we're late
In fact, due to signedness issues, a negative delay would be changed to
an almost infinite wait causing shout2send to "lock up".

Reported by Christopher Montgomery.
2010-04-08 15:57:36 +02:00
Stefan Kost
7e5d4b0fa9 jpegdec: move macro to c source
One less semi public symbol without namespace prefix in the headers.
2010-04-08 13:40:36 +03:00
Stefan Kost
8695f5a8a5 speexenc: remove unused defines 2010-04-08 13:40:09 +03:00
Stefan Kost
e032fd753e speex: remove unused define 2010-04-08 13:16:53 +03:00
Stefan Kost
7cf9967e0b pulsesink: fix racy shutdown
Keep a ref of pulsesink for deferred mainloop invocation. Fixes #614765
2010-04-06 17:22:03 +02:00
Thiago Santos
b1984b72bb jpegenc: Fix getcaps function
When creating the caps allowed to upstream using downstream
restrictions, use gst_pad_get_allowed_caps as that has the
usable formats and puts into it the width, height and framerate
fields. This avoids getting errors about getcaps returning
non subset caps of its pad template.

This error showed up on the metadata plugin unit test in -bad.
2010-04-05 16:09:58 -03:00
André Dieb Martins
74ac172bc2 jpegenc: should not return caps ANY based on downstream
When downstream has a sink pad with ANY caps, jpegenc should
treat it the same as NULL and return its template caps.

Fixes #614842
2010-04-04 21:30:06 -03:00
Tim-Philipp Müller
d756bab488 build: build plugins and examples in parallel where possible 2010-03-29 11:00:57 +01:00
Sebastian Dröge
e9b267ae02 flacdec: Improve debugging and add some FIXMEs 2010-03-26 14:55:53 +01:00
Sebastian Dröge
b139cad3aa flacdec: Sample rate markers 0x01, 0x02 and 0x03 are valid
They are for 88.2kHz, 176.4kHz and 192kHz.
2010-03-26 14:42:06 +01:00
Sebastian Dröge
2e42e82037 flacdec: Take samplerate, width and number of channels from the STREAMINFO
...and update it from the frame headers if it should change for some reason.

This allows playback of files with odd sample rates.
2010-03-26 14:16:39 +01:00
Raimo Järvi
10f092dc61 jpegenc: Set correct getcaps/setcaps functions on srcpads and simplify them
This fixes downstream negotiation, upstream negotiation isn't really
supported by jpegenc yet.

Fixes bug #613789.
2010-03-26 13:34:17 +01:00
Edward Hervey
9d77bcfb29 souphttpsrc: Set the Content-Type HTTP header on the caps.
First step to fixing ShoutCast (NSV) streaming.
2010-03-23 19:48:24 +01:00
Stefan Kost
f1a75adcbc i18n: build fixes: #if -> #ifdef for ENABLE_NLS 2010-03-22 17:26:37 +02:00
Benjamin Otte
412cc10314 Add -Wold-style-definition flag
And fix the warnings
2010-03-21 15:17:46 +01:00
Benjamin Otte
3f511ec361 Add -Wwrite-strings to the configure flags
... and fix all warnings
2010-03-21 14:17:47 +01:00
Andoni Morales Alastruey
63624f966e dv1394src: Fix internal clock
Fixes #593910.
2010-03-18 21:37:51 +00:00
Tim-Philipp Müller
073201b329 build: Makefile.am cleanups
Mostly add $(GST_BASE_CFLAGS) where it was missing, but also fix up
order of flags and libs if needed (see docs/random/moving-plugins).
2010-03-18 21:34:24 +00:00
Benjamin Otte
cccfeaa59c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
Mark Nauwelaerts
5a082af3aa pulse: use #ifdef rather than #if conditionals 2010-03-18 12:44:53 +01:00
Benjamin Otte
c76e72a7f5 Add -Wundef to configure flags
and fix the resulting warnings
2010-03-17 21:33:28 +01:00
Benjamin Otte
1055aaa9cb Add -Wredundant-decls warning flag
Also fix compile issues
2010-03-17 19:35:10 +01:00
Benjamin Otte
3342b1679e Add -Wmissing-declarations -Wmissing-prototypes warning flags
And fix all the warnings.
2010-03-17 18:23:28 +01:00
Stefan Kost
b892d23090 soup: also use g_value_set_static_string() here for static strings 2010-03-16 23:41:43 +02:00
Руслан Ижбулатов
bc873f7133 pngenc: Use png_get_io_ptr() instead of accessing io_ptr directly
Fixes #612700 (for the last time!)
2010-03-16 15:20:21 +01:00
Sebastian Dröge
fdc7b73675 speexdec: Use speex_stereo_state_init() instead of the deprecated initialization macro
Fixes bug #612777.
2010-03-15 14:16:58 +01:00
Sebastian Dröge
a7a0afa5c4 cairotextoverlay: Don't render text outside the frame boundaries
Fixes bug #611986.
2010-03-15 13:41:56 +01:00
Руслан Ижбулатов
43e3e5c0d7 pngenc: Call png_jmpbuf() instead of accessing png_struct_ptr directly
Fixes #612700 (again)
2010-03-14 20:09:32 +01:00
Руслан Ижбулатов
0ce782383f pngenc: Call png_error() instead of using longjmp() directly.
Fixes #612700
2010-03-13 06:13:00 +01:00
Tim-Philipp Müller
954064a8d6 souphttpsrc: fix metadata writable warnings
Set metadata on buffer first, when the refcount is still 1, and only
ref again afterwards.
2010-03-11 15:25:55 +00:00
Mark Nauwelaerts
4abf31067f speexdec: adapt to new oggdemux
Remove all granulepos hacks and simply use upstream timestamps.
2010-03-10 11:48:06 +01:00
Mark Nauwelaerts
972ce3006b speexdec: refactor granulepos hacks 2010-03-10 11:48:06 +01:00
Benjamin Otte
2a5f368bc7 png: fractions don't allow doubles 2010-03-09 19:15:07 +01:00
Tim-Philipp Müller
de56a874ae flacdec: don't send second newsegment event in framed mode, fixes long playback delay
Don't send another newsegment event if the upstream muxer/parser has already
sent one (otherwise the sink will wait for $duration before starting playback).
Fixes long delay until playback starts with flac-in-ogg files.

Fixes #610959.
2010-03-08 17:10:31 +00:00
David Hoyt
ad05705afb jpegdec: Fix invalid memory access by first checking and then reading
Fixes bug #610483.
2010-02-22 20:55:29 +01:00
Philippe Normand
3ab666762f pulsesink: gst_pulsesink_get_mute: set result earlier.
In the cases where no buffer was process yet or the index is not
available, get_pulsesink_get_mute() would unconditionally return
FALSE.

https://bugzilla.gnome.org/show_bug.cgi?id=610337
2010-02-22 20:49:03 +01:00
Stefan Kost
45522aab46 jpegenc: add a fixme for handling other YUV variants 2010-02-16 10:15:22 +02:00
Tim-Philipp Müller
63c86ac3d8 raw1394, matroska, rtpmanager: remove padding from structures
None of these element and class structures are in public headers,
so don't need padding.
2010-02-15 00:50:10 +00:00
Tim-Philipp Müller
3f2a803c48 pulsesink: add comment for translators for 'x by y' message
Fixes #609724.
2010-02-15 00:45:51 +00:00
Sebastian Dröge
c78b3b1332 cairorender: Fix leaking of pad templates 2010-02-15 01:28:44 +01:00
Stefan Kost
f70dbd0eb7 speex: add missing include 2010-02-12 15:35:30 +02:00
Wim Taymans
55b5e2e3f3 pulsesink: avoid segfault when shutting down
when we are shutting down, we might still receive state updates from pulseaudio
but since we are unparented we should not do anything with the NULL parent
anymore.
2010-02-12 13:53:57 +01:00
Sebastian Dröge
27b203b030 flacdec: Only flush the FLAC decoder if it wasn't created right before
If the FLAC decoder is flushed, its state will be set to frame-sync mode,
which will sync to the next *audio* frame and makes it ignore all headers.
This prevented tags and everything else to show up when using flacdec
in push mode.

Fixes bug #608843.
2010-02-12 10:54:18 +01:00
Mark Nauwelaerts
c2eedfcceb speexdec: initialize stereo decoding state 2010-02-02 16:54:09 +01:00
Stefan Kost
a9f5bbe1ff jpeg: don't directly access message, some message have args
This caused bogus messages, such as reported in bug #607471.
2010-02-02 17:23:49 +02:00
David Hoyt
2514421c13 png: fix compilation with libpng 1.4
png_set_gray_1_2_4_to_8() has been deprecated for a while and was
finally removed in libpng 1.4.x. Use png_set_expand_gray_1_2_4_to_8()
instead.

Fixes #608629.
2010-02-02 00:04:34 +00:00
Mark Nauwelaerts
77509c80c9 speexdec: free some more when resetting
Fixes #608255.
2010-01-27 17:05:52 +01:00
Mark Nauwelaerts
c529145e4b speexenc: prevent invalid arithmetic if not setup yet
Fixes #608255.
2010-01-27 17:05:04 +01:00
Stefan Kost
8576a11dae Revert "v4l2src: don't deref NULL"
This reverts commit 3d9d34bd60.
2010-01-25 17:21:13 +02:00
Stefan Kost
3d9d34bd60 v4l2src: don't deref NULL
Error out when the pool gets shutdown.
2010-01-25 14:16:22 +02:00
Michael Smith
e5b6c1324b jpegenc: when creating an overflow buffer, copy timestamps. 2010-01-23 15:32:48 -08:00
Peter van Hardenberg
701c7d4b2a jpegenc: enlarge buffer if libjpeg tells us it's out of space. Fixes buffer
overflow on some high-quality, low-resolution jpeg encodes.
2010-01-21 17:26:23 -08:00
Sebastian Dröge
34d9da8a02 apev2mux: Don't call constructors directly, this leads to compiler errors with gcc 4.5 2010-01-13 09:18:27 +01:00
Mark Nauwelaerts
47dc716790 flacenc: fix seekpoints property copy-and-paste documentation 2010-01-08 18:04:35 +01:00
Mark Nauwelaerts
fe1128e40b flacenc: optionally add a seek table
API: GstFlacEnc:seekpoints

Fixes #351595.
2010-01-08 17:43:37 +01:00
Mark Nauwelaerts
a76af918d0 flacdec: really use upstream timestamp if there is one
See/fixes #603471.
2010-01-06 14:14:28 +01:00
Robert Weidlich
5479255130 shout2send: Add 'public' property
Adds a property to set 'public' flag on libshout, making
the stream listed on the server's stream directory.

Fixes #605269
2010-01-04 09:28:36 -03:00
Mark Nauwelaerts
636738d9f2 flacdec: use a single decoder field for both push and pull mode 2009-12-23 19:39:56 +01:00
Mark Nauwelaerts
d6633d6edc flacdec: fix possible hanging in pull mode seeking
A seek in multi-sink pipeline typically leads to several seek events in a row,
which could lead to sending several newsegments in a row without intermediate
flushing.  These would then accumulate, distort rendering times and as such
lead to 'hanging'.
2009-12-23 19:39:54 +01:00
Sebastian Dröge
648f0f0b50 ladspa: Remove the sources from gst-plugins-good
It's disabled anyway and the latest version of it is in
gst-plugins-bad. Fixes bug #603779.
2009-12-04 14:43:41 +01:00
Thiago Santos
8cb3452ac4 shout2: Convert delay correctly
Use GST_MSECOND to convert delay in msecs to nanosecs

Fixes #603547
2009-12-02 13:33:20 -03:00
Wim Taymans
384c4a2495 jpegdec: reset segment info after flush
Reset the segment info after a flush. We use the segment for handling QoS and if
we don't reset the segment, QoS is basically disabled after a flushing seek.
2009-12-01 19:25:04 +01:00
Wim Taymans
4519bdc983 shout2: use gstpoll for timeouts
Use our own GstPoll based timeout instead of the shout sleep so that we can
interrupt when doing a state change and shutting down.

Fixes #602887
2009-11-28 19:23:26 +01:00
Stefan Kost
b753e177fb jpegenc: fix spelling in comment 2009-11-24 15:51:21 +02:00
Sebastian Dröge
59a53cfd36 wavpackparse: After pushing a frame, update last_stop to the end of the frame
This improves position reporting, especially because of the fact that
WavPack frames are usually 0.5-1.0 seconds long.
2009-11-19 16:10:55 +01:00
Sebastian Dröge
9f5adb2ca3 wavpackparse: Allow pulling the last WavPack frame of a file
Because of a >= instead of a >, that last frame of a WavPack file
would never be parsed in pull mode.
2009-11-19 16:10:55 +01:00
Wim Taymans
0694be2a82 pulsesink: use acquired flag when checking valid state
Use the acquired field of the ringbuffer in get_time to know when we are in an
invalid state. We don't clear the rate flag when releasing the ringbuffer so
this values is not usable.

Avoids some error messages being posted because the pulseaudio connection is
down.
2009-11-18 17:27:19 +01:00
Wim Taymans
f85cf3e200 pulsesink: implement some more callbacks
Implement some more callbacks for debugging purposes.
2009-11-18 12:01:52 +01:00
Tim-Philipp Müller
7af7d93b27 jpegdec: free temporary buffer when changing state to NULL
Free temporary allocations in the state change function and not
only when the object is finalised.
2009-11-09 15:20:00 +00:00
Tim-Philipp Müller
26e7fe27d7 jpegdec: only allocate as much temporary memory as needed for indirect decoding
When we can't decode directly into the output buffer, make our temp buffers
only as big as needed instead of allocating for the worst case scenario (well,
we still alloc more than strictly needed for some cases, but significantly
less than before).
2009-11-09 15:18:58 +00:00
Tim-Philipp Müller
2270d3359a pulsesink: printf format fix 2009-11-05 23:46:58 +00:00
Tim-Philipp Müller
f50f516eca raw1394: printf format fixes 2009-11-05 23:44:27 +00:00
Stefan Kost
e3e910e971 jpegdec: don't allocate big arrays on the stack
Add the arrays to the instance data and allocate on first use.
2009-11-03 17:49:24 +02:00
Sebastian Dröge
3f541452c4 pulsesink: Only set the volume on stream connection if pulse >= 0.9.20 is available
In older versions the volume set during stream connection had
no defined sematic and usually it was a relative volume. What
was needed for our use case is an absolute volume though, otherwise
the volume will be always decreased on stream connection if it's
less than 100%.
Since pulse 0.9.20 that volume is always an absolute volume if
flat volumes are used and relative otherwise, which is the same
as for pa_context_set_sink_input_volume().

Relevant pulse changesets:
http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=f27a50691c8fe45bac7dd6b21fac91a359def3a1
http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=2501687579e359d5032a4d165b2ffc8f5b1b8ba6
2009-10-30 09:27:59 +01:00
Priit Laes
34a7a90f57 cacasink: minor cleanups for header.
Use G_BEGIN_DECLS macros, remove unused variables and fix typo.
See #599018.
2009-10-22 02:03:12 +01:00
Priit Laes
45042dffbc cacasink: exit properly when invalid driver has been selected.
See #599018.
2009-10-22 02:03:01 +01:00
Bastien Nocera
a1ac55c7a5 Fix the StreamVolume interface not being advertised
gst_pulsesink_interface_supported() was missing a check for it.

https://bugzilla.gnome.org/show_bug.cgi?id=598933
2009-10-19 15:36:20 +01:00
Lennart Poettering
e4d6a2aa2c pulse: never apply volume more than once
Generally decisions on the volume of the stream should be done inside of
PA, not inside of Gst. Only PA knows how volumes translate between
devices and s on.

This patch makes sure that all volumes set via the volume property are
only applied *once* to the underlying stream. After applying them the
client side will not store them anymore. This should make sure that
really only user-triggered volume changes are forwarded to server, but
the client never tries to save/restore the volume internally.

Fixes bug #595231.
2009-10-18 10:15:59 +02:00
Sebastian Dröge
92fd59024b pulsesink: Initialize gettext for the translated strings in plugin_init() 2009-10-17 09:00:00 +02:00
Lennart Poettering
89b0c2fc4f pulse: use 'performer' as a fallback for 'artist' tag 2009-10-17 08:48:23 +02:00
Lennart Poettering
76c8ca4b00 pulse: when constructing a stream title from tag data make sure it is translatable 2009-10-17 08:48:23 +02:00
Lennart Poettering
fd75286dd1 pulse: loop while connecting to server
pthread does not guarantee that there are no spurious condition variable
wakeups, neither does pa_threaded_mainloop_xxx() which is a wrapper
around it. So we need to loop around the _wait() function to make sure
we get the right wakeup.

Also, unify the order of the wait loops across the file.
2009-10-17 08:48:23 +02:00
Lennart Poettering
48c3bd303f pulse: mainloop creation can fail too, so handle that 2009-10-17 08:48:23 +02:00
Lennart Poettering
3188f5699b pulse: adjust CHECK_DEAD_GOTO macro to glib style 2009-10-17 08:48:23 +02:00
Lennart Poettering
d64200f46b pulse: make a few things smaller by making them bitfields 2009-10-17 08:48:21 +02:00
Tim-Philipp Müller
c83ea23a03 jpegdec: fix branch hints
Remove inappropriate branching hints and add some new ones.
2009-10-16 13:41:45 +01:00
Tim-Philipp Müller
4fb3f2519c jpegdec: fix regression in indirect decode path
Revert variable name back to what it was before the G_LIKELY was
added (in commit 69c24fb9). The code works better that way.
2009-10-16 13:36:42 +01:00
Tim-Philipp Müller
0c92e70f6c jpegdec: fix regression with certain formats
Fix regression introduced by previous commit (#598517).
2009-10-16 13:00:12 +01:00
Tim-Philipp Müller
30cb82da96 jpegdec: don't use decompress structure members we shouldn't be using 2009-10-16 13:00:12 +01:00
Tim-Philipp Müller
19b4f66014 jpegdec: remove some unused members from jpegdec instance structure 2009-10-16 13:00:12 +01:00
René Stadler
f9274226e8 pulsesink: set desired minreq value to segsize/latency-time
If we let the daemon decide freely by passing -1, we end up always getting 20ms.
We want to set this value because in some cases we want to select a higher
latency-time in order to save power.

Fixes #597601
2009-10-14 12:05:14 +02:00
Tim-Philipp Müller
87bd79f4ba jpegdec: fix bogus warning about discont flag on first buffer
The very first buffer should always have the DISCONT flag set, no
need to warn about that. Only warn if we get a DISCONT buffer in
non-packetised mode and we already have some data.
2009-10-13 01:10:59 +01:00
Tim-Philipp Müller
6ae6af9dab jpegdec: fix crash for unusual vertical chroma subsampling factors
Fixes #597351.
2009-10-13 01:10:59 +01:00
Josep Torra
c581e6f205 jpegdec: fixes warning building in snow leopard 2009-10-10 00:37:08 +02:00
Stefan Kost
f1fe1f52fd flac: apparently on some platforms a FLAC__uint64!=guint64 2009-10-09 14:37:32 +03:00
Stefan Kost
f41d7e7bd5 build: don't cast, but use the right format specified instead
This correct some of the previous macos fixes.
2009-10-09 13:54:24 +03:00
Josep Torra
696e350c7b dv: fix warnings on macosx 2009-10-09 12:40:47 +02:00