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