Commit graph

8912 commits

Author SHA1 Message Date
David Schleef
85aed94676 videomixer: orc_init() doesn't need to be called
There's no need to call orc_init() unless you're using the Orc
API directly.  All code created by orcc is guaranteed to work
without calling orc_init().
2010-09-05 18:45:21 -07:00
David Schleef
6143a60bdb deinterlace: Fix greedyl Orc implementation
To agree with the previous C/asm code.
2010-09-05 18:42:59 -07:00
Thiago Santos
de8fda9cc2 videomixer2: Fail when caps are incompatible
Do not forget to return false when caps are incompatible.
2010-09-05 22:34:36 -03:00
Thiago Santos
8435529073 videomixer: Only init orc if it is available
Put some ifdef around orc_init to prevent build errors
2010-09-05 20:56:52 -03:00
Sebastian Dröge
21fc0956d6 Automatic update of common submodule
From ec60217 to d3d9acf
2010-09-05 12:17:08 +02:00
David Schleef
6584c75afe deinterlace: Update disted Orc files 2010-09-04 12:46:31 -07:00
David Schleef
178c57be4f v4l2src: add decimate property 2010-09-04 12:39:26 -07:00
David Schleef
75d0795e53 dvdemux: Parse SMPTE time codes 2010-09-04 12:39:25 -07:00
David Schleef
f35d546c71 deinterlace: remove assembly code in favor of orc 2010-09-04 12:39:11 -07:00
David Schleef
02196850dd deinterlace: implement greedy in Orc 2010-09-04 12:39:11 -07:00
David Schleef
294d5c48da update disted Orc files 2010-09-04 11:43:21 -07:00
Thibault Saunier
08fd719898 alphacolor: Fix classification
This is no effect but a converter. Fixes bug #628608.
2010-09-04 14:55:43 +02:00
Sebastian Dröge
e79742205c videomixer2: Add documentation and add to the docs 2010-09-04 14:55:43 +02:00
Sebastian Dröge
bcfd60a8d2 videomixer2: Add videomixer2 element
This is based on collectpads2 and is synchronizing
all streams based on the running time.

New features compared to old videomixer:
 * Synchronizing frames on the running time
 * Improved and simplified negotiation
 * Full QoS support
 * Variable framerate support

Fixes bug #626048, #624905.
2010-09-04 14:52:11 +02:00
Pavel Kostyuchenko
6940559c46 matroskademux: Relax parsing of date tags
Before we required a complete date in matroskademux but in
id3demux for example only the year or year and month was possible too.

Fixes bug #628454.
2010-09-04 14:52:11 +02:00
Sjoerd Simons
e9a30e454a v4l2src: Use GstBaseSrc::block-size as fallback size 2010-09-04 14:52:11 +02:00
Sjoerd Simons
74d7521a7c v4l2src: Fix using mpegts via the mmap interface
MPEG doesn't have a static size per frame, so don't pretend it has one
and fail when capturing because it doesn't match. Instead mark the size
as unknown and let the read frame grabbing method use a reasonable fallback
value (assuming that's only for actual streaming formats)

Fixes bug #628349.
2010-09-04 14:52:11 +02: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
55a52262d3 wavparse: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:10 +02:00
Sebastian Dröge
d224251df4 rtspsrc: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS() 2010-09-04 14:52:10 +02:00
Sebastian Dröge
7fe34f3889 qtdemux: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:10 +02:00
Sebastian Dröge
e8743b3789 matroskademux: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:09 +02:00
Sebastian Dröge
1243b76df7 rndbuffersize: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:09 +02:00
Sebastian Dröge
78eca34a6d flvdemux: Don't use GST_FLOW_IS_FATAL() 2010-09-04 14:52:09 +02:00
Sebastian Dröge
1ce0b2dfc7 avidemux: Don't use GST_FLOW_IS_FATAL()
And document why wrong-state doesn't need an error message.
2010-09-04 14:52:09 +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
77c7f5fdcd videomixer: Update disted ORC files 2010-09-04 14:52:09 +02:00
Sebastian Dröge
6da14d0c41 videomixer: Optimize ARGB blending and implement BGRA blending with orc
This now means, that we have absolutely no handwritten assembly anymore
in videomixer and it's also faster now when using SSE.
2010-09-04 14:52:09 +02:00
David Schleef
7cfa519547 videomixer: Add orc implementation for blending
videomixer: Add orc implementation for blending
2010-09-04 14:52:08 +02:00
David Schleef
1ace738c3a videomixer: Fix example pipelines
videomixer: Fix example pipelines
2010-09-04 14:52:08 +02:00
Sebastian Dröge
89bb403ffc imagefreeze: Add test for checking if imagefreeze correctly returns UNEXPECTED after the first buffer 2010-09-04 14:52:08 +02:00
Sebastian Dröge
6b705ba6f5 imagefreeze: Add test for bufferalloc passthrough 2010-09-04 14:52:08 +02:00
Sebastian Dröge
5cd240952e imagefreeze: Fix race conditions in the unit test
If setting the pipeline to PLAYING before issuing the seek, buffers
are already arriving at the sink before the seek is handled and
will have the wrong timestamps and everything.

Fixes bug #625547.
2010-09-04 14:52:08 +02:00
Sebastian Dröge
86403e85c5 imagefreeze: Fix another subtle race condition related to starting the srcpad task
Due to a seek the srcpad task could be started in rare circumstances although
it shouldn't be started anymore because no upstream buffer is available.
2010-09-04 14:52:08 +02:00
Sebastian Dröge
e51fe6c181 imagefreeze: Protect the flushing-seek variable by the srcpad's stream lock
This fixes a subtle race condition, that caused bufferalloc to fail
with wrong-state due to a seek but caused it to be not retried as
it should.
2010-09-04 14:52:08 +02:00
Sebastian Dröge
d8ef9bb691 imagefreeze: Always generate a perfectly timestamped stream
Before there could be rounding errors when calculating the duration,
resulting in timestamp + duration being smaller than the next buffer's
timestamp.
2010-09-04 14:52:07 +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
Sebastian Dröge
95f5b494fa wavparse: Post an error message if EOS happens before valid input is found
Fixes bug #627341.
2010-09-04 14:52:06 +02:00