Commit graph

2011 commits

Author SHA1 Message Date
Arun Raghavan
bd604175c5 pulsesink: Trivial indentation fix 2011-08-23 22:48:34 +05:30
Monty Montgomery
799c8e3d04 flacdec: Correct sample number rounding resulting in timestamp jitter
flacdec converts the src timestamp to a sample number, uses that internally, then reconverts the sample number to a timestamp for the output buffer.  Unfortunately, sample numbers can't be represented in an integer number of nanoseconds, and the conversion process was truncating rather than rounding, resulting in sample numbers and output timestamps that were often off by a full sample.

This corrects the time->sample convesion
2011-08-23 10:09:41 +02:00
Wim Taymans
0eeffef222 pulsesink: port after merge 2011-08-19 16:13:23 +02:00
Wim Taymans
e1b795ac13 Merge branch 'master' into 0.11 2011-08-19 16:12:01 +02:00
Wim Taymans
77ad0a1363 port more elements to new audio caps and API 2011-08-19 14:01:45 +02:00
David Henningsson
e70020b456 pulsesink: Allow writes in bigger chunks
There's no use in splitting the incoming data down to the segsize
limit - by writing as much as possible in one chunk, we increase
performance and avoid PulseAudio unnecessary rewinds.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-08-19 09:48:27 +02:00
Wim Taymans
09b15d7dfe port to new audio caps. 2011-08-18 19:21:07 +02:00
Wim Taymans
ce1e7cb108 Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacdec.c
2011-08-17 15:52:18 +02:00
Wim Taymans
be4f60b062 jpeg: port to 0.11
Also disable smoke for now.
2011-08-17 15:39:27 +02:00
Vincent Penquerc'h
3e0134f51f flacdec: avoid timestamp/offset tracking going out of sync
The libFLAC API is callback based, and we must only call it to
output data when we know we have enough input data. For this
reason, a single processing step is done when receiving a buffer.
However, if there were metadata buffers still pending, a step
intended for the first audio frame might end up writing that
leftover metadata. Since a single step is done per buffer, this
will cause every buffer to be written one step late.

This would add some latency (a bufferfull's worth), possibly
lose a buffer when seeking or the like, and also cause timestamp
and offset to be applied to the wrong buffer, as updates to
the "current" segment last_stop (from incoming buffer timestamp)
will be applied to an output buffer originating from the previous
incoming buffer.

This fixes the issue by ensuring that, upon receiving the first
audio frame, processing is done till all metadata is processed,
so the next "single step" done will be for the audio frame. After
this, we should keep to 1 input buffer -> 1 output buffer and so
avoid getting out of sync.

https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 13:40:59 +01:00
Vincent Penquerc'h
e09eb95a5f flacdec: bail on reserved value
Now that we look at the right bits, we can test against the reserved
value as we do for other fields.

https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 00:02:38 +01:00
Vincent Penquerc'h
64beef4610 flacdec: fix bit twiddling
Right shifting a 8 bit value by 8 bits is twice too much
to get the high 4 bits.

https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 00:01:37 +01:00
Vincent Penquerc'h
1549aaba27 flacdec: warn if we see a variable block size where unsupported
https://bugzilla.gnome.org/show_bug.cgi?id=650960
2011-08-17 00:01:07 +01:00
Wim Taymans
4bb2b140e9 Merge branch 'master' into 0.11
Conflicts:
	sys/v4l2/v4l2src_calls.c
2011-08-16 18:35:53 +02:00
Tim-Philipp Müller
26a3a12513 jackaudiosrc: fix error message code
And also post 'not found' error if jackd is not even installed.
2011-08-13 16:52:53 +01:00
Edward Hervey
145f6da5bb aasink: Remove unused variables 2011-08-10 11:28:26 +02:00
Tim-Philipp Müller
9f904ac438 aalib: make sure -DGST_USE_UNSTABLE_API is defined
So we don't get warnings.
2011-08-08 15:26:00 +01:00
Wim Taymans
71346020d5 pulsesrc: avoid race in starting
Sine the base class now does the negotiation from the streaming thread we have
to be careful and check if the stream is ready before changing its corked state.
2011-08-07 11:17:41 +02:00
Wim Taymans
d9750387c1 pulse: more cleanups 2011-08-04 18:41:29 +02:00
Wim Taymans
9ae85cb662 pulsesrc: small cleanups 2011-08-04 18:15:55 +02:00
Wim Taymans
fcbe26cd6f pulsesrc: small cleanups 2011-08-04 16:32:39 +02:00
Wim Taymans
ee2aa25e04 port to new API 2011-08-03 18:37:27 +02:00
Wim Taymans
4121021bb2 Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulsesink.c
	ext/pulse/pulsesrc.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtp/gstrtph264pay.c
	gst/rtpmanager/gstrtpssrcdemux.c
2011-08-03 18:25:30 +02:00
Sebastian Dröge
f18eccd286 hal: Remove hal plugin
hal is not developed anymore and nobody is using the plugin nowadays.
2011-08-03 10:59:56 +02:00
Tristan Matthews
c26442a3ba jackaudiosink: Don't call g_alloca() in process_cb
g_alloca() is not RT-safe, so instead we should allocate the
memory needed in advance. Fixes #655866
2011-08-03 09:44:05 +02:00
Tim-Philipp Müller
25ace0e524 pulsesink: fix variable-set-but-not-used compiler warning with older pulse versions 2011-07-29 13:05:42 +01:00
Arun Raghavan
ac7cad431c pulsesink: Add support for compressed formats
This adds support for various compressed formats (AC3, E-AC3, DTS and
MP3) payloaded in IEC 61937 format (used for transmission over S/PDIF,
HDMI and Bluetooth).

The acceptcaps() function allows bins to probe for what formats the sink
being connected to support. This only works after the element is set to
at least READY.

If the underlying sink changes and the format we are streaming is not
available, we emit a message that will allow upstream elements/bins to
block and renegotiate a new format.
2011-07-29 01:25:15 +05:30
Arun Raghavan
a67b536741 pulsesink: Use the extended stream API if available
This uses the new extended API for creating streams. This will allow us
to support compressed formats natively in pulsesink as well.
2011-07-29 01:25:15 +05:30
Arun Raghavan
379049809c pulsesrc: Add a source-output-index property
This exposes the source output index of the record stream that we open
so that clients can use this with the introspection if they want (to
move the stream, for example).
2011-07-29 00:07:52 +05:30
Tim-Philipp Müller
ab62599832 speex: update for position/query/convert API changes 2011-07-28 11:38:31 +01:00
Thiago Santos
14b9fb7be6 pulsesrc: Fix default value leaking
Remember to free the default value of client name, avoiding a
leak
2011-07-18 15:16:01 -03:00
Wim Taymans
da28ebfbe3 aasink: port to new video API 2011-07-06 17:50:54 +02:00
Wim Taymans
1a0a6f54bb cacasink: port to 0.11 2011-07-06 17:40:20 +02:00
Wim Taymans
f70da0a542 jpeg: beginnings of porting to 0.11 2011-07-06 16:51:36 +02:00
Wim Taymans
fdf5a49422 speex: port speex elements 2011-07-06 15:57:23 +02:00
Wim Taymans
3fd1106b7e Merge branch 'master' into 0.11 2011-07-06 12:05:12 +02:00
René Stadler
ae87731de5 pulsesink: prevent race condition causing ref leak
Since commit 8bfd80, gst_pulseringbuffer_stop doesn't wait for the
deferred call to be run before returning. This causes a race when
READY->NULL is executed shortly after, which stops the mainloop. This
leaks the element reference which is passed as userdata for the callback
(introduced in commit 7cf996, bug #614765).

The correct fix is to wait in READY->NULL for all outstanding calls to
be fired (since libpulse doesn't provide a DestroyNotify for the
userdata). We get rid of the reference passing from 7cf996 altogether,
since finalization from the callback would anyways lead to a deadlock.

Re-fixes bug #614765.
2011-07-05 16:36:17 +02:00
René Stadler
f8456e2a1a pulsesink: small cleanup of copy-paste code 2011-07-05 16:36:17 +02:00
René Stadler
3589cee762 pulsesink: remove unused member variable and misleading log message
Wim changed it in commit 8bfd80 so that pa_defer_ran is not read
anywhere.

The log message used to annotate a mainloop_wait call which is gone.
2011-07-05 16:36:17 +02:00
Wim Taymans
8b040cfae2 pulse: remove implementsinterface 2011-07-04 18:12:56 +02:00
Mark Nauwelaerts
0c25863253 jpegdec: avoid crashing on invalid input without components 2011-07-04 14:32:27 +02:00
Mark Nauwelaerts
d59a00aa1c Merge branch 'master' into 0.11
Conflicts:
	ext/pulse/pulsesink.c
2011-07-04 11:48:13 +02:00
David Schleef
f69dcaab58 pulse: Increase ranks to PRIMARY + 10
So that pulsesrc/pulsesink get chosen over other possible PRIMARY
src/sinks by autoaudiosink.  Presumably, if pulse is available, it
is always preferred over another src/sink.

Fixes: #647540.
2011-07-03 19:53:42 -07:00
David Schleef
2f94df8032 jpegenc: Don't round up size of encoded buffers
For some reason, in code dating to 2001, encoded jpeg buffers were
rounded up to multiples of 4 bytes.  With the added bonus that the
extra bytes are unwritten, causing valgrind issues.  Oops.  I can't
think of any reason why JPEG buffers need to be multiples of 4 bytes,
so I removed the padding.  There might be some code somewhere that
depends on this behavior, so if this needs to be reverted, please fix
the valgrind issues.
2011-06-29 23:55:33 -07:00
Andoni Morales Alastruey
d9f4c59c49 dv1394src: make the internal clock thread safe
Fixes: #653091.
2011-06-24 12:01:39 -07:00
Arun Raghavan
04786a6d31 pulse: Drop support for PA versions before 0.9.16
This drops support fof PulseAudio versions prior to 0.9.16, which was
released about 1.5 years ago. Testing with very old versions is not
feasible and we don't want to maintain 2 independent code-paths.
2011-06-21 16:47:11 -07:00
Wim Taymans
adee56222b pulsesink: fix for header cleanups 2011-06-21 18:19:02 +02:00
Tim-Philipp Müller
3d6955d686 Remove esound/esdsink plugin 2011-06-15 15:09:18 +01:00
Tim-Philipp Müller
728732438b Remove gconf elements and plugin
GConf was deprecated in favour of GSettings etc.
2011-06-15 14:37:29 +01:00
Wim Taymans
c2358404c1 jack: port some more 2011-06-09 17:56:18 +02:00
Wim Taymans
3446ca801e aasink: register template and klass correctly 2011-06-09 11:37:47 +02:00
Wim Taymans
710fa239d5 Merge branch 'master' into 0.11 2011-06-08 18:06:56 +02:00
Wim Taymans
0af32751ae assink: port aasink to 0.11 2011-06-08 18:05:20 +02:00
David Schleef
6d8d08eac7 souphttpsink: code cleanup 2011-06-04 13:43:28 -07:00
Wim Taymans
0b1bdcf7cb Merge branch 'master' into 0.11
Conflicts:
	sys/ximage/ximageutil.c
2011-06-02 18:51:29 +02:00
Sebastian Dröge
252c1afcc2 dvdemux: First query the peer duration in the requested format before converting to BYTES
Fixes usage of dvdemux after another demuxer, e.g. mxfdemux.
Fixes bug #650503.
2011-06-02 13:38:30 +02:00
Sebastian Dröge
e376913fc3 souphttpsink: Fix refcounting of the "session" property
Properties should never take ownership of the values
passed to them.
2011-06-02 10:41:52 +02:00
David Schleef
3937abf999 soup: Add souphttpsink 2011-06-01 17:19:02 -07:00
Vincent Penquerc'h
38b596337f cairotextoverlay: forward new segment events from the sink to the source
Not doing so will cause buffers to be received by downstream without
a time base set.
We use the same method avimux uses to get access to the event when
collectpads got the sink event function.

https://bugzilla.gnome.org/show_bug.cgi?id=640323
2011-05-26 11:35:01 +02:00
Vincent Penquerc'h
b99f4be3db textoverlay: forward source events to sinks
Events are passed to the video sink, and to the text sink if it is
linked.
This will allow seeking, for instance.

https://bugzilla.gnome.org/show_bug.cgi?id=586450
2011-05-26 11:33:10 +02:00
Wim Taymans
d89790d545 Merge branch 'master' into 0.11
Conflicts:
	gst/avi/gstavidemux.c
	gst/rtp/gstrtpac3depay.c
	gst/rtp/gstrtpg726depay.c
	gst/rtp/gstrtpmpvdepay.c
	gst/videofilter/gstgamma.c
2011-05-24 17:34:19 +02:00
Tim-Philipp Müller
900b2fb63d flacdec: also try upstream first for duration query in DEFAULT format
https://bugzilla.gnome.org/show_bug.cgi?id=650785
2011-05-23 13:25:44 +01:00
Wim Taymans
cf1248e566 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
2011-05-16 17:52:11 +02:00
Wim Taymans
a0e301ab1a -good: fix for new API 2011-05-16 17:50:15 +02:00
Pino Toscano
b52c7ebd19 pulse: Define PATH_MAX if it isn't defined
GNU Hurd for example doesn't define it.
2011-05-16 09:04:31 +02:00
Sebastian Dröge
d4b9cbc1ae flacdec: Send EOS when seeking after the end of file instead of failing
Fixes bug #649780.
2011-05-14 11:52:13 +02:00
Wim Taymans
992e3f7c55 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst/rtp/gstrtpgstpay.c
2011-04-29 15:49:41 +02:00
Wim Taymans
5ed18ad7b9 jack: port jack elements 2011-04-26 15:42:47 +02:00
Philip Jägenstedt
660987c6d7 jpegdec: documentation typo "jpegddec"
https://bugzilla.gnome.org/show_bug.cgi?id=648589
2011-04-25 21:36:28 +01:00
Wim Taymans
a1894ed363 Merge branch 'master' into 0.11 2011-04-25 11:38:28 +02:00
David Schleef
24d57ac961 pngdec: Remove temporary code
Now that we depend on (what will be) -base-0.10.33.
2011-04-24 18:53:50 -07:00
Wim Taymans
2f9a7b1a1b flac: port to 0.11 2011-04-19 18:55:31 +02:00
Wim Taymans
dea50d0b98 use G_DEFINE_TYPE 2011-04-19 17:07:18 +02:00
Wim Taymans
7555d0949f Merge branch 'master' into 0.11
Conflicts:
	android/apetag.mk
	android/avi.mk
	android/flv.mk
	android/icydemux.mk
	android/id3demux.mk
	android/qtdemux.mk
	android/rtp.mk
	android/rtpmanager.mk
	android/rtsp.mk
	android/soup.mk
	android/udp.mk
	android/wavenc.mk
	android/wavparse.mk
	configure.ac
2011-04-18 10:23:45 +02:00
Tim-Philipp Müller
f325935314 pulse, speexenc, rtpgsmpay: don't use g_assert() for error handling
Don't use g_assert() for error handling, even if they're highly unlikely.
Either we *know* that something can't happen, in which case we
should just not handle it, or we think something can happen, but it is
very very unlikely that it will ever happen, in which case we should
handle it like any other error instead of asserting.

g_assert() is best left for conditions we have control of, like checking
internal consistency of our code, not checking return values of external
code.

Fixes a bunch of warnings when compiling with -DG_DISABLE_ASSERT:
gstrtpgsmpay.c: In function 'gst_rtp_gsm_pay_handle_buffer':
gstrtpgsmpay.c:130:17: warning: variable 'rtpgsmpay' set but not used
gstspeexenc.c: In function 'gst_speex_enc_encode':
gstspeexenc.c:904:19: warning: variable 'written' set but not used
pulsesink.c: In function 'gst_pulsesink_change_state':
pulsesink.c:2725:9: warning: variable 'res' set but not used
pulsesrc.c: In function 'gst_pulsesrc_change_state':
pulsesrc.c:1253:7: warning: variable 'e' set but not used
2011-04-16 18:15:43 +01:00
Tim-Philipp Müller
a068133ee7 jack: fix unused-but-set-variable warnings with gcc-4.6 2011-04-16 13:33:45 +01:00
Robert Swain
098cf89e34 jpegenc: pulsesink: raw1394: Address unused but set variables
GCC 4.6.x spits warnings about such usage of variables. The variables in
raw1394 were marked with G_GNUC_UNUSED as this seemed omre appropriate.
The others were removed.
2011-04-16 13:13:04 +01:00
Sebastian Dröge
18eee7719d flacenc: Properly interprete the result of strcmp() 2011-04-13 16:17:41 +02:00
Sebastian Dröge
16f82e46f5 flacenc: Don't store image tags inside the vorbiscomments and the flac metadata
Instead only store them inside the flac metadata. There's
no point in storing them twice and the flac metadata is
still the official way to store image tags inside flac.
2011-04-13 16:11:44 +02:00
Stefan Kost
21a688ce25 jack: also handle deprecations for jack 1.9.7
Jack 1.9.7 was released 20.Mar.2011, need to handle the deprecated api for this
version too.
2011-04-11 12:44:19 +03:00
Sebastian Dröge
b784173e4a jpegdec: Unref event if the parent element disappeared 2011-04-08 15:22:47 +02:00
Havard Graff
9386448649 jpegdec: Make upstream events MT-safe 2011-04-08 15:21:52 +02:00
Sebastian Dröge
11bcac7c90 Revert "Pulsesink: Allow chunks up to bufsize instead of segsize"
This reverts commit 1e2c1467ae.

The commit causes pulsesink to ignore the latency-time baseaudiosink property.
2011-04-08 14:35:04 +02:00
Alexey Fisher
0016ceaa2b speexenc: Use speex intern silence detection
Speex has build in silence detection. If speex_encode_int returns 0,
than there is silence and sample do not need to be transmitted.
This work only if vbr=1 and dtx=1 optionas are enabled.
So if we get 0, we add GAP flag to the sample.
2011-04-08 13:54:49 +02:00
Wim Taymans
c124ba1489 Merge branch 'master' into 0.11
Conflicts:
	gst/rtsp/gstrtspsrc.c
2011-04-05 17:20:08 +02:00
Jon Nordby
d68dd46084 jack: Fix build with jack 0.120.1
9544622674 checked
for 0.120.2 and later, but the deprecation was introduced in
0.120.1
2011-04-05 13:12:28 +03:00
Arun Raghavan
dc48eaac13 pulsesink: Always call pa_stream_new_with_proplist()
pa_stream_new_with_proplist() can take a NULL proplist, so we don't need
to concern ourselves with whether it's NULL or not.
2011-04-04 17:23:21 +05:30
Sebastian Dröge
6fd1546bce flacenc: Add support for writing METADATA_BLOCK_PICTURE blocks for GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE 2011-04-01 13:18:55 +02:00
Mark Nauwelaerts
176b8ffbff pulsesink: also uncork during EOS waiting (and after EOS is rendered)
Pulsesink was recently changed to defer uncorking until there is data
to write. This condition will however never occur when EOS in being
rendered (since that marks the end of data). Changing to PAUSED state
while EOS is being waited on results in a hang: pausing corks the
stream, which will never be undone since there is no more data when
going back to PLAYING. If pulsesink is the clock provider, deadlock
ensues since time doesn't continue in corked state and the clock id
for EOS wait never fires.

Fixes #645961.
2011-03-31 13:25:19 +02:00
Tim-Philipp Müller
c365fbddba flacdec: fix issues with large metadata blocks when streaming unframed flac
Parse metadata blocks when handling unparsed flac in push mode. This
works around a bunch of issues with the flac decoder when handling
metadata blocks that are larger than the max. flac framesize, which
coverart blocks often are. We need to have all the data for these
blocks available when we pass data to libflac.

http://gstreamer-devel.966125.n4.nabble.com/Flac-files-that-will-playback-but-not-stream-td3338198.html#a3395276

https://bugzilla.gnome.org/show_bug.cgi?id=566769
2011-03-28 23:46:47 +01:00
Wim Taymans
8f22a09dc4 Merge branch 'master' into 0.11-fdo 2011-03-28 20:50:59 +02:00
Stefan Kost
ed77b14aa0 cairo: fix the name of the *-marshall.list file to unbreak make distcheck 2011-03-25 12:53:43 +02:00
Sebastian Dröge
85ace6d413 speexdec: Get and use streamheader from the caps if possible
This allows playback of streams where the streamheader buffers
were dropped from the stream for some reason.
2011-03-24 09:00:32 +01:00
Robert Swain
a430042f41 jackaudiosink: Fix typo from 9544622674 2011-03-16 10:43:47 +01:00
Vincent Penquerc'h
56edbd0fa3 speexdec: silence warning message when appropriate
If we did not know how many frames to expect, then we get an unexpected
end of stream when trying to decode more frames that are there, if there
are leftover bits to pad to the next byte
2011-03-15 19:44:03 +01:00
Sebastian Dröge
4d7b4ca2ae speexdec: Always process the number of frames per packet as specified in the header
Looking at the remaining bits in the bitstream after decoding a
single frame can't be used as loop condition. The remaining
bits might not give a complete frame and the speex decoder will
then output nothing but access uninitialized memory, which leads
to valgrind warnings.

Fixes bug #644669.
2011-03-14 19:31:33 +01:00
Philip Jägenstedt
84decd731f pulsesink: Better fix for deadlock on failed connect
This reverts the previous fix that would cause a double-unlock when the
stream connect failed.

https://bugzilla.gnome.org/show_bug.cgi?id=644510
2011-03-12 00:48:03 +05:30
Arun Raghavan
387f533a07 pulsesink: Fix deadlock if connecting to PA fails
Commit dd4ec22e introduced a deadlock in the failure path while trying
to connect to PulseAudio. This makes sure we drop the lock on the
resource mutex to avoid this.

https://bugzilla.gnome.org/show_bug.cgi?id=644510
2011-03-11 23:19:34 +05:30
Sebastian Dröge
9e44fff3db dvdemux: Chain up to the parent class' ::send_event for non-seek events 2011-03-11 13:48:33 +01:00
Sebastian Dröge
bc6c1bbbab dvdemux: Fix refcount issues with the seek event
Fixes bug #642963.
2011-03-11 13:48:32 +01:00
Tim-Philipp Müller
14e1d9de3d docs: fix pulsesink gtk-doc markup 2011-03-11 09:54:36 +00:00
Philippe Normand
9544622674 jack: fix build against jack 0.120.2
jack_port_get_total_latency() has been deprecated in favor of
jack_port_get_latency_range().

https://bugzilla.gnome.org/show_bug.cgi?id=644477
2011-03-11 09:48:36 +00:00
Wim Taymans
338c300f5f Merge branch 'master' into 0.11 2011-03-04 16:30:36 +01:00
Stefan Kost
89914439b7 pulsesink: add a doc example for setting stream-properties 2011-03-04 15:50:49 +02:00
Stefan Kost
edfa99ef31 pulsesink: fix the xml in the docs 2011-03-04 15:50:49 +02:00
Sebastian Dröge
fdbdbfefd2 cairooverlay: Some minor cleanup 2011-03-02 23:14:36 +01:00
Jon Nordby
32dff9df75 cairooverlay: Add generic Cairo overlay video element.
Allows applications to connect to the "draw" signal of
the element and do their custom drawing there.
Includes an example application demonstrating usage.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=595520
2011-03-02 22:55:52 +01:00
Wim Taymans
db5aa9067b Merge branch 'master' into 0.11 2011-02-28 13:29:47 +01:00
Wim Taymans
59c825a938 id3: use boxed type instead of miniobject 2011-02-28 11:58:48 +01:00
Wim Taymans
c899229c48 jpegdec: add duration when extimating QoS time
When we need to decide on the next QoS time, take into account the duration of
the buffers.
2011-02-28 11:58:48 +01:00
Philip Jägenstedt
dd4ec22e7e pulsesink: release pa_shared_resource_mutex before pa_threaded_mainloop_wait
Not doing so can result in a deadlock when two threads enter
gst_pulseringbuffer_open_device at the same time, as
pa_threaded_mainloop_wait releases the mainloop lock while waiting,
allowing another thread to take it, resulting in a deadlock as two
threads waits for the lock the other is holding.

https://bugzilla.gnome.org/show_bug.cgi?id=643087
2011-02-28 16:20:22 +05:30
Philip Jägenstedt
683c96b37a pulsesink: s/ressource/resource/
https://bugzilla.gnome.org/show_bug.cgi?id=643087
2011-02-28 16:20:20 +05:30
Carsten Kroll
d4eaff5e88 dvdemux: First try if upstream handles TIME seeks before handling them here
Fixes bug #642963.
2011-02-24 13:57:01 +01:00
Edward Hervey
6e1c701502 Revert "Check that collectpads exists before removing pad"
This reverts commit 8e6b876e76.

Depends on a core commit that was reverted
2011-02-21 12:25:19 +01:00
David Schleef
8e6b876e76 Check that collectpads exists before removing pad
The core now calls release pad from finalize, at which point
the collectpads might have already been freed.
2011-02-20 23:46:01 -08:00
David Schleef
13d441315f pngdec: Handle 16-bit-per-channel images 2011-02-20 12:12:51 -08:00
Andoni Morales Alastruey
b2fb4edcb7 souphttpsrc: Add URI query handler
Fixes bug #642337.
2011-02-15 09:44:01 +01:00
David Henningsson
1e2c1467ae Pulsesink: Allow chunks up to bufsize instead of segsize
By allowing larger chunks to be sent, PulseAudio will have a
lower CPU usage. This is especially important on low-end machines,
where PulseAudio can crash if packets are coming in at a higher
rate than PulseAudio can process them.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-01-31 17:15:05 +01:00
Arun Raghavan
e18e25a324 pulsesink: Uncork stream while flushing the ringbuffer
After starting the ringbuffer, we wait for enough data to arrive before
uncorking the stream. This will cause the pipeline to stall if we get an
EOS (or otherwise need to flush the stream) before sufficient data
becomes available. This patch makes sure that the stream is uncorked
while flushing to avoid this problem.

Fixes issue with a webkit unit test testing reverse playback of
an MP4 H.264/AAC file.

https://bugzilla.gnome.org/show_bug.cgi?id=639740
2011-01-17 15:40:12 +00:00
Arun Raghavan
7280ea1f68 pulsesink: Make corking during pause synchronous
This makes the call to pa_stream_cork() during ringbuffer pause()
synchronous, which makes sure that the clock does not advance after we
take a snapshot for start_time.

https://bugzilla.gnome.org/show_bug.cgi?id=639240
2011-01-11 20:43:54 +00:00
Wim Taymans
c17f7a943d cacasink: fix masks and strides
Use the right endianness to read the masks.
Use the right strides for the bitmap.

Fixes #638569
2011-01-03 18:06:48 +01:00
Tim-Philipp Müller
57e35559c8 jack: fix up element details and some other minor clean-ups 2011-01-02 19:51:54 +00:00
Tim-Philipp Müller
79a8e0ee42 jack: template caps had lists with one value, just use value directly 2011-01-02 17:40:41 +00:00
Tim-Philipp Müller
1f5083a17c jack: make get_type functions thread-safe
Because we can (shouldn't be needed with other workarounds still there).
2011-01-02 17:27:35 +00:00
Tim-Philipp Müller
67f4489cd0 jack: new jackaudiosrc and jackaudiosink elements, moved from gst-plugins-bad
https://bugzilla.gnome.org/show_bug.cgi?id=621929
2011-01-02 15:26:30 +00:00
Stefan Kost
3c43a9e102 various (ext): add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed.
2011-01-02 14:30:09 +00:00
Tristan Matthews
11c4157af4 jack: added translatable text for server not found error 2011-01-02 14:30:08 +00:00
Tristan Matthews
c070cfa7c8 jack: added client property 2011-01-02 14:30:08 +00:00
Tristan Matthews
a110fe3343 jack: removed unused file gstjackbin.c
This is a 0.8 leftover.
2011-01-02 14:30:08 +00:00
Wim Taymans
71b06e4957 jacksrc: make sure we always read nframes
Error out when we are asked to read a different size that what was configured as
the jack period size because that would mean something else is wrong.

Fixes #618409
2011-01-02 14:30:08 +00:00
Tristan Matthews
e05b723274 jack: improve process_cb 2011-01-02 14:30:08 +00:00
Tristan Matthews
55f1ea09b0 jack: implement multichannel support correctly for jackaudiosrc
Fixes parts of bug #616541.
2011-01-02 14:30:08 +00:00
Stefan Kost
3153aa995f jack: remove empty dispose and finalize methods 2011-01-02 14:30:08 +00:00
Stefan Kost
2b7ca1413a jack: don't leak caps
Add dispose methods to clear caps.
2011-01-02 14:30:08 +00:00
Stefan Kost
084e8269c2 jack: don't use GST_DEBUG_FUNCPTR for gobject vmethods 2011-01-02 14:30:08 +00:00
Stefan Kost
0a22a42268 jack: fix element name in section doc blob 2011-01-02 14:30:08 +00:00
Benjamin Otte
de91f84dfb Add -Wold-style-definition
and fix the warnings
2011-01-02 14:30:08 +00:00
Benjamin Otte
71366f80d9 Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2011-01-02 14:30:07 +00:00
Benjamin Otte
4ccda26327 gst_element_class_set_details => gst_element_class_set_details_simple 2011-01-02 14:30:07 +00:00
Stefan Kost
f20c73684b jack: ensure segtotal is at least 2
Not only adjust buffer-time and avoid segtotal=0, but instead ensure segtotal is
atleast 2. Do same change on jacksrc. We could also check the latency and buffer
time configured by the client and adjust buffer-time so that we get to the same
number of segments.
2011-01-02 14:30:07 +00:00
Stefan Kost
45fb781f9b jack: don't crash in ringbuffer with SIGFPE on small buffer-times
Jack overrides user-specified latency-time with the one it gets from jack
itself. It also needs to adjust buffer-time somewhat to avoid segtotal being 0
2011-01-02 14:30:07 +00:00
Stefan Kost
8a002a1121 jack: when stopping playback, do one more cycle to flush the port. Fixes #582167
The gst_jack_audio_client_set_active() flags the port as deactivating and uses
a GCond to wait until the jack_process_cb() has run once more and cleared the
flag. This way the client zero's the buffer. This happens if one manyally go
to PAUSED and then to READY, while leting the mainloop run inbetween.
2011-01-02 14:30:07 +00:00
Wim Taymans
7dde7eca28 jack: Add new connection mode
Add a new connection mode to jacksrc and jacksink. In this new auto-force
connection mode jack will create as many ports as requested/needed in the
pipeline and will then connect as many physical ports as possible, possibly
leaving some ports unconnected.

Also get rid of some leftover g_print.

Fixes #575284.
2011-01-02 14:30:07 +00:00
Stefan Kost
fb03eb6bac ext/jack/: Query port latencies for sink/src delays.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c:
* ext/jack/gstjackaudiosrc.c:
Query port latencies for sink/src delays.
* ext/jack/gstjackbin.c:
No printf please.
2011-01-02 14:30:07 +00:00
Stefan Kost
7ba1bcb6aa Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2011-01-02 14:30:07 +00:00
Jan Schmidt
051dba6c01 Fix compiler warnings on OS/X
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (jack_process_cb):
* gst/rtpmanager/rtpjitterbuffer.c: (calculate_skew):
Fix compiler warnings on OS/X
2011-01-02 14:30:07 +00:00
Stefan Kost
e0d25d42db ext/jack/gstjackaudiosrc.c: Try committing this once again. Now properly renamed.
Original commit message from CVS:
* ext/jack/gstjackaudiosrc.c:
Try committing this once again. Now properly renamed.
2011-01-02 14:30:07 +00:00
Stefan Kost
37f51bb59d docs/plugins/: docs/plugins/inspect/plugin-jack.xml
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/gst-plugins-bad-plugins.interfaces:
* docs/plugins/gst-plugins-bad-plugins.prerequisites:
* docs/plugins/inspect/plugin-jack.xml
Add new element to docs.
* ext/jack/gstjack.h
Add missing file.
* ext/jack/gstjackaudiosrc.c:
* ext/jack/gstjackaudiosrc.h:
Rename jackaudiosrc to jack_audio_src.
2011-01-02 14:30:06 +00:00
Tristan Matthews
b34bd1425c ext/jack/: Add a jackaudiosrc. Refactor sink slightly for better code reuse.
Original commit message from CVS:
patch by: Tristan Matthews <tristan@sat.qc.ca>
* ext/jack/Makefile.am:
* ext/jack/gstjack.c:
* ext/jack/gstjackaudioclient.c:
* ext/jack/gstjackaudiosink.c:
* ext/jack/gstjackaudiosink.h:
* ext/jack/gstjackaudiosrc.c:
* ext/jack/gstjackaudiosrc.h:
* ext/jack/gstjackringbuffer.h:
Add a jackaudiosrc. Refactor sink slightly for better code reuse.
Fixes #545197.
2011-01-02 14:30:06 +00:00
Stefan Kost
d32bf24142 docs/plugins/: docs/plugins/inspect/plugin-mythtv.xml
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/gst-plugins-bad-plugins.interfaces:
* docs/plugins/gst-plugins-bad-plugins.prerequisites:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-alsaspdif.xml:
* docs/plugins/inspect/plugin-amrwb.xml:
* docs/plugins/inspect/plugin-app.xml:
* docs/plugins/inspect/plugin-bayer.xml:
* docs/plugins/inspect/plugin-bz2.xml:
* docs/plugins/inspect/plugin-cdaudio.xml:
* docs/plugins/inspect/plugin-cdxaparse.xml:
* docs/plugins/inspect/plugin-dtsdec.xml:
* docs/plugins/inspect/plugin-dvb.xml:
* docs/plugins/inspect/plugin-dvdspu.xml:
* docs/plugins/inspect/plugin-faac.xml:
* docs/plugins/inspect/plugin-faad.xml:
* docs/plugins/inspect/plugin-fbdevsink.xml:
* docs/plugins/inspect/plugin-festival.xml:
* docs/plugins/inspect/plugin-filter.xml:
* docs/plugins/inspect/plugin-flvdemux.xml:
* docs/plugins/inspect/plugin-freeze.xml:
* docs/plugins/inspect/plugin-gsm.xml:
* docs/plugins/inspect/plugin-gstinterlace.xml:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
* docs/plugins/inspect/plugin-h264parse.xml:
* docs/plugins/inspect/plugin-interleave.xml:
* docs/plugins/inspect/plugin-jack.xml:
* docs/plugins/inspect/plugin-ladspa.xml:
* docs/plugins/inspect/plugin-metadata.xml:
* docs/plugins/inspect/plugin-mms.xml:
* docs/plugins/inspect/plugin-modplug.xml:
* docs/plugins/inspect/plugin-mpeg2enc.xml:
* docs/plugins/inspect/plugin-mpeg4videoparse.xml:
* docs/plugins/inspect/plugin-mpegtsparse.xml:
* docs/plugins/inspect/plugin-mpegvideoparse.xml:
* docs/plugins/inspect/plugin-musepack.xml:
* docs/plugins/inspect/plugin-musicbrainz.xml:
* docs/plugins/inspect/plugin-mve.xml:
* docs/plugins/inspect/plugin-mythtv.xml
* docs/plugins/inspect/plugin-nas.xml:
* docs/plugins/inspect/plugin-neon.xml:
* docs/plugins/inspect/plugin-nsfdec.xml:
* docs/plugins/inspect/plugin-nuvdemux.xml:
* docs/plugins/inspect/plugin-oss4.xml
* docs/plugins/inspect/plugin-rawparse.xml:
* docs/plugins/inspect/plugin-real.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-rfbsrc.xml:
* docs/plugins/inspect/plugin-sdl.xml:
* docs/plugins/inspect/plugin-sdp.xml:
* docs/plugins/inspect/plugin-selector.xml:
* docs/plugins/inspect/plugin-sndfile.xml:
* docs/plugins/inspect/plugin-soundtouch.xml:
* docs/plugins/inspect/plugin-spcdec.xml:
* docs/plugins/inspect/plugin-speed.xml:
* docs/plugins/inspect/plugin-speexresample.xml:
* docs/plugins/inspect/plugin-stereo.xml:
* docs/plugins/inspect/plugin-subenc.xml
* docs/plugins/inspect/plugin-timidity.xml:
* docs/plugins/inspect/plugin-tta.xml:
* docs/plugins/inspect/plugin-vcdsrc.xml:
* docs/plugins/inspect/plugin-videosignal.xml:
* docs/plugins/inspect/plugin-vmnc.xml:
* docs/plugins/inspect/plugin-wildmidi.xml:
* docs/plugins/inspect/plugin-x264.xml:
* docs/plugins/inspect/plugin-xvid.xml:
* docs/plugins/inspect/plugin-y4menc.xml:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/dc1394/gstdc1394.c:
* ext/directfb/dfbvideosink.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/mplex/gstmplex.cc:
* ext/musicbrainz/gsttrm.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* gst-libs/gst/app/gstappsink.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/dvdspu/gstdvdspu.c:
* gst/festival/gstfestival.c:
* gst/freeze/gstfreeze.c:
* gst/interleave/deinterleave.c:
* gst/interleave/interleave.c:
* gst/modplug/gstmodplug.cc:
* gst/nuvdemux/gstnuvdemux.c:
Add missing elements to docs. Fix doc-markup: use convinience syntax
for examples (produces valid docbook), add several refsec2 when we
have several titles. Fix some types.
2011-01-02 14:30:06 +00:00
Stefan Kost
8909b106f0 Do not use short_description in section docs for elements. We extract them from element details and there will be war...
Original commit message from CVS:
* ext/dc1394/gstdc1394.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/metadata/gstmetadatademux.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* gst-libs/gst/app/gstappsink.c:
* gst/bayer/gstbayer2rgb.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/rawparse/gstaudioparse.c:
* gst/rawparse/gstvideoparse.c:
* gst/rtpmanager/gstrtpbin.c:
* gst/rtpmanager/gstrtpclient.c:
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/gstrtpptdemux.c:
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/gstrtpssrcdemux.c:
* gst/selector/gstinputselector.c:
* gst/selector/gstoutputselector.c:
* gst/videosignal/gstvideoanalyse.c:
* gst/videosignal/gstvideodetect.c:
* gst/videosignal/gstvideomark.c:
* sys/oss4/oss4-mixer.c:
* sys/oss4/oss4-sink.c:
* sys/oss4/oss4-source.c:
Do not use short_description in section docs for elements. We extract
them from element details and there will be warnings if they differ.
Also fixing up the ChangeLog order.
2011-01-02 14:30:06 +00:00
Wim Taymans
102b2e3fc4 ext/jack/gstjackaudiosink.c: Include the element name in the port name to avoid duplicate port names.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c:
(gst_jack_audio_sink_allocate_channels):
Include the element name in the port name to avoid duplicate port names.
2011-01-02 14:30:06 +00:00
Tim-Philipp Müller
d418db9aed ext/jack/gstjackaudiosink.c: Work around missing bits of thread-safety on older GLibs some more to avoid assertions w...
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (gst_jack_audio_sink_class_init):
Work around missing bits of thread-safety on older GLibs some
more to avoid assertions when starting up multiple playbin
objects concurrently (see #512382).
2011-01-02 14:30:06 +00:00
Sebastian Dröge
459484bc4d Use GST_LICENSE, GST_PACKAGE_NAME and GST_PACKAGE_ORIGIN instead of hardcoding values where possible. Fixes bug #522212.
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.c:
* ext/gsm/gstgsm.c:
* ext/jack/gstjack.c:
* ext/libmms/gstmms.c:
* ext/neon/gstneonhttpsrc.c:
* ext/shout/gstshout.c:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* gst/nuvdemux/gstnuvdemux.c:
* gst/tta/gsttta.c:
Use GST_LICENSE, GST_PACKAGE_NAME and GST_PACKAGE_ORIGIN instead
of hardcoding values where possible. Fixes bug #522212.
2011-01-02 14:30:06 +00:00
Stefan Kost
be5f69be58 ext/jack/gstjackaudiosink.c: Add stdlib include here too.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (gst_jack_ring_buffer_open_device),
(gst_jack_ring_buffer_acquire):
Add stdlib include here too.
2011-01-02 14:30:06 +00:00
Stefan Kost
5b2d689774 ext/jack/gstjackaudiosink.c: Try t better name clients. properly handle return codes when re- establishing links.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (gst_jack_ring_buffer_open_device),
(gst_jack_ring_buffer_acquire):
Try t better name clients. properly handle return codes when re-
establishing links.
2011-01-02 14:30:06 +00:00
Paul Davis
a70ffeed7c ext/jack/gstjackaudioclient.c: Don't need to take the connection lock, it will not be used and could cause deadlocks.
Original commit message from CVS:
Based on patch by: Paul Davis <paul at linuxaudiosystems dot com>
* ext/jack/gstjackaudioclient.c: (gst_jack_audio_unref_connection):
Don't need to take the connection lock, it will not be used and could
cause deadlocks.
2011-01-02 14:30:06 +00:00
Paul Davis
60bcffa5ef ext/jack/: Make an object to manage client connections to the jack server which we will use in the future to run sele...
Original commit message from CVS:
Includes patch by: Paul Davis <paul at linuxaudiosystems dot com>
* ext/jack/Makefile.am:
* ext/jack/gstjackaudioclient.c: (gst_jack_audio_client_init),
(jack_process_cb), (jack_sample_rate_cb), (jack_buffer_size_cb),
(jack_shutdown_cb), (connection_find),
(gst_jack_audio_make_connection), (gst_jack_audio_get_connection),
(gst_jack_audio_unref_connection),
(gst_jack_audio_connection_add_client),
(gst_jack_audio_connection_remove_client),
(gst_jack_audio_client_new), (gst_jack_audio_client_free),
(gst_jack_audio_client_get_client),
(gst_jack_audio_client_set_active):
* ext/jack/gstjackaudioclient.h:
Make an object to manage client connections to the jack server which we
will use in the future to run selected jack elements with the same jack
connection.
Make some stuff a bit more threadsafe.
Activate the jack client ASAP.
* ext/jack/gstjackaudiosink.c:
(gst_jack_audio_sink_allocate_channels),
(gst_jack_audio_sink_free_channels), (jack_process_cb),
(gst_jack_ring_buffer_open_device),
(gst_jack_ring_buffer_close_device),
(gst_jack_ring_buffer_acquire), (gst_jack_ring_buffer_release),
(gst_jack_audio_sink_class_init), (gst_jack_audio_sink_init),
(gst_jack_audio_sink_getcaps):
* ext/jack/gstjackaudiosink.h:
Use new client object to manage connections.
Don't remove and recreate all ports, try to reuse them.
2011-01-02 14:30:06 +00:00
Wim Taymans
b0bfe6fcdd ext/jack/gstjackaudiosink.*: Improve docs.
Original commit message from CVS:
* ext/jack/gstjackaudiosink.c: (jack_sample_rate_cb),
(jack_buffer_size_cb), (jack_shutdown_cb),
(gst_jack_ring_buffer_acquire):
* ext/jack/gstjackaudiosink.h:
Improve docs.
2011-01-02 14:30:06 +00:00
Jan Schmidt
8beff1f58c ext/jack/.cvsignore: Ignore old files as requested by the build slave.
Original commit message from CVS:
* ext/jack/.cvsignore:
Ignore old files as requested by the build slave.
2011-01-02 14:30:06 +00:00
Wim Taymans
e2546f8275 ext/Makefile.am: Fix build.
Original commit message from CVS:
* ext/Makefile.am:
Fix build.
* ext/jack/gstjackaudiosink.c: (jack_process_cb),
(jack_sample_rate_cb), (jack_buffer_size_cb), (jack_shutdown_cb),
(gst_jack_ring_buffer_acquire):
Small cleanups.
2011-01-02 14:30:06 +00:00
Wim Taymans
32aaf1e95d Added fully functional jackaudiosink.
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/jack/Makefile.am:
* ext/jack/gstjack.c: (plugin_init):
* ext/jack/gstjack.h:
* ext/jack/gstjackaudiosink.c: (gst_jack_ring_buffer_get_type),
(gst_jack_ring_buffer_class_init), (jack_process_cb),
(jack_sample_rate_cb), (jack_buffer_size_cb), (jack_shutdown_cb),
(gst_jack_ring_buffer_init), (gst_jack_ring_buffer_dispose),
(gst_jack_ring_buffer_finalize),
(gst_jack_ring_buffer_open_device),
(gst_jack_ring_buffer_close_device),
(gst_jack_ring_buffer_acquire), (gst_jack_ring_buffer_release),
(gst_jack_ring_buffer_start), (gst_jack_ring_buffer_pause),
(gst_jack_ring_buffer_stop), (gst_jack_ring_buffer_delay),
(gst_jack_connect_get_type), (gst_jack_audio_sink_base_init),
(gst_jack_audio_sink_class_init), (gst_jack_audio_sink_init),
(gst_jack_audio_sink_set_property),
(gst_jack_audio_sink_get_property), (gst_jack_audio_sink_getcaps),
(gst_jack_audio_sink_create_ringbuffer):
* ext/jack/gstjackaudiosink.h:
Added fully functional jackaudiosink.
2011-01-02 14:30:06 +00:00
Stefan Kost
8fa70e3622 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c: (gst_amrwbdec_class_init):
* ext/amrwb/gstamrwbenc.c: (gst_amrwbenc_class_init):
* ext/amrwb/gstamrwbparse.c: (gst_amrwbparse_class_init):
* ext/arts/gst_arts.c: (gst_arts_class_init):
* ext/artsd/gstartsdsink.c: (gst_artsdsink_class_init):
* ext/audiofile/gstafsink.c: (gst_afsink_class_init):
* ext/audiofile/gstafsrc.c: (gst_afsrc_class_init):
* ext/audioresample/gstaudioresample.c:
* ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init):
* ext/directfb/dfbvideosink.c: (gst_dfbvideosink_class_init):
* ext/divx/gstdivxdec.c: (gst_divxdec_class_init):
* ext/hermes/gsthermescolorspace.c:
(gst_hermes_colorspace_class_init):
* ext/ivorbis/vorbisfile.c: (gst_ivorbisfile_class_init):
* ext/jack/gstjack.c: (gst_jack_class_init):
* ext/jack/gstjackbin.c: (gst_jack_bin_class_init):
* ext/lcs/gstcolorspace.c: (gst_colorspace_class_init):
* ext/libfame/gstlibfame.c: (gst_fameenc_class_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_class_init):
* ext/nas/nassink.c: (gst_nassink_class_init):
* ext/shout/gstshout.c: (gst_icecastsend_class_init):
* ext/snapshot/gstsnapshot.c: (gst_snapshot_class_init):
* ext/sndfile/gstsf.c: (gst_sf_class_init):
* ext/swfdec/gstswfdec.c: (gst_swfdecbuffer_class_init),
(gst_swfdec_class_init):
* ext/tarkin/gsttarkindec.c: (gst_tarkindec_class_init):
* ext/tarkin/gsttarkinenc.c: (gst_tarkinenc_class_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_class_init):
* gst/chart/gstchart.c: (gst_chart_class_init):
* gst/colorspace/gstcolorspace.c: (gst_colorspace_class_init):
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_class_init):
* gst/festival/gstfestival.c: (gst_festival_class_init):
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init):
* gst/filter/gstiir.c: (gst_iir_class_init):
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init):
* gst/librfb/gstrfbsrc.c: (gst_rfbsrc_class_init):
* gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_class_init):
* gst/mpeg1sys/gstmpeg1systemencode.c:
(gst_system_encode_class_init):
* gst/mpeg1videoparse/gstmp1videoparse.c:
(gst_mp1videoparse_class_init):
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_class_init):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_class_init):
* gst/overlay/gstoverlay.c: (gst_overlay_class_init):
* gst/passthrough/gstpassthrough.c: (passthrough_class_init):
* gst/playondemand/gstplayondemand.c: (play_on_demand_class_init):
* gst/rtjpeg/gstrtjpegdec.c: (gst_rtjpegdec_class_init):
* gst/rtjpeg/gstrtjpegenc.c: (gst_rtjpegenc_class_init):
* gst/smooth/gstsmooth.c: (gst_smooth_class_init):
* gst/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init):
* gst/spectrum/gstspectrum.c: (gst_spectrum_class_init):
* gst/stereo/gststereo.c: (gst_stereo_class_init):
* gst/switch/gstswitch.c: (gst_switch_class_init):
* gst/tta/gstttadec.c: (gst_tta_dec_class_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_class_init):
* gst/vbidec/gstvbidec.c: (gst_vbidec_class_init):
* gst/videocrop/gstvideocrop.c: (gst_video_crop_class_init):
* gst/virtualdub/gstxsharpen.c: (gst_xsharpen_class_init):
* gst/y4m/gsty4mencode.c: (gst_y4mencode_class_init):
* sys/cdrom/gstcdplayer.c: (cdplayer_class_init):
* sys/directsound/gstdirectsoundsink.c:
(gst_directsoundsink_class_init):
* sys/dxr3/dxr3audiosink.c: (dxr3audiosink_class_init):
* sys/dxr3/dxr3spusink.c: (dxr3spusink_class_init):
* sys/dxr3/dxr3videosink.c: (dxr3videosink_class_init):
* sys/qcam/gstqcamsrc.c: (gst_qcamsrc_class_init):
* sys/v4l2/gstv4l2colorbalance.c:
(gst_v4l2_color_balance_channel_class_init):
* sys/v4l2/gstv4l2tuner.c: (gst_v4l2_tuner_channel_class_init),
(gst_v4l2_tuner_norm_class_init):
* sys/ximagesrc/ximagesrc.c: (gst_ximagesrc_class_init):
Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2011-01-02 14:30:05 +00:00
Thomas Vander Stichele
cef77bfc9c rework build; add translations for v4l2
Original commit message from CVS:
rework build; add translations for v4l2
2011-01-02 14:30:05 +00:00
Stefan Kost
c038b32b44 renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition
Original commit message from CVS:
* examples/indexing/indexmpeg.c: (main):
* ext/artsd/gstartsdsink.c: (gst_artsdsink_open_audio),
(gst_artsdsink_close_audio), (gst_artsdsink_change_state):
* ext/artsd/gstartsdsink.h:
* ext/audiofile/gstafparse.c: (gst_afparse_open_file),
(gst_afparse_close_file):
* ext/audiofile/gstafparse.h:
* ext/audiofile/gstafsink.c: (gst_afsink_open_file),
(gst_afsink_close_file), (gst_afsink_chain),
(gst_afsink_change_state):
* ext/audiofile/gstafsink.h:
* ext/audiofile/gstafsrc.c: (gst_afsrc_open_file),
(gst_afsrc_close_file), (gst_afsrc_change_state):
* ext/audiofile/gstafsrc.h:
* ext/cdaudio/gstcdaudio.c: (gst_cdaudio_init):
* ext/directfb/directfbvideosink.c: (gst_directfbvideosink_init):
* ext/dts/gstdtsdec.c: (gst_dtsdec_init):
* ext/jack/gstjack.h:
* ext/jack/gstjackbin.c: (gst_jack_bin_init),
(gst_jack_bin_change_state):
* ext/musepack/gstmusepackdec.c: (gst_musepackdec_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_init):
* ext/nas/nassink.c: (gst_nassink_open_audio),
(gst_nassink_close_audio), (gst_nassink_change_state):
* ext/nas/nassink.h:
* ext/polyp/polypsink.c: (gst_polypsink_init):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_change_state):
* ext/sdl/sdlvideosink.h:
* ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_init):
* ext/sndfile/gstsf.c: (gst_sf_set_property),
(gst_sf_change_state), (gst_sf_release_request_pad),
(gst_sf_open_file), (gst_sf_close_file), (gst_sf_loop):
* ext/sndfile/gstsf.h:
* ext/swfdec/gstswfdec.c: (gst_swfdec_init):
* ext/tarkin/gsttarkindec.c: (gst_tarkindec_init):
* gst/apetag/apedemux.c: (gst_ape_demux_init):
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxaparse_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_init):
* gst/festival/gstfestival.c: (gst_festival_change_state):
* gst/festival/gstfestival.h:
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_init):
* gst/multifilesink/gstmultifilesink.c: (gst_multifilesink_init),
(gst_multifilesink_set_location), (gst_multifilesink_open_file),
(gst_multifilesink_close_file), (gst_multifilesink_next_file),
(gst_multifilesink_pad_query), (gst_multifilesink_handle_event),
(gst_multifilesink_chain), (gst_multifilesink_change_state):
* gst/multifilesink/gstmultifilesink.h:
* gst/videodrop/gstvideodrop.c: (gst_videodrop_init):
* sys/cdrom/gstcdplayer.c: (cdplayer_init):
* sys/dxr3/dxr3audiosink.c: (dxr3audiosink_init),
(dxr3audiosink_open), (dxr3audiosink_close),
(dxr3audiosink_chain_pcm), (dxr3audiosink_chain_ac3),
(dxr3audiosink_change_state):
* sys/dxr3/dxr3audiosink.h:
* sys/dxr3/dxr3spusink.c: (dxr3spusink_init), (dxr3spusink_open),
(dxr3spusink_close), (dxr3spusink_chain),
(dxr3spusink_change_state):
* sys/dxr3/dxr3spusink.h:
* sys/dxr3/dxr3videosink.c: (dxr3videosink_init),
(dxr3videosink_open), (dxr3videosink_close),
(dxr3videosink_write_data), (dxr3videosink_change_state):
* sys/dxr3/dxr3videosink.h:
* sys/glsink/glimagesink.c: (gst_glimagesink_init):
* sys/qcam/gstqcamsrc.c: (gst_qcamsrc_change_state),
(gst_qcamsrc_open), (gst_qcamsrc_close):
* sys/qcam/gstqcamsrc.h:
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_init):
* sys/vcd/vcdsrc.c: (gst_vcdsrc_set_property), (gst_vcdsrc_get),
(gst_vcdsrc_open_file), (gst_vcdsrc_close_file),
(gst_vcdsrc_change_state), (gst_vcdsrc_recalculate):
* sys/vcd/vcdsrc.h:
renamed GST_FLAGS macros to GST_OBJECT_FLAGS
moved bitshift from macro to enum definition
2011-01-02 14:30:05 +00:00
Jan Schmidt
473a76d221 Fix up all the state change functions.
Original commit message from CVS:
Fix up all the state change functions.
2011-01-02 14:30:05 +00:00
Benjamin Otte
567ac42d7e fixes for G_DISABLE_ASSERT and friends
Original commit message from CVS:
* examples/dynparams/filter.c: (ui_control_create):
* examples/gstplay/player.c: (print_tag):
* ext/alsa/gstalsa.c: (gst_alsa_request_new_pad):
* ext/gdk_pixbuf/gstgdkanimation.c:
(gst_gdk_animation_iter_may_advance):
* ext/jack/gstjack.c: (gst_jack_request_new_pad):
* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list),
(tag_list_to_id3_tag_foreach), (gst_id3_tag_handle_event):
* ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_get_tag_value):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_get_tag_value):
* ext/xine/xineaudiodec.c: (gst_xine_audio_dec_chain):
* gst-libs/gst/media-info/media-info-test.c: (print_tag):
* gst/sine/demo-dparams.c: (main):
* gst/tags/gstvorbistag.c: (gst_tag_to_vorbis_comments):
* testsuite/alsa/formats.c: (create_pipeline):
* testsuite/alsa/sinesrc.c: (sinesrc_force_caps), (sinesrc_get):
fixes for G_DISABLE_ASSERT and friends
* gst/typefind/gsttypefindfunctions.c: (aac_type_find),
(mp3_type_frame_length_from_header), (mp3_type_find),
(plugin_init):
require mp3 typefinding to have at least MIN_HEADERS valid headers
add typefinding for AAC adts files
2011-01-02 14:30:04 +00:00
Stéphane Loeuillet
da195d3211 second batch : remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc (in ...
Original commit message from CVS:
second batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
(in gst-plugins/ext/ this time)
2011-01-02 14:30:04 +00:00
Thomas Vander Stichele
f88ab240e5 don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2011-01-02 14:30:04 +00:00
Johan Dahlin
44f714a5fd *.h: Revert indenting
Original commit message from CVS:
* *.h: Revert indenting
2011-01-02 14:30:04 +00:00
Thomas Vander Stichele
c2bcfc8446 gst-indent
Original commit message from CVS:
gst-indent
2011-01-02 14:30:04 +00:00
David Schleef
d952e72d42 Remove all usage of gst_pad_get_caps(), and replace it with gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
Original commit message from CVS:
Remove all usage of gst_pad_get_caps(), and replace it with
gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
2011-01-02 14:30:04 +00:00
David Schleef
9d2631e7d6 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2011-01-02 14:30:04 +00:00
Benjamin Otte
93cb77d0f0 removed GST_*_CAST. Disabling of type checking is done in glib.
Original commit message from CVS:
removed GST_*_CAST. Disabling of type checking is done in glib.
2011-01-02 14:30:04 +00:00
Andy Wingo
d8b76118bd remove copyright field from plugins
Original commit message from CVS:
remove copyright field from plugins
2011-01-02 14:30:03 +00:00
Ronald S. Bultje
56906e2c2e Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes fro...
Original commit message from CVS:
Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
2011-01-02 14:30:03 +00:00
Iain Holmes
04c63f1f5c Jack fixed too
Original commit message from CVS:
Jack fixed too
2011-01-02 14:30:03 +00:00
David Schleef
bc5b62d938 change gst/bytestream.h to gst/bytestream/bytestream.h
Original commit message from CVS:
change gst/bytestream.h to gst/bytestream/bytestream.h
2011-01-02 14:30:03 +00:00
Benjamin Otte
bbc133ec8f merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- all typefind functions are in gst/typefind now
- more typefind functions then before
- some plugins might fail to compile now because I don't have them installed and they
a) require bytestream or
b) haven't had their typefind fixed.
Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
2011-01-02 14:30:03 +00:00
Andy Wingo
45aedd595e /GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
Original commit message from CVS:
/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
2011-01-02 14:30:03 +00:00
Ronald S. Bultje
fc1b8b479f New typefind system: bytestream is now part of the core all plugins have been modified to use this new typefind syste...
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
2011-01-02 14:30:03 +00:00
Andy Wingo
b5802bdbb6 conform to the buffer-frames props entry -- much nicer now...
Original commit message from CVS:
conform to the buffer-frames props entry -- much nicer now...
2011-01-02 14:30:03 +00:00
David Schleef
b87729bd69 Remove redundant plugindir definition
Original commit message from CVS:
Remove redundant plugindir definition
2011-01-02 14:30:03 +00:00
Leif Johnson
25dd7cc50c + changes for new float caps without slope/intercept + some category changes for plugins
Original commit message from CVS:
+ changes for new float caps without slope/intercept
+ some category changes for plugins
2011-01-02 14:30:03 +00:00
Ronald S. Bultje
8bdd27fd62 New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as descri...
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
2011-01-02 14:30:03 +00:00
David Schleef
9a04390288 fix type punning
Original commit message from CVS:
fix type punning
2011-01-02 14:30:03 +00:00
Benjamin Otte
c28be5c967 compatibility fix for new GST_DEBUG stuff.
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h

I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
2011-01-02 14:30:03 +00:00
Wim Taymans
c48b1d6653 Removed ugly caps fixed flag hack, will be done automatically in core soon
Original commit message from CVS:
Removed ugly caps fixed flag hack, will be done automatically in
core soon
2011-01-02 14:30:03 +00:00
Andy Wingo
c357ceba44 update for the latest jack cvs and non-cothreaded gst scheduler
Original commit message from CVS:
update for the latest jack cvs and non-cothreaded gst scheduler
2011-01-02 14:30:02 +00:00
Jan Schmidt
a75afe6604 Changed caps->fixed to use FLAG_SET
Original commit message from CVS:
Changed caps->fixed to use FLAG_SET
2011-01-02 14:30:02 +00:00
Thomas Vander Stichele
5781a1a912 PadConnect -> PadLink
Original commit message from CVS:
PadConnect -> PadLink
2011-01-02 14:30:02 +00:00
Thomas Vander Stichele
79806375c4 another batch of connect->link fixes please let me know about issues and please refrain of making them yourself, so t...
Original commit message from CVS:
another batch of connect->link fixes
please let me know about issues
and please refrain of making them yourself, so that I don't spend double
the time resolving conflicts
2011-01-02 14:30:02 +00:00
Thomas Vander Stichele
e2c03f4e9c parallel install fixes
Original commit message from CVS:
parallel install fixes
2011-01-02 14:30:02 +00:00
Andy Wingo
cc1c7106c1 licenses again
Original commit message from CVS:
licenses again
2011-01-02 14:30:02 +00:00
Christian Schaller
c7692e1fbe plugins part of license field patch
Original commit message from CVS:
plugins part of license field patch
2011-01-02 14:30:02 +00:00
Ronald S. Bultje
3d25650da7 This updates all plugins to the new API for gst_pad_try_set_caps
Original commit message from CVS:
This updates all plugins to the new API for gst_pad_try_set_caps
2011-01-02 14:30:02 +00:00
Thomas Vander Stichele
bec3f5c03d removing warnings as approved by wim
Original commit message from CVS:
removing warnings as approved by wim
2011-01-02 14:30:02 +00:00
Andy Wingo
31295406d4 fix jack input port connection
Original commit message from CVS:
fix jack input port connection
2011-01-02 14:30:02 +00:00
Andy Wingo
925babbf2a compile fixen, and prepare to move MAINTAINER_MODE to as-version.m4
Original commit message from CVS:
compile fixen, and prepare to move MAINTAINER_MODE to as-version.m4
2011-01-02 14:30:01 +00:00
Andy Wingo
c2880b1c6d make jack work in all its full duplex glory
Original commit message from CVS:
make jack work in all its full duplex glory
2011-01-02 14:30:01 +00:00
Andy Wingo
af472ca88b working jack elements (fixed a problem in upstream jack) random other fixen...
Original commit message from CVS:
* working jack elements (fixed a problem in upstream jack)
* random other fixen...
2011-01-02 14:30:01 +00:00
Steve Baker
5789a18e0a use new bytestream api
Original commit message from CVS:
use new bytestream api
2011-01-02 14:30:01 +00:00
Andy Wingo
f11d85cec4 update to new jack api
Original commit message from CVS:
update to new jack api
2011-01-02 14:30:01 +00:00
Andy Wingo
b2ef7f9411 add some includes
Original commit message from CVS:
add some includes
2011-01-02 14:30:01 +00:00
Andy Wingo
e166e85ec1 better initialization. it doesn't work over here, though.
Original commit message from CVS:
better initialization. it doesn't work over here, though.
2011-01-02 14:30:01 +00:00
Andy Wingo
d9d5b97653 a commit so that jack will build without errors on Uraeus's system ;)
Original commit message from CVS:
a commit so that jack will build without errors on Uraeus's system ;)
2011-01-02 14:30:01 +00:00
Andy Wingo
35a88934f5 set caps once we know the sample rate of the system
Original commit message from CVS:
set caps once we know the sample rate of the system
2011-01-02 14:30:01 +00:00
Andy Wingo
fdd942826a some jack fixes, alsa touchups, and add rtp by default to the build if there are any problems building rtp, we're mov...
Original commit message from CVS:
some jack fixes, alsa touchups, and add rtp by default to the build

if there are any problems building rtp, we're moving it back to experimental ;)
2011-01-02 14:30:01 +00:00
Andy Wingo
1613f0e514 a hack to work around intltool's brokenness a current check for mpeg2dec details->klass reorganizations an element br...
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
2011-01-02 14:30:01 +00:00
Andy Wingo
6ef5499ab5 Finally we're on to a proper jack setup, with a specialized bin and elements that can only go in a jack bin. I had to...
Original commit message from CVS:
Finally we're on to a proper jack setup, with a specialized bin and elements
that can only go in a jack bin. I had to fix the parser first to do this, but
to run it, the syntax is like so:

gst-launch jackbin.( filesrc ! mad ! jacksink )

But of course it's not fully functional yet. Sigh.
2011-01-02 14:30:01 +00:00
Andy Wingo
a9161e1882 GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE same with *factory and typefind.
Original commit message from CVS:
GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE

same with *factory and typefind.

also, some -Werror fixes.
2011-01-02 14:30:00 +00:00
Andy Wingo
2d8f33b3e4 alphabetization fixen a jack caps fix
Original commit message from CVS:
* alphabetization fixen
* a jack caps fix
2011-01-02 14:30:00 +00:00
Andy Wingo
b3ce1be554 add notify back to filesrc, it's needed for MVC applications remove notify printouts from gst-launch cleanup in gst-p...
Original commit message from CVS:
* add notify back to filesrc, it's needed for MVC applications
* remove notify printouts from gst-launch
* cleanup in gst-plugins configure.ac
* some jack updates
* remove SELF_ITERATING flag in favor of SEF_SCHEDULABLE (not a clear name,
but it's what we have for the moment)
* improve parsing of request pad names, no more sscanf
* fixes to the fastscheduler Makefile.am
2011-01-02 14:30:00 +00:00
Andy Wingo
2f2a02b8a9 s/Gnome-Streamer/GStreamer/
Original commit message from CVS:
s/Gnome-Streamer/GStreamer/
2011-01-02 14:30:00 +00:00
Andy Wingo
fe8058a641 removal of //-style comments don't link plugins to core libs -- the versioning is done internally to the plugins with...
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
2011-01-02 14:30:00 +00:00
Andy Wingo
3b8cad1d49 s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/ @-substitued variables variables are defined as make variables automagi...
Original commit message from CVS:
s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/

@-substitued variables variables are defined as make variables automagically,
and this gives the user the freedom to say make GST_PLUGIN_LDFLAGS=-myflag
2011-01-02 14:30:00 +00:00
Andy Wingo
90ee1e400a s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way added jack ...
Original commit message from CVS:
* s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way
* added jack element, doesn't quite work right yet but i didn't want to lose the work -- it does build, register,
and attempt to run though
* imposed some restrictions on the naming of request pads to better allow for reverse parsing
* added '%s' to reverse parsing
* added new bin flag to indicate that it is self-iterating, and some lame code in gst-launch to test it out
* fixen on launch-gui
* added pkg-config stuff for the editor's libs
2011-01-02 14:30:00 +00:00
Tim-Philipp Müller
cfa7225898 cairo, videofilter: use gst/math-compat.h header for rint 2010-12-31 02:16:54 +00:00
David Schleef
954a04e2b5 cairo: Don't use #ifdefs inside macros 2010-12-30 14:21:37 -08:00
Andy Wingo
82ee35372b add "client" property
* ext/pulse/pulsesrc.c (gst_pulsesrc_class_init, gst_pulsesrc_init)
  (gst_pulsesrc_set_property, gst_pulsesrc_get_property)
  (gst_pulsesrc_open): Add a "client" property, as in pulsesink.

Fixes #634914
2010-12-29 17:02:40 +01:00
Thiago Santos
dcbba0932d jpegenc: sink pad's getcaps shouldn't use the src pad getcaps
Instead of using get_allowed_caps on the srcpad, the sinkpad getcaps
should use the getcaps of the srcpad's peer. This way the srcpad
can keep using fixed_caps and sinkpad getcaps exposes all caps
that can be negotiated

https://bugzilla.gnome.org/show_bug.cgi?id=637686
2010-12-21 15:23:11 -03:00
Mark Nauwelaerts
53b9f87436 pulsesink: flush remaining buffered samples on EOS
... which can make a difference between all or nothing when dealing
with short streams and relatively large ringbuffer segment.
2010-12-16 15:16:54 +01:00
Tim-Philipp Müller
addbc3c4ca jpegdec: add "max-errors" property to ignore decoding errors
Add property to ignore decoding errors. Default is to ignore a few
decoding errors if the input is packetized, but error out immediately
if the input is not packetized.

Ignoring errors for packetized input most likely doesn't work
properly yet, so don't do that for now.

https://bugzilla.gnome.org/show_bug.cgi?id=623063
2010-12-11 20:36:45 +00:00
Tim-Philipp Müller
100673bf14 jpegenc: free/malloc instead of realloc, avoids memcpy 2010-12-11 17:03:45 +00:00
Jan Schmidt
bead93ab7b pulsemixer: Implement MIXER_FLAG_AUTO_NOTIFICATIONS
Add the mixer flag and send notifications when either the volume or muted
status changes.

    https://bugzilla.gnome.org/show_bug.cgi?id=618389
2010-12-11 16:08:40 +11:00
Wim Taymans
8ca094795a pulsesink: don't uncork in _start
Don't uncork in the _start method just yet but wait until we have written some
samples to pulseaudio. This avoid underruns on pulseaudio and less crackling
noises when starting.
2010-12-07 12:39:27 +01:00
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