Commit graph

1511 commits

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