Commit graph

1416 commits

Author SHA1 Message Date
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
Lennart Poettering
89b0c2fc4f pulse: use 'performer' as a fallback for 'artist' tag 2009-10-17 08:48:23 +02:00
Lennart Poettering
76c8ca4b00 pulse: when constructing a stream title from tag data make sure it is translatable 2009-10-17 08:48:23 +02:00
Lennart Poettering
fd75286dd1 pulse: loop while connecting to server
pthread does not guarantee that there are no spurious condition variable
wakeups, neither does pa_threaded_mainloop_xxx() which is a wrapper
around it. So we need to loop around the _wait() function to make sure
we get the right wakeup.

Also, unify the order of the wait loops across the file.
2009-10-17 08:48:23 +02:00
Lennart Poettering
48c3bd303f pulse: mainloop creation can fail too, so handle that 2009-10-17 08:48:23 +02:00
Lennart Poettering
3188f5699b pulse: adjust CHECK_DEAD_GOTO macro to glib style 2009-10-17 08:48:23 +02:00
Lennart Poettering
d64200f46b pulse: make a few things smaller by making them bitfields 2009-10-17 08:48:21 +02:00
Tim-Philipp Müller
c83ea23a03 jpegdec: fix branch hints
Remove inappropriate branching hints and add some new ones.
2009-10-16 13:41:45 +01:00
Tim-Philipp Müller
4fb3f2519c jpegdec: fix regression in indirect decode path
Revert variable name back to what it was before the G_LIKELY was
added (in commit 69c24fb9). The code works better that way.
2009-10-16 13:36:42 +01:00
Tim-Philipp Müller
0c92e70f6c jpegdec: fix regression with certain formats
Fix regression introduced by previous commit (#598517).
2009-10-16 13:00:12 +01:00
Tim-Philipp Müller
30cb82da96 jpegdec: don't use decompress structure members we shouldn't be using 2009-10-16 13:00:12 +01:00
Tim-Philipp Müller
19b4f66014 jpegdec: remove some unused members from jpegdec instance structure 2009-10-16 13:00:12 +01:00
René Stadler
f9274226e8 pulsesink: set desired minreq value to segsize/latency-time
If we let the daemon decide freely by passing -1, we end up always getting 20ms.
We want to set this value because in some cases we want to select a higher
latency-time in order to save power.

Fixes #597601
2009-10-14 12:05:14 +02:00
Tim-Philipp Müller
87bd79f4ba jpegdec: fix bogus warning about discont flag on first buffer
The very first buffer should always have the DISCONT flag set, no
need to warn about that. Only warn if we get a DISCONT buffer in
non-packetised mode and we already have some data.
2009-10-13 01:10:59 +01:00
Tim-Philipp Müller
6ae6af9dab jpegdec: fix crash for unusual vertical chroma subsampling factors
Fixes #597351.
2009-10-13 01:10:59 +01:00
Josep Torra
c581e6f205 jpegdec: fixes warning building in snow leopard 2009-10-10 00:37:08 +02:00
Stefan Kost
f1fe1f52fd flac: apparently on some platforms a FLAC__uint64!=guint64 2009-10-09 14:37:32 +03:00
Stefan Kost
f41d7e7bd5 build: don't cast, but use the right format specified instead
This correct some of the previous macos fixes.
2009-10-09 13:54:24 +03:00
Josep Torra
696e350c7b dv: fix warnings on macosx 2009-10-09 12:40:47 +02:00
Josep Torra
133ebe76a3 flac: fix warnings on macosx 2009-10-09 12:25:19 +02:00
Josep Torra
6320de853b annodex: fix warnings in macosx 2009-10-09 12:19:35 +02:00
Stefan Kost
e0cdd879b4 build: fprintf, sprintf, sscanf need stdio.h 2009-10-07 14:03:20 +03:00
René Stadler
15c6175044 pulsesrc: guard fragment size with a lower limit based on latency-time
In case that the pulse daemon runs the source device at a relatively low fixed
fragment size compared to the requested latency-time, configure the ring buffer
segsize to the largest integer multiple of the fragment size that is still
smaller than or equal to the requested latency-time.

Fixes bug #597463.
2009-10-06 20:54:20 +03:00
Stefan Kost
86b8935b07 jpegdec: comment/logging cleanups and more branch guides 2009-10-06 17:46:49 +03:00
René Stadler
ccddf0643d pulse: rename pa_buffer_attr variables
Makes it much easier to see what is going on and is a lot less error prone.
2009-10-02 23:21:02 +03:00
Christian F.K. Schaller
e2623815d1 Update makefile with missing header file 2009-09-30 18:06:07 +01:00
Stefan Kost
b1feeee166 jpegdec: don't leak output buffers on decoding errors
The setjmp handles libjpeg error. Free the outputbffer if we don't need it.
2009-09-30 09:19:48 +03:00
Tim-Philipp Müller
477cb58640 jpegdec: fix 'unused variable' compiler warning when compiling with GST_DISABLE_GST_DEBUG 2009-09-29 00:01:59 +01:00
Stefan Kost
69c24fb991 jpeg: handle more libjpeg return values, add some more branch hints
Also remove unused size variable in _chain().
2009-09-28 17:25:35 +03:00
Alessandro Decina
195883b30a Fix compile warnings with gcc 4.0.1. 2009-09-22 15:04:36 +02:00
Stefan Kost
253f43203d jpegdec: add a G_UNLIKELY and put perf-cat log to code path that copies 2009-09-21 16:07:50 +03:00
Mark Nauwelaerts
50c41acdff speexdec: allow for unknown varying number of frames per buffer
In particular, this caters for RTP payloads with multiple frames
per packet.
2009-09-18 14:46:38 +02:00
Mark Nauwelaerts
35f9efac88 speexdec: use correct sample size in conversions 2009-09-18 14:46:38 +02:00
Mark Nauwelaerts
f4482e4ae3 speexenc: fix buffer time and duration for multiple frames per packet 2009-09-18 14:46:38 +02:00
Sebastian Dröge
317d6e18a2 pulsesrc: Don't dereference NULL pointers
pa_stream_get_timing_info() can return NULL.

Fixes bug #595220.
2009-09-15 10:05:51 +02:00
David Henningsson
bb787f1030 pulsesink: Don't dereference NULL pointers
pa_stream_get_timing_info() can return NULL.

Fixes bug #595220.
2009-09-15 10:05:51 +02:00
Wim Taymans
ccda761562 pulsesink: handle stream events
Handle stream events and request a PAUSE/PLAY state change from the application
when we receive a CORK/UNCORK event.
2009-09-14 16:05:30 +02:00
David Schleef
903c79e767 dvdemux: Use values from decoder structure directly
Don't store the same values in the GstDvDemux.  This
fixes a bug where dvdemux would detect a stream as PAL
instead of NTSC, and silently parse it wrong.
2009-09-13 19:59:45 -07:00
David Schleef
29173242bb dvdemux: Add code to parse SMPTE time codes
Code to convert time codes to/from timestamps and frame numbers.
2009-09-13 13:22:35 -07:00
David Schleef
1b57f19509 dvdemux: Fix detection of new media
There are 5 or 6 AAUX source control packs in a frame, and any
of them could have REC_ST cleared, indicating a recording start
point.  libdv only checks the first.
2009-09-13 12:34:07 -07:00
Edward Hervey
b1dab0fce1 dvdemux: Set DISCONT flag on buffers when REC_ST flag is set.
Also add a few branch prediction macros
2009-09-12 19:26:56 +02:00
Sebastian Dröge
0c50816aaa pulsesink: Implement GstStreamVolume interface 2009-09-11 16:38:03 +02:00
Sebastian Dröge
7fb6ad6d4c pulsesink: Implement mute property 2009-09-11 16:38:03 +02:00
Wim Taymans
d4316e74fc gdkpixbufsink: fix docs refering to send-messages 2009-09-11 13:33:31 +02:00
Wim Taymans
9fb92af2df pixbufsink: add post-messages property
Add post-messages and deprecate send-messages as the former is more
descriptive of what actually happens.
2009-09-11 13:20:06 +02:00
David Schleef
3dc2c2472c dv1394src: Add a clock based on isochronous cycle counter
Partial fix for #169383.
2009-09-09 18:19:56 -07:00
Wim Taymans
42ee5e22a2 pulsesink: remove ringbuffer reset compensation
Remove the code to deal with a ringbuffer reset as this code is now in the base
class.
Bump the -base requirement as we need the new baseaudiosink code to function
properly.
2009-09-09 16:25:06 +02:00
Wim Taymans
75a48e238a pulsesink: whitespace fixes 2009-09-09 16:24:49 +02:00
Wim Taymans
ca7bec0d65 pulse: small cleanups
Add some debug info
Fix the state changes
2009-09-08 19:34:09 +02:00
David Schleef
55d2754098 Remove Ronald Bultje from Authors field
Replaced with "GStreamer maintainers
<gstreamer-devel@lists.sourceforge.net>" or just removed,
depending on the number of other authors.
2009-09-05 20:53:10 -07:00
Edward Hervey
65d90baf84 jpegdec: Avoid unnecessary processing until we have a full picture.
This is for non-packetized mode, when we know the upstream size in bytes.
2009-09-03 17:40:20 +02:00
Stefan Kost
0541c44add speexenc: small taglist handling cleanup
Don't eventualy leak the list and instead assert (like in other elements).
2009-09-03 14:48:14 +03:00
Stefan Kost
e82e16480d pulsesink: also guard reseting subscribe callback with ifdefs
It is conditionaly set, so do the same when unsetting.
2009-09-02 23:14:20 +03:00
Tim-Philipp Müller
d875e72b02 flactag, wavparse: GstAdapter is not a GstObject 2009-08-31 13:07:53 +01:00
Wim Taymans
abee4f1d64 pulsesink: don't use relative seeks
Don't use relative seeks, it's too hard to track where we are after a flush
etc.

fixes #593015
2009-08-25 17:33:04 +02:00
Wim Taymans
08808f7f32 pulsesrc: don't discard the result of _set_caps()
Use the result of gst_pad_set_caps() instead of assuming success.

See #590678
2009-08-24 16:22:47 +02:00
Tim-Philipp Müller
68c4019057 smokeenc: don't crash when compiled against libjpeg7
Set parameters so that we don't crash with libjpeg7. Based on
Stefan Kost's fix for jpegenc. Fixes #591951.
2009-08-17 17:08:45 +01:00
Zaheer Merali
8dd9583357 dvdec: set bottom field first on PAL interlaced content, not top field first
DV interlaced content is always bottom field first. Fixes #591712.
2009-08-14 13:34:53 +01:00
Edward Hervey
d522f94f98 dv1394src: Fix element for live usage... which has been broken for 2 years :(
This is a live source, therefore:
* Use GST_FORMAT_TIME as the default format
* set_timestamp to True
* properly implement query latency.

This allows expected live usage like : playbin2 uri=dv://
2009-08-10 09:58:34 +02:00
Edward Hervey
3fd4cdcc43 raw1394: Remove unneeded variable 2009-08-10 09:58:34 +02:00
Sebastian Dröge
153ae910a0 wavpack: Use GLib GChecksum instead of our own MD5 implementation
This requires GLib 2.16 but that version is already required by core anyway.
2009-08-10 09:54:16 +02:00
Sebastian Dröge
c42f0ad5b6 souphttpsrc: Use SOUP_METHOD_GET instead of "GET" string
Fixes bug #590970.
2009-08-06 21:24:14 +02:00
Wim Taymans
b32ef1d51e pulsesrc: set the default slave method to skew
Set the default slave method to the much better skew algorithm. This is the
default in the new base class but we override this here as well for the
upcomming release.
2009-08-06 13:03:13 +02:00
Tim-Philipp Müller
1425c46e20 pulsesrc: fix compilation with --disable-gst-debug 2009-08-06 10:21:38 +01:00
Jonathan Tellier
dbf4d8a910 pulsesrc: initialize the probe with the server
When creating a new probe, pass the server instead of the device string.

fixes #590401
2009-08-03 13:32:12 +02:00
Tim-Philipp Müller
a3c393248a pulsesink: don't do logic within g_assert() statements
Otherwise that code will just be expanded to nothing when compiled
-DG_DISABLE_ASSERT (PS: why is mainloop_start() called in the init
function and not when changing state to READY?)
2009-08-02 11:49:17 +01:00
Tim-Philipp Müller
cee10cb439 flacdec: send newsegment event when operating push-based and unframed
For some reason flac doesn't call our metadata callback when we operate
in push mode with unframed input, but that's where we set up the
newsegment event (since that's where we'd get the duration from the
stream info header), so we didn't send a newsegment event at all in this
case. Hack around this by storing a generic newsegment event for now
which will be used if we don't replace it with a better one that
includes the duration.
2009-08-01 17:07:42 +01:00
Tim-Philipp Müller
3cf8790906 flacdec: small cleanups
Remove some callback indirections which are no longer needed because
there's only one decoder object type now. Also remove unused variable.
2009-08-01 16:48:36 +01:00
Tim-Philipp Müller
e8badc0686 flacdec: use gst_adapter_copy() to avoid unnecessary buffer merges
gst_adapter_peek() will merge buffers as needed, which we can avoid
here since we're doing a memcpy anyway and then flush the copied
data from the adapter right away.
2009-08-01 15:22:49 +01:00
Tim-Philipp Müller
33b686974e flacdec: repair some broken indenting 2009-08-01 12:30:32 +01:00