Commit graph

1643 commits

Author SHA1 Message Date
David Schleef
954a04e2b5 cairo: Don't use #ifdefs inside macros 2010-12-30 14:21:37 -08:00
Andy Wingo
82ee35372b add "client" property
* ext/pulse/pulsesrc.c (gst_pulsesrc_class_init, gst_pulsesrc_init)
  (gst_pulsesrc_set_property, gst_pulsesrc_get_property)
  (gst_pulsesrc_open): Add a "client" property, as in pulsesink.

Fixes #634914
2010-12-29 17:02:40 +01:00
Thiago Santos
dcbba0932d jpegenc: sink pad's getcaps shouldn't use the src pad getcaps
Instead of using get_allowed_caps on the srcpad, the sinkpad getcaps
should use the getcaps of the srcpad's peer. This way the srcpad
can keep using fixed_caps and sinkpad getcaps exposes all caps
that can be negotiated

https://bugzilla.gnome.org/show_bug.cgi?id=637686
2010-12-21 15:23:11 -03:00
Mark Nauwelaerts
53b9f87436 pulsesink: flush remaining buffered samples on EOS
... which can make a difference between all or nothing when dealing
with short streams and relatively large ringbuffer segment.
2010-12-16 15:16:54 +01:00
Tim-Philipp Müller
addbc3c4ca jpegdec: add "max-errors" property to ignore decoding errors
Add property to ignore decoding errors. Default is to ignore a few
decoding errors if the input is packetized, but error out immediately
if the input is not packetized.

Ignoring errors for packetized input most likely doesn't work
properly yet, so don't do that for now.

https://bugzilla.gnome.org/show_bug.cgi?id=623063
2010-12-11 20:36:45 +00:00
Tim-Philipp Müller
100673bf14 jpegenc: free/malloc instead of realloc, avoids memcpy 2010-12-11 17:03:45 +00:00
Jan Schmidt
bead93ab7b pulsemixer: Implement MIXER_FLAG_AUTO_NOTIFICATIONS
Add the mixer flag and send notifications when either the volume or muted
status changes.

    https://bugzilla.gnome.org/show_bug.cgi?id=618389
2010-12-11 16:08:40 +11:00
Wim Taymans
8ca094795a pulsesink: don't uncork in _start
Don't uncork in the _start method just yet but wait until we have written some
samples to pulseaudio. This avoid underruns on pulseaudio and less crackling
noises when starting.
2010-12-07 12:39:27 +01:00
Mark Nauwelaerts
9ee2e9ede5 jpegdec: add debug to notify when skipping to jpeg header 2010-12-06 19:14:52 +01:00
Mark Nauwelaerts
04fae48d1d jpegdec: discard incomplete image
... as determined when finding SOI next image before an EOI.

Based on patch by David Hoyt <david.hoyt@llnl.gov>

Fixes #635734.
2010-12-06 19:14:52 +01:00
Mark Nauwelaerts
c50695c14b jpegdec: avoid infinite loop when resyncing
Fixes #635734 (partly).
2010-12-06 19:14:41 +01:00
Edward Hervey
ca9a3806b5 pngenc: Use proper framerate range in caps 2010-12-03 15:06:19 +01:00
Stefan Kost
a513a7be75 pngdec: use png_error() as recommended by libpng docs to signal an error
Without that the element loops endlessly on broekn pngs. Fixes #634314
2010-12-03 09:49:26 +02:00
Sebastian Dröge
6a93725292 souphttpsrc: Don't send seeks behind the end of file to the server
Also improve debug output, re-initialize the content size and let the
seek handler error out on invalid seek segments.

Fixes bug #632977.
2010-12-02 19:18:02 +01:00
Stefan Kost
45f6707784 various (ext): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 17:39:36 +03:00
Stefan Kost
2975307f86 various: wrap property registration and add a single fixme for long desc. 2010-10-13 17:39:21 +03:00
Tim-Philipp Müller
d65eb2b91a ext, gst: canonicalise property names where this wasn't the case
ie. "foo_bar" -> "foo-bar"
2010-10-12 16:04:21 +01:00
Sebastian Dröge
5c1f6c890b switchsrc: Set the GST_ELEMENT_IS_SOURCE flag 2010-10-11 14:24:52 +02:00
Edward Hervey
9481c8a1a0 raw1394: Don't compile hdv1394src if libiec61883 isn't available
Fixes #629896
2010-10-04 22:31:32 +02:00
Tim-Philipp Müller
c0bd590ce3 soup: init debug category before using it 2010-09-24 14:06:31 +01:00
David Hoyt
9f8619e5ca speex: Fix crashes with MSVC
Using the symbols for the different Speex modes results
in crashes when using MSVC. Use the library functions to
get the modes instead.

Fixes bug #630378.
2010-09-23 21:57:18 +02:00
Wim Taymans
7f48fb37e9 pulse: fix device_description in READY
Make the is_dead check more clear and add an option to check for the status of
the stream in addition to the context.
We don't need a stream to get the device_description string.

Fixes #630317
2010-09-22 19:02:35 +02:00
Edward Hervey
bc9fb6ad83 souphttpsrc: Fix debug statement 2010-09-21 11:52:54 +02:00
Stefan Kost
ae8d210fdb pulsesink: move the shared mainloop from class to static var
Just have one static var for the shared mainloop instead of one class variable
and copies in the instance.
2010-09-14 10:10:27 +03:00
Stefan Kost
f62dc6976b pulsesink: rework context sharing
We also need to share the main-loop threads as this owns the context. Thus have
a class wide main-loop thread. From this we create a context per client-name.
Instead of always looking up the context, we keep this with the instance. The
reverse mapping is only needed in pulse singal handlers. This saves a lot of
locking. Also one signal handler becomes simpler as ther eis only one mainloop
to notify.

Now valgind happy - no leaks, no bad reads/writes.

This reverts major parts of commit 69a397c32f.

Fixes #628996
2010-09-13 16:59:22 +03:00
Tim-Philipp Müller
020e0dcc1e soup: hook up i18n bits for plugin
Call bindtextdomain() etc.
2010-09-12 14:54:20 +01:00
Tim-Philipp Müller
9dfad52a79 soup: fix error messages
Error messages should be translated. URIs and filenames should not
be part of the error message string that's shown to the user.
soup_message->reason_phrase is not translated and not suitable as
error message for users (see libsoup documentation). Also fix up
error codes a bit, as far as possible with the existing codes.
2010-09-12 14:54:20 +01:00
Tim-Philipp Müller
66a783fd01 jpegdec: don't post an error message if buffer alloc fails with NOT_LINKED flow
This is not fatal, let upstream handle it.
2010-09-12 14:54:20 +01:00
Stefan Kost
fbab577ab8 aasink: fix context initialisation and freeing to not leak 2010-09-09 21:49:43 +03:00
Thiago Santos
418bca8c0f id3v2mux: Adds mapping for album artist
Maps GST_TAG_ALBUM_ARTIST to TPE2 in id3v2mux
2010-09-08 17:07:53 -03:00
Stefan Kost
6490c4eb3d pulsesink: remove unused code 2010-09-08 17:43:47 +03:00
Stefan Kost
9fd0adc7dc pulsesink: fixup last commit
We need to prevent the eventual leak better.
2010-09-08 14:36:48 +03:00
Stefan Kost
f6892b81ae pulsesink: code cleanups
Use g_slist_prepend as we don't care about the order. Check for list == NULL
instead of iterating the list to see if it is empty. Move ctx allocation down
to prevent leak in case of failure.
2010-09-08 14:19:34 +03:00
Wim Taymans
2148b2db0a pulsesink: simplify clock provide code
Don't leak the pulsesink element by having the clock keep a ref to the sink.
Create the clock only once in the constructor and use the baseaudiosink clock
cleanup code.
2010-09-07 19:03:33 +02:00
Stefan Kost
7fd77c07d5 pulsesink: move the context table init to _get_type phase
This seems to fix the invalid reads on context shutdown better, altough
I can't really explain.
2010-09-07 18:09:28 +03:00
Wim Taymans
2b81f913a4 jpegdec: avoid invalid adapter flush on QoS
First store the available data in the adapter in the rem_img_len instance field
before trying to flush the adapter with that value on QoS.
2010-09-07 16:49:16 +02:00
Stefan Kost
f604e20499 pulse: allow setting stream properties
Add a "properties" property to the elements to allow setting extra stream
properties.

Fixes #537544
2010-09-07 14:20:21 +03:00
Tim-Philipp Müller
fff0e878bf cmmldec: fix flow return handling
Fix buggy GST_FLOW_IS_FATAL substitution, and 'make check':
-  if (!GST_FLOW_IS_FATAL (dec->flow_return) && !dec->sent_root) {
+  if (dec->flow_return != GST_FLOW_OK && !dec->sent_root) {
2010-09-07 09:21:51 +01:00
Stefan Kost
a313bc7524 pulsesink: don't free the context multiple times
Apparently the close function of the ring-buffer can be called multiple times.
2010-09-07 00:27:07 +03:00
Wim Taymans
95270dc2fb pulsesrc: use _get_caps_reffed() when we can
Use _get_caps_reffed()
Add some more debug when opening the server connection.
2010-09-06 10:23:07 +02:00
Stefan Kost
fc73dd210d pulsesink: add since docs for new property. 2010-09-06 09:57:58 +03:00
Stefan Kost
f83f7fafad pulsesrc: move the property-setter to the getter. 2010-09-06 09:53:00 +03:00
David Schleef
75d0795e53 dvdemux: Parse SMPTE time codes 2010-09-04 12:39:25 -07:00
Sebastian Dröge
8fa6504d34 wavpackparse: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:11 +02:00
Sebastian Dröge
58427ee02d pngdec: Don't use GST_FLOW_IS_FATAL()
And don't post an error message if downstream returns UNEXPECTED.
2010-09-04 14:52:11 +02:00
Sebastian Dröge
0cf904f0bb dvdemux: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:11 +02:00
Sebastian Dröge
b606ab06e5 jpegdec: Don't use GST_FLOW_IS_FATAL()
And don't post an error message if buffer allocation failed because
of UNEXPECTED, which only means that downstream wants us to EOS now.
2010-09-04 14:52:10 +02:00
Sebastian Dröge
2f7c0d21b6 flacenc/dec: Don't use GST_FLOW_IS_FATAL()
And properly handle UNEXPECTED and WRONG_STATE.
2010-09-04 14:52:10 +02:00
Sebastian Dröge
0753d9fee3 cmmldec/enc: Don't use GST_FLOW_IS_FATAL()
And as a result, don't ignore WRONG_STATE and NOT_LINKED.
Both mean that it's a good idea to pass them upstream instead
of pretending that everything is good.
2010-09-04 14:52:10 +02:00
Sebastian Dröge
37ee281d13 pulsesink: Fail gracefully if no threaded PA mainloop can be created
Fixes bug #628020.
2010-09-04 14:52:09 +02:00
Sebastian Dröge
998adeb974 pulsesink: Only include the server name in the context name if it's not NULL 2010-09-04 14:52:07 +02:00
Philippe Normand
7116fff3c5 pulsesink: Add "client" property to set the PA client name
Allows the application to modify the client name used to connect when
connecting to the PulseAudio daemon. Note however that updating the
property after the element reached the READY state will have no
effect until the next NULL->READY transition.

Fixes bug #627174.
2010-09-04 14:52:07 +02:00
David Hoyt
d011e96028 souphttpsrc: Improve error messages
Before they contained the URL before the actual failure. The other
way around makes more sense and we do the same in other elements
like filesrc.

Fixes bug #627289.
2010-09-04 14:52:07 +02:00
Sebastian Dröge
03f2e81f69 pulsesink: Free the clock on state change failures too 2010-09-04 14:52:07 +02:00
Philippe Normand
39d2ef5136 pulseutil: include pid value in gst_pulse_client_name() fallback return value
Fixes bug #627162
2010-09-04 14:52:06 +02:00
Sebastian Dröge
bc5345bbd3 pulsesink: Free the GstPulseContext after usage 2010-09-04 14:52:06 +02:00
Philippe Normand
69a397c32f pulsesink: share the PA context between all clients with the same name
Avoid to create a new PA context for each new client by using a hash
table containing the list of ring-buffers and the shared PA context
for each client. Doing this will improve application memory usage in
the cases where multiple pipelines involving multiple pulsesink
elements are used.

Fixes bug #624338.
2010-09-04 14:52:06 +02:00
Philippe Normand
2c5976d355 pulsesink: clear the PA mainloop if baseaudiosink failed to open the ring_buffer
If the application requests a state-change and pulsesink fails to open
the ring_buffer device the mainloop attribute of the sink should be
cleaned up to avoid future state-change (NULL->READY) failures.
2010-09-04 14:52:06 +02:00
Thiago Santos
95d1b932ab jpegdec: Prevent crash when reading image with problems
Check if we have data on the adapter and fail if not.

Fixes #627413
2010-08-19 18:30:05 -03:00
Tim-Philipp Müller
74b2af63fd pulse: fix printf format in some debugging messages 2010-08-09 00:36:36 +01:00
Jonathan Matthew
debe2d5634 id3v2mux: write beats-per-minute tag using TBPM frame
https://bugzilla.gnome.org/show_bug.cgi?id=621520
2010-08-05 00:04:48 +01:00
Philippe Normand
864a52d8aa pulsesink: use G_TYPE_DEFINE to define ring buffer type
The existing get_type() implementation is racy, and the
g_type_class_ref() workaround didn't actually work because
it was in the wrong function. Since class creation in GObject
is thread-safe these days (since 2.16), the class_ref workaround
is no longer needed and it is sufficient to ensure the _get_type()
function is thread-safe, which G_TYPE_DEFINE does.

https://bugzilla.gnome.org/show_bug.cgi?id=624338
2010-08-04 16:19:09 +01:00
Sebastian Dröge
f6240a4773 pulsesink: Post CLOCK-LOST/CLOCK-PROVIDE when going to/from READY
Otherwise the clocks are redistributed every time the pipeline
goes to PAUSED, which is quite expensive.
2010-08-04 15:21:26 +02:00
Tim-Philipp Müller
7055264e2e pulsesink: correctly check what version of gst-plugins-base we're compiling against
We need to check the gst-plugins-base version, not the core version
(even if both should be the same in any sane setup).
2010-07-26 18:18:02 +02:00
Sebastian Dröge
d1754f05c4 Revert "gdkpixbuf: Add a gdkpixbuf3 plugin that uses gdkpixbuf3"
This reverts commit b678815316.

There's no gdk-pixbuf3 anymore. gdk-pixbuf was separated from GTK+
and will stay at version 2.0 for GTK+ 3.0.
2010-07-24 10:26:32 +02:00
Mark Nauwelaerts
eb4afca554 flacdec: fix event leak 2010-07-22 16:25:38 +02:00
Thiago Santos
da1c816358 jpegdec: Fix regression on markers parsing
Fixes a regression introduced when fixing bug #583047 in
commit a391bf52cc

Skip the data when libjpeg asks it to be skipped on
one of its callbacks.
2010-07-19 15:21:04 -03:00
Sebastian Dröge
10424a4064 pulsesink: Only use gst_audio_clock_new() when compiling against newer base 2010-07-16 17:53:55 +02:00
Sebastian Dröge
415b205be3 dv1394src: Post clock-provide and clock-lost messages when going from/to PLAYING
In PAUSED and below the clock is not working.
2010-07-16 17:45:39 +02:00
Sebastian Dröge
f25420323a gconf: Fix ref handling of new child elements and minor cleanup 2010-07-16 17:45:39 +02:00
Sebastian Dröge
40a2cdb154 gconfvideosrc: Use correct GConf key 2010-07-16 17:45:39 +02:00
Sebastian Dröge
18cbdf50e7 gconf: Port gconfaudiosrc to GstSwitchSrc 2010-07-16 17:45:39 +02:00
Sebastian Dröge
b7900161f2 gconf: Port gconfvideosrc to GstSwitchSrc 2010-07-16 17:45:38 +02:00
Sebastian Dröge
cb5c185804 gconf: Add GstSwitchSrc base class 2010-07-16 17:45:38 +02:00
Sebastian Dröge
13b636e7fd gconf: Create the ghostpad of the switchsink from the template 2010-07-16 17:45:38 +02:00
Sebastian Dröge
9e92bd7b1a pulsesink: Post clock-provide/clock-lost when going to/from PAUSED
Also use gst_audio_clock_new_full() to prevent crashes when the
clock is used after the element was destroyed.
2010-07-16 17:45:38 +02:00
Mark Nauwelaerts
6f84bbe34e jpegdec: fix skipping extra 0xff markers
Fixes #623585.
2010-07-05 13:20:08 +02:00
Tim-Philipp Müller
7cbfe3eae1 jpegdec: fix memory leak
Don't leak result of gst_adapter_take(). There are most likely
smarter things we can do, but let's keep things simple for the
release.

Fixes #623172.
2010-07-02 15:10:24 +01:00
Sebastian Dröge
0df55f42e6 jpeg: Explicitely link with libgstbase 2010-06-27 06:39:14 +02:00
Tim-Philipp Müller
f9c4d5315c gdkpixbufdec: bump rank to SECONDARY
Bump gdkpixbufdec's rank to SECONDARY to give it an edge over misc.
image decoders in gst-ffmpeg that also have a MARGINAL rank.

Fixes #620162.
2010-06-24 13:02:04 +01:00
Thiago Santos
0b37991344 taglib: Use newly added gst_tag_list_peek_string_index
Replace calls to gst_tag_list_get_string_index with
gst_tag_list_peek_string_index to avoid a string copy
2010-06-18 14:13:58 -03:00
Sebastian Dröge
8b2a6a8c74 flactag: Fix possible NULL pointer dereference 2010-06-16 19:28:04 +02:00
Sebastian Dröge
8883421b0d wavpackdec: Initialize uninitialized variable and don't unref it if it's NULL 2010-06-15 20:06:17 +02:00
Sebastian Dröge
5a4ecc5b6f flacenc: Fix NEWSEGMENT parsing logic and don't use uninitialized variables 2010-06-15 19:45:36 +02:00
Marc-André Lureau
f7bf4cc905 raw1394: remove useless last_time
It seems to me this code is useless: removing it.

https://bugzilla.gnome.org/show_bug.cgi?id=618871
2010-06-15 01:25:32 +01:00
Mark Nauwelaerts
a391bf52cc jpegdec: use libjpeg scatter-gather operation to avoid data copying
Fixes #583047 (more).
2010-06-14 15:17:16 +02:00
Mark Nauwelaerts
58fbcf01e5 jpegdec: optimize buffer handling when parsing
Use an adapter to collect incoming data, and use adapter API to scan and peek.

Fixes #583047.
2010-06-14 15:17:16 +02:00
Andoni Morales Alastruey
2061fc0ccb dv1394: Fix the internal clock even more
The cycleCount register is 13 bits long and the cycleOffset one
is 12 bits long. To read the cycleCount register we need to shift
12 bits and not 13. Fixes #615461
2010-06-10 11:04:38 +01:00
Sebastian Dröge
4113a1dad1 pulsesink: Don't request more shared memory than needed 2010-06-09 20:53:06 +02:00
Sebastian Dröge
bb72770c03 switchsink: Set the GST_ELEMENT_IS_SINK flag on the sink 2010-06-09 20:46:19 +02:00
Sebastian Dröge
088495af12 gconfvideosink: Use GstSwitchSink as base class 2010-06-09 20:46:14 +02:00
Sebastian Dröge
ad1fc246ad gconfaudiosink: Use G_PARAM_STATIC_STRINGS 2010-06-09 20:30:31 +02:00
Sebastian Dröge
89227af407 gconfaudiosink: Rename instance variable to be more descriptive 2010-06-09 20:29:02 +02:00
Sebastian Dröge
bd5987a3d2 pulsesink: Flush shm buffer immediately if it's full 2010-06-09 16:22:27 +02:00
Sebastian Dröge
57813d469f pulsesink: Fix writing of buffers larger than segsize
Fixes bug #620540.
2010-06-09 16:21:55 +02:00
Sebastian Dröge
b78a27beb2 pulsesink: Fix playback if PA doesn't give us a large enough shared memory buffer 2010-06-09 15:46:59 +02:00
Sebastian Dröge
1346068b5f cmmlenc: Remove hack to let oggmux start a new page for every CMML buffer
oggmux does this for CMML by its own now
2010-06-08 07:35:00 +02:00
Tim-Philipp Müller
3486f49808 pulse: log message printf format fixes 2010-06-06 17:25:36 +01:00
Sebastian Dröge
dcae55852e ext: Don't use GST_DEBUG_FUNCPTR for GObject vfuncs 2010-06-06 18:00:22 +02:00
Sebastian Dröge
5072c47624 Revert "pulsesink: Add comments to remove the provide-clock message posting once we depend on base 0.10.30"
This reverts commit 8f3708f38a.

The baseaudiosink commit was reverted
2010-06-03 13:45:32 +02:00
Sebastian Dröge
8f3708f38a pulsesink: Add comments to remove the provide-clock message posting once we depend on base 0.10.30
baseaudiosink does all this for us now.
2010-06-03 10:28:08 +02:00
Benjamin Otte
9715238056 pulse: Style fix: use g_strdup() instead of printf()ing a simple string 2010-06-02 14:20:26 +02:00
Pierre-Louis Bossart
66a76d1f65 pulsesink: optimize communication with PulseAudio using pa_stream_begin_write 2010-06-02 13:47:06 +02:00
Sebastian Dröge
f5057a9fae pulsesink: Post provide-clock message on the bus if the clock appears/disappears
Fixes bug #620277.
2010-06-02 10:52:56 +02:00
Mark Nauwelaerts
fb3a8cd47f jpegdec: fix variable init 2010-06-01 15:56:41 +02:00
Thiago Santos
ca0652a572 pngenc: Support 8 bit grayscale
Adds support to 8 bit grayscale input
2010-06-01 09:06:04 -03:00
Thiago Santos
bca4ca631f jpegdec: Adds 8bit grayscale support
Adds decoding support for jpeg images in 8 bit grayscale format.
2010-06-01 09:06:04 -03:00
Thiago Santos
d7a25fd109 jpegenc: Accept grayscale as input
Adds video/x-raw-grayscale (8 bit) support to jpegenc
2010-06-01 09:05:29 -03:00
Sebastian Dröge
b678815316 gdkpixbuf: Add a gdkpixbuf3 plugin that uses gdkpixbuf3 2010-06-01 11:21:28 +02:00
Thiago Santos
e0c49a7590 jpegenc: Keep variables in sane state after _reset
When reseting, keep 'row' variables at a sane state after
freeing to avoid it being freed again on _resync realloc
when the element is reused.

Fixes #619943
2010-05-28 10:43:36 -03:00
Tristan Matthews
6628d20eac speex: fix latency query
Speex should report 30 ms latency for narrowband mode, 34 otherwise.
  Fixes #619018
2010-05-20 14:30:26 +02:00
Sebastian Dröge
a8103facc5 pulse: Don't lock the mainloop in NULL 2010-05-17 17:17:01 +02:00
Tim-Philipp Müller
035aead2d7 jpegenc: fix two leaks
Don't leak othercaps or jpegenc ref.
2010-05-14 17:30:40 +01:00
Wim Taymans
3cfd7968b4 jpegdec: increase acceptable output sizes
We can perfectly decode 1x1 images so lower the min width and height to 1.

Fixes #618392
2010-05-13 12:16:59 +02:00
Stefan Kost
c46642523c pulsesrc: reflow to truncate caps just once
We get writable cpas from the intersection (unless it failed). As we truncate
those anyway, we don't need to manyaly copy the first structure.
2010-05-06 15:43:53 +03:00
Stefan Kost
226deb9b38 gdkpixbuf: don't leak template caps 2010-05-06 15:43:53 +03:00
Stefan Kost
566bd22435 jpegenc: also lift the arbitrary restrictions for width and height
This was already done for jpegdec.
2010-05-06 15:43:53 +03:00
Sebastian Dröge
4a492f2c8a pulsesrc: Allocate/free PA mainloop during state changes
...also destroy the stream and context during state changes.
2010-05-06 14:03:11 +02:00
Sebastian Dröge
e69ba0f94f pulsesink: Allocate and free the custom clock in NULL<->READY 2010-05-06 13:57:01 +02:00
Sebastian Dröge
5332287e2d pulsesink: Create and free the PA mainloop in NULL->READY/READY->NULL
This fixes a race condition, when stopping the mainloop during finalization
is done from a mainloop callback.

Fixes bugs #614765 and #590662.
2010-05-06 13:51:59 +02:00
Sebastian Dröge
ef8d113a73 pulse: Don't compare values of two different enum types 2010-04-30 22:22:25 +02:00
Mark Nauwelaerts
52c71352e0 jpegdec: optimise buffer scanning
Specifically, when needing more data, do not rescan from start next time
around, but resume from last position.

See also #583047.
2010-04-30 17:49:24 +02:00
Mark Nauwelaerts
761b883f2c jpegdec: disregard superfluous lines when indirect decoding 2010-04-30 17:49:15 +02:00
Mark Nauwelaerts
78a2b22ed5 jpegdec: add support for RGB and grayscale color space
Also refactor src caps negotiation and setting.
2010-04-30 17:49:11 +02:00
Mark Nauwelaerts
b0ac4a4560 jpegenc: support more colour spaces and some cleanups 2010-04-30 17:49:09 +02:00
Mark Nauwelaerts
c5614dbb40 jpegenc: more generic sink getcaps 2010-04-30 17:49:05 +02:00
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