Commit graph

1685 commits

Author SHA1 Message Date
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
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