Commit graph

1544 commits

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